基于OPENGL的陨石爆炸视景仿真系统开发毕业论文
2021-06-25 00:25:05
摘 要
爆炸这一现象在现实生活中并不少见,但它的瞬时性和破坏性使得在对其产生的后果进行评估时极具难度,因此,用视景仿真来对爆炸产生破坏的结果进行预估是经济且有意义的。本次设计只是对爆炸中的其中一种情形——陨石爆炸的研究,由于爆炸后陨石形状的多变及不可测性,采用常规几何图形来模拟很难实现,而粒子系统可以提供较完美的解决方案。
本次设计在VC 6.0平台上采用OpenGL图形接口,实现了陨石爆炸视景仿真。论文介绍了系统总体设计,粒子系统为核心的绘制算法,纹理贴图,交互功能等实现的技术和方法。本次设计的实现较为良好的模拟了陨石爆炸效果,重点讨论了陨石爆炸后的碎片粒子做匀加速运动的轨迹,观察效果良好。
关键词:OpenGL;陨石爆炸仿真;粒子系统;交互性;
Abstract
The phenomenon explosion is not uncommon in real life, but it's so difficult to evaluate the consequences of explosion because of its instantaneousness and destructivity. Therefore, to forecast the results of the destruction from explosion with producing a visual simulation is economic and meaningful. This design, study of meteorite explosion, is just one case of the explosions. Considering that the shape of the meteorite is changeable and unpredictable after exploding, the use of conventional geometry to simulate is difficult to achieve, and the particle system can provide a more perfect solution.
The OpenGL graphics interface is used on VC 6.0 platform bring about the meteorite explosion scene simulation in this design. This paper introduces the technology and methods of system design, the core of the particle system rendering algorithm, texture mapping, and other interactive features implemented. Realization of this design more well simulate the effect of meteorite explosions, using uniformly accelerated motion focuses on the trajectory of the meteorite particles after the explosion, and the observed effect is good.
Key Words:OpenGL; meteorite explosion simulation; particle system; interactivity;
目录
第一章 绪论 1
1.1 陨石爆炸视景仿真研究的目的及意义 1
1.2 国内外研究现状 2
1.3 本文研究主要内容 2
第二章 系统分析与设计 3
2.1 开发平台选择 3
2.1.1 选择Visual C 6.0作为开发平台 3
2.1.2 选用OpenGL作为视景模拟图形接口 3
2.2 系统开发关键技术 4
2.2.1 双缓冲技术 4
2.2.2 纹理映射 5
2.2.3 粒子系统 5
2.3 系统总体设计流程 7
第三章 系统功能实现 8
3.1 系统框架搭建 8
3.2 背景设计 10
3.3 陨石爆炸前绘制 10
3.3.1 陨石球体绘制 11
3.3.2 陨石纹理映射 12
3.4 粒子系统技术进行陨石爆炸后绘制 13
3.4.1 粒子数据结构的定义 13
3.4.2 粒子的初始化 14
3.4.3 粒子的运动轨迹 15
3.4.4 粒子的消亡 18
3.4.5 粒子的绘制 18
3.5 系统交互式控制的实现 19
3.5.1 场景视角的切换 20
3.5.2 纹理切换 20
第四章 功能测试 22
4.1 系统基本功能 22
4.1 视点变换 23
4.1.1 视点远近变化 23
4.1.2 视点旋转变化 24
4.2 纹理切换 25
4.3 爆炸参数改变 26
总结 27
致谢 28
参考文献 29
第一章 绪论
陨石爆炸的仿真广泛应用于电影特效、游戏制作及天文研究等方面,在现今爆炸力学的研究中也做出了一定贡献。本次设计的内容是陨石爆炸仿真系统的实现,在学习掌握OpenGL相关编程知识的基础上,仔细分析研究了陨石爆炸仿真的意义及目的,并总结国内外的研究现状,完成了陨石爆炸视景仿真,成功实现了陨石爆炸效果的模拟及其交互式控制。
1.1 陨石爆炸视景仿真研究的目的及意义
爆炸是一种急剧的物理变化或化学反应,爆炸物在释放大量能量的同时,导致四周气体急剧膨胀,并对四周介质所机械功,过程当中大多伴随猛烈发光、放热和声响的现象。陨石爆炸就是一种影响范围极大,破坏力极强的急剧物理变化。历史上较为有名的十大爆炸记录中半数均与天体物质有关,如K-T陨星在大约6500万年前对地球的大碰撞,地球上半数以上物种因此灭绝,恐龙时代就此结束;再比如说1994年,“苏梅克-列维九号”彗星撞击木星事件,彗星撞击时速率到达每秒60千米,与木星概况产生21次猛烈碰撞,裂解成21个陨石碎片,以后又以相同高速再次撞向木星,爆发出的能量相当于5亿颗广岛原子弹同时爆炸。因此,如何模拟爆炸,计算爆炸的影响范围,估算出爆炸所带来的伤害与损失具有重要意义。
本次设计的陨石爆炸仿真是对爆炸领域的一种初步探索和尝试。陨石爆炸场景在很多科幻或灾难电影中早已屡见不鲜,它能给人以真实震撼的视觉感官效果;同时,陨石爆炸在天体运动中也是一种常见现象,观察与研究陨石爆炸对了解天体运行轨迹是必不可少的。因此,逼真合理的陨石爆炸仿真,无论是在经济生活的应用中,还是在天文地理的研究中,都有着不可忽视的作用。
本文主要使用OpenGL图形库进行陨石爆炸视景仿真模拟。OpenGL可实现高性能的三维图形,科学可视化仿真,推动模拟显示技术的快速发展。可视化系统拥有能最直观形象的观察仿真结果的优点,能够帮助技术人员一定程度上的提高设计水平,减少或避免错误的发生,是以基于计算机图形技术的可视化体系在各行业、各领域内都得到了越发广泛地利用。都说21世纪各领域科技将在虚拟现实飞速发展的条件下不断实现跨越式进步,因此,积极推进计算机图形领域的研究建设将对于加速我国的经济发展、深入科学探究具有重要的现实意义。
1.2 国内外研究现状
计算机仿真技术广泛应用于军事、教育、计算机游戏 、影视、视景仿真等各种领域以及网络虚拟环境中,它以计算机为基础,按照问题对象的实际要求,建立符合实际的数学模型,最后转换成仿真模型[1]。计算机仿真可在各种决策问题下,通过计算机系统的运行示范,如实地反映在计算机屏幕上的抽象问题。
视景仿真作为计算机仿真技术的主要钻研与利用范畴,如今在我国已普遍被运用在各种应用或科研领域。而在国外,视景仿真作为如今最先进的虚拟现实技术中关键系部分,已实现了重大突破,在如数字头盔、数据手套等产品的应用中可见一斑。
陨石爆炸视景仿真就目前在国内外来说非常少见,只有在爆炸力学相关的仿真软件中略有涉及。当然,本文研究的陨石爆炸视景仿真只是视景仿真技术中的初级阶段,可以称作仿真动画,即最为直接的表现模型行为的图形技术方法,无论是在相关技术上还是专业性上都有所欠缺。此次视景仿真系统是视景仿真技术的初步探究,为以后跟深入的研究计算机图形学与仿真技术打下基础。
1.3 本文研究主要内容
本次设计的内容是陨石爆炸仿真系统的实现,系统功能分为程序框架搭建、三维建模、视景驱动三部分。包括搜集或绘制纹理图片;采用粒子系统模型生成陨石;分别采用二次曲面绘制技术和多个多边形绘制技术进行爆炸前与爆炸后陨石的绘制;背景生成;搭建交互式界面控制运动参数,交互式控制陨石爆炸效果。
本文第一章通过确立陨石爆炸视景仿真研究的背景、目的和意义,并总结国内外研究现状,确定了本文研究的具体内容。
根据第一章确立的研究内容,本文第二章总结出实现系统功能所需要的开发平台及相关技术,并在其基础上对系统开发流程做出了相关设计。
第三章用来据悉阐述系统的实现过程,具体内容包括:系统框架搭建、场景生成、陨石爆炸前后的绘制及最后的交互控制实现。