计算机应用 | 古代文学 | 市场营销 | 生命科学 | 交通物流 | 财务管理 | 历史学 | 毕业 | 哲学 | 政治 | 财税 | 经济 | 金融 | 审计 | 法学 | 护理学 | 国际经济与贸易
计算机软件 | 新闻传播 | 电子商务 | 土木工程 | 临床医学 | 旅游管理 | 建筑学 | 文学 | 化学 | 数学 | 物理 | 地理 | 理工 | 生命 | 文化 | 企业管理 | 电子信息工程
计算机网络 | 语言文学 | 信息安全 | 工程力学 | 工商管理 | 经济管理 | 计算机 | 机电 | 材料 | 医学 | 药学 | 会计 | 硕士 | 法律 | MBA
现当代文学 | 英美文学 | 通讯工程 | 网络工程 | 行政管理 | 公共管理 | 自动化 | 艺术 | 音乐 | 舞蹈 | 美术 | 本科 | 教育 | 英语 |

基于OpenGL及粒子系统的导弹爆炸仿真算法研究(

2015-06-04 02:32
导读:计算机应用论文论文,基于OpenGL及粒子系统的导弹爆炸仿真算法研究(在线阅读,教你怎么写,格式什么样,科教论文网提供各种参考范例: 摘 要 导弹爆炸是虚拟战场环境的重要组成部分。本文利用粒子
摘 要 导弹爆炸是虚拟战场环境的重要组成部分。本文利用粒子系统的基本原理,结合OpenGL的纹理映射技术,实现了导弹爆炸效果,并给出相应的原理、技术和实现算法。 关键词 粒子系统,导弹爆炸,纹理映射,算法1 引言 导弹爆炸具有不规则的几何外形和内在的不确定性,它不同于静态景物,具有产生、发展和消灭的历程。对此,计算机图形学采用粒子系统来描述。粒子系统根据粒子的产生、变化和消灭来描述导弹爆炸碎片的不规则变化,用粒子系统来表现能够达到很好的逼真效果。粒子系统的基本原理是用赋于某种属性的微小粒子的随机过程来描述动态景物的特征。本文利用粒子系统的原理,以OpenGL为开发工具,来绘制导弹爆炸效果,并给出其仿真算法。2 粒子系统基本原理简介 粒子系统方法是由Reevs V.T.于1983年首次提出的,现已广泛应用于模糊景物的模拟,如火焰、瀑布、雪花等。粒子系统方法的基本思想是用许多形状简单且赋予生命的微小粒子作为基本元素,把物体定义为许多不规则、随机分布的粒子,而每个粒子均有一定的生命期。随着时间的推移,旧的粒子不断消失,新的粒子不断加入,同时,与粒子有关的每个参数均受到一个随机过程的控制,以规定粒子在系统中的形状、特征和运动。 利用粒子系统方法描述事物,首先对所在描述的对象特性进行分析,包括对象的静态属性和动态属性;其次要对粒子系统进行绘制。具体步骤: (1)在系统中产生新粒子; (2)赋予每个粒子一定的静态属性; (3)删除在系统中已存在但超过其生命期的粒子; (4)根据剩余粒子的动态属性进行移动和变换; (5)显示具有生命的粒子所组成的图形3 导弹爆炸效果的仿真算法及绘制 本文以OpenGL为开发工具,对导弹爆炸效果进行模拟,其绘制过程中首先选取合适的纹理映射,然后定义粒子的基本属性,最后对爆炸效果进行绘制。3.1 指定OpenGL的纹理映射方式 首先,应选取合适的纹理图象进行纹理映射,包括确定纹理的映射方式、映射坐、映射激活等。OpenGL的纹理映射共有3种:1D纹理、2D纹理和3D纹理。使用纹理映射一般要执行以下几个步骤: (1)指定纹理。在使用纹理之前,首先应根据模拟对象的特点对纹理进行定义。本文使用2D纹理,调用函数glTexImage2D()。 (2)指定纹理映射方式。本文采用GL_BLEND融合方式,该模式利用纹理将纹理颜色同物体颜色进行融合。OpenGL中使用glTexenv()函数中的变量来设置纹理的映射方式。 (3)激活纹理。在OpenGL中使用glEnable()和glDisable()函数来打开和关闭纹理映射。 (4)指定纹理坐标和几何坐标,绘制场景。纹理坐标是将纹理图像的一个特殊位置与多边形的顶点相关联。在OpenGL中,对2D纹理,glTexCoord2D()函数中指定的坐标将与由glVentex()函数指定的几何坐标相关联。3.2 定义基本粒子属性 在粒子系统算法中,新产生的粒子数目由下式确定: ParaNum=MeanParaNum Rand()Var(ParaNum) 其中,ParaNum为某一时刻生成粒子的数目; Rand()为[-1 1]中均匀随机数函数; MeanParaNum为参数的均值,代表新粒子的平均数; Var(ParaNum)为参数的方差,代表新粒子的方差。根据给定粒子的均值和方差,利用上式就可以得到所需的粒子数。然后根据模拟对象的具体特点,使用函数glVertex3d()定义一个三角形。应用粒子系统的基本原理,赋予该三角形位置、颜色、生存期、速度大小、速度方向等属性,来模拟事物的动态效果。然后贴上纹理,即三角形的顶点坐标与纹理图象的坐标相对应。3.3 导弹爆炸效果的绘制 粒子系统是一种过程模型,即利用各种计算过程生成模型各个体素的建模技术。在设计爆炸时首先考虑到粒子的生成,然后从粒子源不断地发出粒子,粒子在运动中设置其速度、方向、颜色的淡化,最终形成爆炸效果。 在具体编程实现时,首先对爆炸粒子数据结构进行定义,其数据结构包括粒子的生命期、运动速度、运动方向、位置坐标和类型等参数。定义粒子数据结构如下:typedef struct { bool active; float x,y,z; //粒子位置坐标 float dx,dy,dz; //粒子方向增量 float dim; //粒子生命期 float ddim; //粒子生命变化量 共2页: 1 [2] 下一页 论文出处(作者):
上一篇:医学信息学研究进展(1) 下一篇:没有了