计算机图形学论文应用OpenGL绘制三维场景中碰撞检测模型的方法_第1页
计算机图形学论文应用OpenGL绘制三维场景中碰撞检测模型的方法_第2页
计算机图形学论文应用OpenGL绘制三维场景中碰撞检测模型的方法_第3页
计算机图形学论文应用OpenGL绘制三维场景中碰撞检测模型的方法_第4页
计算机图形学论文应用OpenGL绘制三维场景中碰撞检测模型的方法_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、三维图形设计课程设计论文姓名 唐旭 班级 1201 学号 目录摘要-绪论-一正文-1.1设计目的- 1.2系统设计- 1.3系统结构框图- 1.4实现思路- 1.5系统功能流程图- 1.6实现步骤- 1.7调试运行-二、设计总结-三、参考文献-附录-中文摘要本文介绍了应用OpenGL绘制三维场景中碰撞检测模型的方法。该模型绘制了三维场景中的窗口边框、球体以及空间中运动的方块,其中窗口边框和位于场景中心的球体的位置是确定的,通过计算方块在空间中的位置坐标来实现碰撞检测的功能。在此基础上,利用OpenGL库中提供的光照模型、纹理贴图、菜单响应以及时间定时器等相关函数,使得该模型真实感更强,可视化效

2、果更好。关键字:OpenGL 三维场景 碰撞检测 绪 论在计算机发展初期,人们就开始从事计算机图形的开发。直到计算机硬软件和计算机图形学高度发达的九十年代,人们发现复杂的数据以视觉的形式表现时是最易理解的,因而三维图形得以迅猛发展,于是各种三维图形工具软件包相继推出,如PHIGS、PEX、RenderMan等。这些三维图形工具软件包有些侧重于使用方便,有些侧重于渲染效果或与应用软件的连接,但没有一种三维工具软件包在交互式三维图形建模能力、外部设备管理以及编程方便程度上能够OpenGL相比拟。OpenGL经过对GL的进一步发展,实现二维和三维的高级图形技术,在性能上表现得异常优越,它包括建模、变

3、换、光线处理、色彩处理、动画以及更先进的能力,如纹理影射、物体运动模糊等。OpenGL的这些能力为实现逼真的三维渲染效果、建立交互的三维景观提供了优秀的软件工具。OpenGL在硬件、窗口、操作系统方面是相互独立的。许多计算机公司已经把OpenGL集成到各种窗口和操作系统中,其中操作系统包括UNIX、Windows NT、DOS等,窗口系统有X窗口、Windows等。为了实现一个完整功能的图形处理系统,设计一个与OpenGL相关的系统结构为:其最底层是图形硬件,第二层为操作系统,第三层为窗口系统,第四层为OpenGL,第五层为应用软件。OpenGL是网络透明的,在客户服务器(Client-Ser

4、ver)体系结构中,OpenGL允许本地和远程绘图。所以在网络系统中,OpenGL在X窗口、Windows或其它窗口系统下都可以以一个独立的图形窗口出现。OpenGL作为一个性能优越的图形应用程序设计界面(API)而适合于广泛的计算环境,从个人计算机到工作站和超级计算机,OpenGL都能实现高性能的三维图形功能。由于许多在计算机界具有领导地位的计算机公司纷纷采用OpenGL作为三维图形应用程序设计界面,OpenGL应用程序具有广泛的移植性。因此,OpenGL已成为目前的三维图形开发标准,是从事三维图形开发工作的技术人员所必须掌握的开发工具。本文就基于OpenGL的优点,讲述如何在三维场景中绘制

5、一个碰撞检测模型。首先,本文讲述此设计的目的解决目前网络上游戏中的避障检测以及应用计算机智能化地解决一些现实中棘手的问题;其次,介绍该碰撞检测模型具体如何实现这一功能的设计思路以及系统结构框架;最后,对此设计模型作总结。正文部分1.1设计目的基于现代网络游戏场景中的碰撞现象及计算机智能化技术的发展,此设计模型的目的是用于解决目前网络游戏中的避障检测以及应用计算机智能化地解决一些现实中棘手的问题,如避障小车走迷宫、探测机器人的臂障导航。1.2系统设计 此设计主要应用了OpenGL在三维场景中绘制碰撞检测模型。该模型绘制了三维场景中的窗口边框、球体以及空间中运动的方块,其中窗口边框和位于场景中心的

6、球体的位置是确定的,通过计算方块在空间中的位置坐标来实现碰撞检测的功能。在程序中主要利用void TimerFunction(int value)函数来定义碰撞检测功能,在main函数中通过调用glutTimerFunc(20, TimerFunction, 1);函数实现碰撞检测的功能。在此基础上,利用OpenGL库中提供的光照模型、纹理贴图int LoadGLTextures()、菜单响应createGLUTMenus();以及时间定时器等相关函数,使得该模型真实感更强,可视化效果更好。三维场景初始化绘制球体绘制窗框绘制方块创建颜色菜单显示窗口发生变化屏幕显示1.3系统结构框图 1.4实现

7、思路此模型绘制了三维场景中的窗口边框、球体以及空间中运动的方块,其中窗口边框和位于场景中心的球体的位置是确定的,通过计算方块在空间中的位置坐标来实现碰撞检测的功能。在程序中主要利用void TimerFunction(int value)函数来定义碰撞检测功能,在main函数中通过调用时间定时器函数glutTimerFunc(20, TimerFunction, 1)实现碰撞检测的功能。此功能的主要算法是通过三维场景中坐标系的简历来计算方块左下角的坐标,并与窗口边框坐标和球体表面上坐标进行比较,判断是否会发生碰撞。若发生碰撞,则控制方块各轴方向的坐标递减一个单位长度;反之,各轴坐标递增一个单位

8、长度。这样,此程序就可以实现该场景中的碰撞检测功能。在此基础上,利用OpenGL库中提供的光照模型、纹理贴图int LoadGLTextures()、菜单响应createGLUTMenus();以及时间定时器等相关函数,使得该模型真实感更强,可视化效果更好,人机交互性更好,更方便。1.5系统功能流程图开始初始化判断碰撞检测绘制基本图形方块反弹继续前进结束否是1.6实现步骤 (1)、首先,对三维场景初始化,如定义光源、纹理、裁剪区、视口区等等。 (2)、其次,绘制窗口边框、方块、球体这些基本图形。 (3)、再次,创建颜色菜单改变球体和方块的颜色。 (4)、通过判断方块左下角坐标与窗口边框和球面坐标的大小关系来检测是否会发生碰撞。并且,当窗口大小改变时,重新初始化窗口大小。(5)、最后,屏幕显示绘制的图形效果。1.7调试运行 通常,调试时最常见的错误是预编译头文件未定义或者无法打开。调试方法是:选择“工程”下“设置”,在“设置”下“C/C+”下选择“分类预编译头文件”,然后再选择“自动使用预补偿页眉”,最后,“确定”。这样就可以了。 设计总结通过此次三维图形设计,我深切体会到建立三维空间坐标系的重要性。它的重要性不逊色于“无规矩不成方圆”中的“规矩”。有了坐标系,所绘制的图形在空间中的位置也就确定了。这样,可以使绘制

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论