优秀的毕业设计论文网
计算机 JAVA 电子信息 单片机 机械机电 模具 土木工程 建筑结构 论文
热门搜索词:网络 ASP.NET 汽车 电气 数控 PLC

基于Virtools的粒子系统特效技术研究

以下是资料介绍,如需要完整的请充值下载.
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
  
资料介绍:
国外研究现状
1983年,William T.R eeves最早提出了粒子系统。它能充分体现模糊物体的动态性和随机性,能很好地模拟动态的三维复杂景物。Andrew Witkin提出了基于物理模型的粒子系统,在经典粒子系统基础上加上重力等物理因素,对自然现象的模拟更逼真。在普通的PC机上实现粒子系统的实时绘制,最多只能处理10, 000个粒子,大大限制了粒子系统的应用范围。KarlS im s为了提高粒子系统的处理规模和速度,提出了一种并行算法,在一个能执行并行计算的超级计算机上实现了该算法。在可编程的图形处理器上实现了粒子系统,该方法可同时渲染1,000,000个粒子,达到较好效果咧。这在粒子系统发展上是一个里程碑。Kipfer Peter等人用OpenGL实现了一个完全基于GPU的通用粒子系统引擎,它引入了物理模型,并应用于火山模拟。但它没有做粒子系统与场景中其它对象之间的碰撞检测,在构建大场景时与其它对象的融合不是很理想。
2.2国内研究现状
国内在粒子系统的研究上起步较晚,2002年贵州工业大学的姚颜林等基于OPENGL的开发接口开发了面向对象的粒子系统。中科院南京地理与湖泊研究所开发了一套粒子系统应用程序接口并应用于苏州工业园虚拟展示系统。2006年 ,粒子系统的研究非常活跃。西安科技大学的宇亚卫用粒子系统模拟三维火焰,在粒子系统中引入了运动场,讨论了重力和风力对火焰的影响.刘钮等用粒子系统模拟头发,生成了较为逼真的效果。北京航天航空大学的许楠等实现了一种基于图形处理器的粒子系统。在国内的粒子系统研究上是一次飞跃。他实现的是一个基本的粒子系统,没有进行碰撞检测,也没有考虑物理模型,因此其应用有一定的局限性。

[资料来源:http://think58.com]


2.3课题研究的意义
2.3.1粒子系统应用价值
雨、雪 、烟、火焰等不规则的、模糊的、运动的物体或景象很难用一般的方法来建模。由于它们不停的运动和改变形状,表面不规则并且边界模糊,很难通过定义其表面网格来描述它。粒子系统为这类物体或景象的建模提供了有效的解决办法,它能很好的模拟物体的动态特性。经过二十多年的发展,粒子系统已经成为计算机图形学的重要组成部分,是模拟不规则动态物体或景象的有效算法,粒子系统广泛应用于虚拟现实三维仿真、游戏开发、电影特技、可视化等领域。用于模拟火、烟、焰的动态效果,光、影、闪电特效,雨雪降落过程液体或气体的流动过程等.粒子 系 统 是构建三维场景不可缺少的建模工具,在每一个具体的三维软件项目中,都不能没有粒子系统。
2.3.3粒子系统技术研究意义
    目前国内外研究主要集中在粒子系统的算法和具体应用上,即核心层和应用层,缺乏中间的工具层,因此大家的研究彼此独立,不能通用。国外大公司的商业软件中提供了粒子系统的可视化编辑模块和浏览模块。用粒子系统引擎和编辑器能开展应用研究,直接在编辑器上调试可视化效果,而不必从研究算法开始。这样做可以提高工作效率,减少重复劳动。算法和接口公开,如果可视化工具满足不了需要,可以扩展这个通用算法和引擎。大大降低研究和实现算法的难度。 内容来自think58 [资料来源:http://think58.com]
粒子的产生
 在一个粒子系统中,粒子的产生是通过控制随机过程的方式来完成的,它决定了在每个时间间隔内进入每帧的粒子数目,由于粒子的数目直接影响到模拟物体的密度,因而控制产生粒子的数目是相当重要的。模型设计者可以有两种方法来控制产生新粒子的数目,一种是设计者可以通过控制在一帧中所产生的粒子的平均数来实现。如果采用该方法则在某个时刻(Ti),新产生的粒子数量可以用以下公式描述:
                  NP(Ti)=MNP(Ti)+Rand()*VNP(T1)                (3-1)
 其中:MNP(Ti)为在Ti时刻新产生粒子数目的平均值;VNP(Ti)为在Tl时刻新产生粒子数目的方差:NP(Ti)为在Ti时刻新产生的粒子数目;Rand()为在[1.0,1.0]上均匀分布的随机函数。平均值和方差可以是常量,也可以是基于Ti的变量.
 另一种方法是使所指定的平均数与最大变化范围为屏幕上单位面积中所生成的粒子的平均数和方差,因此生成粒子的数目决定于物体所占屏幕的大小。采用这种方法时,粒子系统能够通过一个特殊帧面上的可视参数来计算机它所覆盖的大约屏幕区域,进而正确地计算机出新产生的粒子数目,其对应的计算机公式如下: 内容来自think58

[版权所有:http://think58.com]


                NP(Ti)=(P(Ti)+Rand()*yNP(Ti))*SA                 (3-2)
其中: P(Ti)为在Ti时刻新产生粒子数目的平均值;VNP(Ti)为在Ti时刻新产生粒子数目的方差;NP(T1)为在Ti时刻新产生的粒子数目;Rand()为在[1.0,1.0]上均匀分布的随机函数。弘是粒子系统的屏幕区域。平均值和方差可以是常量,也可以是基于Ti的变量。
在粒子系统中对于新产生的粒子,其初始属性可以根据不同的模拟对象特点进行赋值。例如可以按以下公式赋值:
Property(Ti)=MProperty(Ti)+Rand()*VProperty(Ti)Mproperty   (3-3)
Mproperty是该属性的均值,VPrerty(Ti)是该属性的方差。公式中粒子的初始位置可以将空间一个平面或三维空间作为基准,以雪花系统为例随机分布。再例如烟花模拟中, 烟花的各个粒子在某个时刻诞生在空间一个点或者非常小的空间内,并且速度的绝对值和方向矢量可以用上述公式来表示。