基于OPENGL的火焰视景仿真系统开发毕业论文
2021-09-25 20:13:48
摘 要
本文采用Visual C 6.0中OpenGL图形接口实现了火焰视景仿真系统。火焰的仿真以及其它自然界流动性物体(如水、雾等)的仿真一直是计算机图形学中具有挑战性的问题。火焰仿真可以让我们在火灾事故分析研究中能够更准确的预测。火焰没有固定的形状,我们不能通过常用的曲线来构造火焰。如何使用尽可能小的代价来模拟更为真实的火焰,也是目前研究的重点之一。
本课题分别采用了纹理坐标变换和粒子系统的方法实现了火焰的模拟。纹理坐标变换采用了随机函数完成了纹理的初始化,并且通过坐标变换完成了二维火焰的绘制。其中,基于粒子系统的火焰模拟是本次设计的重点。本文讨论了采用粒子系统进行火焰模拟的方法,介绍了为了增强真实感而采用的纹理映射,混色处理等技术,详细讨论了火焰粒子的建模与绘制的原理和实现过程。利用OpenGL良好的交互性特征,设计了键盘和鼠标的交互式控制,实现了火焰颜色选择,形状变化,视角远近切换,地面旋转等一些交互功能。
关键词:火焰仿真;纹理坐标;粒子系统;交互性;OpenGL;
Abstract
The OpenGL graphic interfaces in Visual C 6.0 are used to realize flame visual simulation system in this paper. Flame simulation and other nature liquidity objects (such as water, fog, etc.) of the simulation have been a challenging problem in computer graphics. Flame simulation can help us predict more accurate in the study of fire accident. For the flame, which has no definite shape; we can't use the common curve to construct flame. The cost of realistic fire simulating is also a high problem.
The texture transformation and particle system are used to realize the simulation of the fire here respectively. The method of Texture coordinate transformation is to use the random function to complete the initialization and through the coordinate transformation completed the 2D drawing of a fire. Among the two methods, the flame simulation based on particle system is more important. This article discussed the way that the particle system is adopted to improve the flame simulation and the texture mapping and mixed color processing technologies which enhance the reality of flame simulation, procedure of modeling and rendering in flame simulation system are also expounded in detail. OpenGL has good interactive features, the interactive control of the keyboard and mouse are used to realize some interactive functions such as color choices, shape change, the angle of view and switch, the ground rotation.
Key Words:Flame simulation; texture coordinate; particle system; interaction; OpenGL;
目 录
第1章 绪论 1
1.1 研究的目的及意义 1
1.2 国内外相关研究现状 1
1.3 本文的主要内容 2
第2章 系统分析与设计 4
2.1 系统总体功能设计 4
2.2 火焰绘制算法的选用 4
2.3 开发平台的选择 5
2.3.1 使用OpenGL作为视景模拟图形接口 5
2.3.2 使用Visual C 6.0作为开发平台 7
2.4 OpenGL几何变换的应用 8
2.5 纹理变换火焰模拟系统设计 9
2.6 火焰粒子系统设计 10
2.6.1 火焰模拟算法 12
2.6.2 交互式功能设计 14
第3章 系统实现 15
3.1 视景系统框架搭建 15
3.2 显示窗口生成 17
3.3 纹理变换实现火焰视景 18
3.3.1 系统初始化模块 19
3.3.2 纹理变换模块 19
3.3.3 交互式功能模块 20
3.4 粒子系统实现火焰视景 20
3.4.1 粒子生成模块 21
3.4.2 粒子运动模块 23
3.4.3 纹理模块 24
3.4.4 交互式功能模块 27
第4章 功能测试 29
4.1 纹理映射方式结果与分析 29
4.2 粒子系统结果与分析 30
4.2.1 火焰颜色的选择 31
4.2.2 火焰形状的变化 33
4.2.3 火焰视角远近的切换 34
4.2.4 火焰蔓延速度的调节 35
4.2.5 地面操作 35
第5章 总结 37
参考文献 38
致 谢 39
绪论
火焰仿真在灾害预测,游戏场景,电影特效等方面十分重要,而且目前仍然是图形学中具有挑战性的问题。在通过对火焰仿真的意义及目的分析研究后,并在总结国内外研究现状的基础上,完成了对火焰视景仿真的设计,成功实现了火焰效果。
研究的目的及意义
据公安部消防局2015年最新数据统计,2015年全年共发生火灾33.8万起(全国),共造成2854人伤亡,直接造成经济损失39.5亿元。可以看出火灾等一些自然灾害对于我们的生活有着不可忽视的威胁,直接的经济损失姑且不计,这些事故灾害对我们的身心健康是无法估量的。因此如何在事故发生后准确的控制尤为重要。在生活中,我们常常使用经验来做出行动,但这些行动是否正确,是否有效,往往需要多次事故的发生才能得出结论。在如今,物联网这一领域的飞速发展,使得一些消防系统趋于智能化,而其中算法的实现如果可以采用数以万计的仿真后得出的结论,就可以让我们根据不同的情况,分析各种不同的因素对火灾产生什么样的影响,从而使我们以最高的效率解决这一问题。
如何能更真实的模拟火焰,不仅仅在其外形参数上,更重要的是完成火焰流动方向的模拟,这种火焰视景的仿真能够让我们对不可预测的领域有一个相对准确的预测,也更能准确的防治自然灾害的扩散。并且三维模型无论在直观视觉感受上还是空间分析方面都具有突出优势[1]。能够使我们对其有深刻的认识并加以理解。而交互式在火焰仿真也具有重要的意义,如何有效的改变火焰参数达到相应的控制条件,通过单一或多种参数变量的改变,来进行不同场景下的研究具有十分重要的意义。而且在交互性的设计上要具有易于交互的特点,也是满足当前人们对系统的体验要求。
国内外相关研究现状
火焰场景的应用可以是多方面的,在近些年以来,电影行业的兴起,可以说给技术仿真带来了一系列福音,电影制作特效方面一直以来应用广泛;在游戏制作上,各种以Linux为基础的应用软件也不断壮大,各种三维游戏开发开始普遍起来,这一切都归功于Linux系统的宣传和推广。