欢迎来到天天文库
浏览记录
ID:5997680
大小:27.50 KB
页数:6页
时间:2017-12-30
《基于粒子系统自然环境特效仿真》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、基于粒子系统自然环境特效仿真 摘要:基于粒子系统的特效仿真是虚拟自然环境可视化仿真中的一个重要环节。阐述了粒子系统原理,根据粒子系统原理为虚拟自然环境中爆炸、火焰、烟雾、雨雪等不规则景物建立了粒子系统模型,分析了基于粒子系统特效仿真中的动态链表、三角函数链表、实时性等关键技术。关键词关键词:自然环境;粒子系统;特效仿真中图分类号:TP317.4文献标识码:A文章编号文章编号:16727800(2013)008015302作者简介作者简介:汪永刚(1989-),男,武警工程大学硕士研究生,研究方向为计算机仿真;葛卫丽(1962-),女,武警工程大学副教授,研究方向为指挥信息系统、
2、计算机仿真。0引言虚拟自然环境是场景仿真的重要基础。在计算机仿真中,虚拟自然景物能否更好地可视化直接影响用户的使用反馈。仿真不规则物体,是可视化计算机仿真的难点,因其外观特征极不规则,表面不光滑,而且具有复杂与随意变化过程,这使得用经典的欧几里德几何学对其描述显得无能为力。6尽管如此,国内外学者先后提出了粒子系统模型、细胞自动机模型、分形模型等表示不规则模糊物体的理论,其中W.T.Reeves提出的粒子系统理论较为成功。粒子系统就是由大量粒子集合在一起表现不规则物体的计算机模拟系统[1]。如今,粒子系统已经应用在可视化虚拟环境仿真的各个方面,虚拟的雨雪、烟雾等特效是实现逼真的虚拟
3、自然环境中不可或缺的一部分,也是粒子系统运用的主要领域。1粒子系统原理粒子系统对景物的绘制不同于以往造型、绘制系统的方法,它不是一个静态模型,而是一种过程模型。如果可以找到有效的物理或生理过程,不规则物体的行为分析和建模将变得很简单,只要实现实时的物理几何模型即可。一个粒子系统可由多个称为粒子的元素组成,每个粒子均具有形状、大小、运动方向、生存周期等属性,而一个粒子具有的属性取决于粒子系统所模拟的物体。粒子系统是一个动态变化的系统,每时每刻都有新粒子产生以及旧粒子死亡。系统中的粒子的各类信息都随时间而改变,粒子的初始状态、运动规律影响粒子的正确运行。我们可以通过控制粒子的属性和变
4、化过程来模拟一些动态自然物体。粒子系统的实现需要以下5个步骤:①新粒子产生并具有新属性后进入系统;②结合粒子的动态特征对粒子进行诸如移动和变换之类的操作,同时改变粒子属性;③判断活动粒子的实时生命值;④删除超过其生命周期的粒子;⑤绘制并显示由系统中粒子所组成的图形。62不规则物体粒子系统模型在可视化仿真自然环境中,爆炸、火焰、雨雪等许多特效都可以用粒子系统来实现,本文选择烟雾和雨雪进行介绍。2.1烟雾粒子模型2.1.1烟的行为过程描述模拟烟的行为,基础在于研究与烟行为有关的因素。对烟的运动产生决定性影响的因素有烟粒子的运动速度和温度。第一是烟粒子的速度,当烟进入空气后,它会与空气
5、摩擦,空气对烟有一个力的作用从而产生一种湍流效果;第二则是烟粒子的温度,烟雾中温度高的上升速度快,温度较低的上升速度慢,不同温度会造成烟内部的扩散[2]。2.1.2烟雾运动物理方程描述采用物理学方法,对烟雾粒子进行物理描述。可以认为烟是不可压缩的气体,用N-S方程可描述为:=v▽·(▽u)﹣(u·▽)u(1)以上方程中,T(t)为烟粒子温度,M为粒子浮力参数,Tc为外界温度。方程组(1)~(3)在理论上可以求解,但计算很复杂。分析烟粒子的运动可知,烟粒子浮力fe起主要作用,故可以在整个过程只考虑烟粒子浮力的作用。同时,可以通过动态烟粒子纹理映射技术来体现烟雾的变化。2.1.3烟雾
6、粒子运动简化6简化后的烟粒子运动方程满足等式:Ma(t)=f(t),a(t)=dv(t)/dt,v(t)=ds(t)/dt。其中,M表示烟粒子的质量,a(t)为粒子加速度,s(t)为粒子的位置,f(t)表示粒子所受到的浮力。此时可求出粒子在任意时刻的速度、位置。2.2雨雪粒子模型2.2.1静态属性雨雪粒子的静态属性主要包括:粒子形状和大小、粒子颜色和透明度等[3]。其中,粒子的形状简化为三维球体,球体的大小即为粒子的大小。2.2.2动态属性雨雪粒子的动态属性主要有:粒子群密度的变化、雨雪粒子的动力学特征等。可通过一个随机过程来控制雨雪粒子的出现,首先是对每个时刻进入系统的粒子数目
7、进行控制,目的在于表现雨雪在不同时刻的分布变化。对于雨雪粒子的动力学分析,雨雪粒子的运动规律满足经典物理的相关运动规律,即粒子的加速度a、速度v和位移s有如下关系:3关键技术3.1动态链表6可用动态链表实现本文算法。链表存储的对象代表系统中存在的粒子,粒子的属性也存储在内。链表中新生的粒子排在表头,快要死亡的粒子则在表尾,链表包括活动粒子链表和死亡粒子链表。活动粒子链表保存的是活动粒子,该链表中的某个粒子在即将死亡时就被转存至死亡粒子链表,当要生成一个新粒子时,先遍历死亡粒子链表
此文档下载收益归作者所有