《粒子系统综述报告全解》由会员分享,可在线阅读,更多相关《粒子系统综述报告全解(11页珍藏版)》请在金锄头文库上搜索。
1、计算机科学与技术学院粒子系统综述报告姓 名:学 号:指导教师:年 月曰如何逼真地模拟自然景物一直是图形学中的一个热门研究课题和难点问题。火焰、云烟、滴、雪花等动态自然景物的模拟,在航空航天、影视广告、虚拟场 景中有着广泛的应用。然而多数景物的外形是随机变化的,很难用常规的建模方 法及模拟技术来描述。因此自然景物的模拟一直以来都是虚拟现实领域研究的热 点和重点。随着近年来研究的不断深入,各种自然景物模拟算法不断涌现, 模拟 结果也越来越具有真实感。其中,粒子系统方法是迄今为止被认为模拟不规则模 糊自然景物最为成功的一种生成算法。关键字:图形学;粒子系统;虚拟现实;真实感引言虚拟现实(简称VR),
2、又称灵境技术,是以沉浸感、交互性和构想为基本特征的 计算机高级人机界面。 现今,从军用到民用 ,从工业到商业 ,从自然景观虚拟到人文 景观虚拟 ,虚拟现实技术的应用越来越广 1。随着应用的不断扩展 ,在虚拟现实系统的设计与实现中 ,有一些景观很难用简 单的几何图元来表示 ,这类景观主要是一些离散的或者动态的自然景观和人文景 观,例如烟、星星、喷泉和烟花等等 2。1983年由W. T. Reeves等首次系统地提出了粒子系统方法 。此方法被认为 是迄今为止模拟不规则模糊物体, 最为成功的一种图形生成算法。 在计算机虚拟 仿真领域,应用粒子系统模拟不规则模糊物体的方法,已经得到了广泛应用。本文通过
3、对粒子系统的阐述、 研究现状、 建模及仿真以及对模型的优化, 有 了一个详细地描述,从而使大家对粒子系统的研究现状,有了更为直接的了解, 最后通过分析现有粒子系统研究现状的不足, 对于粒子系统的进一步研究, 提出 了自己的看法。1 粒子系统的概念及其研究现状1.1 什么是粒子系统粒子系统是一种典型的物理建模系统, 它是用简单的体素完成复杂运动的建 模4。粒子系统由大量称为粒子的简单体素构成, 每个粒子具有位置、 速度、颜色 和生命期等属性, 这些属性可根据动力学计算和随机过程得到。 而一个粒子需要 被赋予哪些属性,主要取决于被模拟对象 5。1.2 粒子系统的研究现状(1 )随机粒子系统。主要通
4、过可控制的随机过程,控制粒子属性的变化。1983年Reeves首次系统地提出了应用粒子系统, 模拟虚拟场景中不规则物体的方法, 模拟出烟花绽放 的过程,并在电影 StarTrek 1中绘制了星系爆炸的场面。从那之后,人们对粒子 系统使用范围进行了进一步的拓展,使得粒子系统能够拟火焰、烟花 67、烟雾 810、飞机飞行的特效 11、喷泉,甚至是水中航行的船只的航行轨迹 1213 。(2)流体粒子系统。粒子的运动轨迹受流体力学的影响。 比如,模拟地下煤矿矿井内气流, 可以 描述矿井发生火灾时火焰的扩散情况 14,类似的还有陶瓷辊道窑内进行陶瓷烧制 时火焰轨迹的建模 1516。粒子系统也能够对液体进
5、行建模, Liu Xue-mei 用粒子 系统模拟外科手术出血情况 17。粒子系统甚至能够在高密度、高粘度、高压力、 高温度等极端的条件下,模拟出了岩浆流动的情况 18。(3)方向粒子系统。考虑粒子间的相互影响, 粒子除了具有速度和位置等动态属性外, 还必须有 方向属性。这样的粒子系统,主要模拟织物、可变形物体和刚体等。 1987 年, Reynolds 把粒子系统看成是一组相互影响的粒子组成的,每一个粒子的具体位 置,受与其相关粒子的影响。在这个理论基础上 OlafEtzmuss 通过对连续介质的 小改动,得到了耦合粒子系统, 这个粒子系统中的粒子是相互关联的, 并用以此 来模拟变形的物体。
6、Bernhard Eberhard,基于耦合粒子系统系统理论,对纺织 物进行了建模。 同时, Szeliski 和 Richard 提出基于粒子系统的模拟弹性表面的方 法,也可以对纺织物进行建模。(4)结构化粒子系统。主要用来模拟具有一定结构的物体或现象。1985年,Reeves发展了粒子系 统,他们用“ Volume filling ”基本单元,去生成随时间改变形状但又基本保持不 变的实体,如随风飘动的花草树叶 20。袁琪在 2007 年利用粒子系统虚拟作物器 官21。 Rhys Goldstein 在生物学医药领域,用粒子系统来模拟神经元末梢,并且 取得了很好的效果 22。法国的 Eric
7、 Galin 用粒子系统模拟出吊灯、雕塑品等具有 隐性曲面造型的物体。1.3 小结自粒子系统概念提出后, 该系统受到越来越多的重视 , 不少研究人员对它进 行应用研究 , 具有代表性的研有: 用结构化粒子系统模拟树林和树林中草丛覆盖 的地面 , 用近似概率性算法来解决关于粒子系统渲染时的明暗和可见面问题, 用 固定粒子数的粒子系统结合分布式行为模型模拟了鸟群的飞行。 提出了一种同时 适用于可变形物体和固体的表面建模方法方向粒子系统。 并由此产生了许多 利用粒子系统来模拟自然景物的方法。2 粒子系统的建模与仿真粒子系统是一个动态的模型,粒子在系统中要经过“产生” 、“运动”和“消 亡”这 3 个
8、阶段。随着时间的推移,系统中旧的粒子不断消失,新的粒子不断加 入。系统中“存活”的粒子,其位置及生命值亦随时间变化而变化,其正常运行 的关键,是确定粒子的初始属性、粒子的变化规律和绘制等因素23。在粒子生命期的每一刻,都要完成以下 5 步工作24 :(1) 粒子源产生新粒子,并赋予粒子属性后加入系统中;(2) 根据粒子的动态属性,对粒子进行移动和变换,同时更新粒子属性;(3) 判断粒子的生命值;(4) 删除那些已经超过其生命周期的粒子;(5) 绘制并显示由有生命的粒子组成的图形。2.1 粒子系统的生成粒子的产生, 采用随机过程函数来控制。 每一帧产生的粒子数目, 直接影响 到画面的效果,常使用
9、下面两种方法来进行定义 25:(1 )第fn帧产生新粒子数目NParts ( fn)定义为:NParts=MeanParts+Rand() :VarParts(1)其中,Rand是在区间为-1.0,1.0上均匀分布的随机函数,MeanParts是新 产生粒子的平均值;VarParts是新产生粒子的方差。( 2 )为了有效控制粒子的层次细节和绘制效率,还可以根据单位屏幕面积 所具有的平均粒子数和方差,来确定进入粒子系统的粒子数,则式( 1)可以修 改为:NParts=(MeanParts$f+Rand() VarPartsf) x ScreenArea(2)其中,MeanPartssf和VarP
10、artssf分别表示第f帧每单位屏幕面积上产生粒子 数目的平均值和方差,Scree nArea是粒子系统的屏幕面积。在式( 2)中,能够有效地避免用大量粒子来模拟在屏幕上投影面积很小的 景物,因而大大提高了算法的绘制效率。 为了能够使粒子系统在强度上增加或者 减少,设计者一般采用线性函数公式, 使得每一时刻每帧中平均粒子的数量不同MeanPartsf=InitialMeanParts + DeltaMeanPartsx( f-f0)( 3)或者MeanPartsf=InitialMeanPartssa+DeltaMeanPartssax( f-f0)( 4)其中, f 是现在的帧数; f0 是
11、粒子系统中最初的帧数; InitialMeanParts 是粒 子系统最初帧中的平均粒子数; DeltaMeanPartssa 是粒子数的变化率。因而 ,为了控制粒子 系 统中 粒子 的产生 ,设计者只要指 f0 或者InitialMeanParts, DeltaMeanParts Varparts或者 InitialMeanPartSsa, DeltaMeanPar- tSsa, Varpartssa的参数即可。2.2 粒子的属性任何新产生的粒子, 都必须赋予它们一定的初始属性。 粒子的初始属性, 可 以进行如下描述 :(1)初始位置;(2)初始速度(速率和方向) ;(3)初始大小;(4)初
12、始颜色;(5)初始透明度;(6)形状;(7)生命期。2.3 粒子的运动粒子一旦产生, 并具有一定的初始属性之后, 它们便开始运动。 粒子需要在 初始运动属性的基础上,推导出其他时刻的运动属性。2.4 粒子的绘制和渲染 26 粒子绘制的技术主要有(1)点粒子的绘制;(2)面粒子的绘制;(3)线性粒子的绘制;(4)随机形状粒子的绘制。 实现粒子渲染的手段,主要采用光照、阴影、浓淡以及消隐处理技术。有些情况下,粒子被认为是光源,此时可以忽略消隐,简化浓淡处理,只以粒子的灰 度或者颜色,来加亮相应的象素。2.5 粒子的死亡当粒子一旦产生之后, 就被赋予了生存期, 一般都是用帧来计算粒子的生存 期,其随
13、着粒子的运动而递减。当递减到零时,粒子“死亡” 。此时,当从系统 中将该“死亡”粒子删除。在实际的应用中,也可以采用其他的方式来度量粒子的死亡。例如, 当粒子的颜色和透明度低于系统设定值, 或者粒子的运动超出了规定的区域, 这些情形 都可以根据实际的要求,认为粒子已经死亡 27。2.6 粒子系统的实现方法随着图像处理的硬件和软件的发展, 实现粒子系统的技术也获得了进一步的 发展,主要反映在处理器、开发平台、渲染软件和数据存储等方面。(1)影响粒子系统实时性能的瓶颈,就 CPU 的通讯以及 CPU 的并行处理 能力,而在最新计算机系统中,由于实现了 CPU和GPU的合理分工,数据和指 令存储交换
14、的场所也由系统内存,扩展至 GPU 显存,同时数据交换总线发展到 PCI Express总线,并利用GPU的多通道处理性能,可以很方便地实现大量的并 行计算,这使得计算机系统的实时处理能力,大幅度提高28。(2)粒子系统进行开发的通用平台是 VisualStudio2930,也有专门的仿真可 视化平台,比如 Vega Prime、3D Studio Max31。(3)粒子系统中的粒子渲染的工具很多,高速 Ope nGL渲染引擎,具有相 当的灵活性和可扩展性3233,能够满足在普通PC机上模拟不规则的自然景物的 需求。其次是 DirectDraw , DirectDraw 允许用户直接访问图形硬
15、件,管理用于显 示的内存,提供高速图形和页面切换动画。(4)吴继承设计出粒子系统的 API,采用合理的数据结构,设计了一套高效的粒子生成、管理方法,并采用高速OpenGL渲 染引擎,使用了粒子组管理粒子,使之能够满足在普通 PC机上模拟大数据量动 态场景的需求 34。3 粒子系统的优化技术粒子系统涉及的计算量相当庞大和复杂, 所以粒子系统优化研究也越来越受 重视,因为这样可以节省计算资源, 提高计算效率。 一般来说有以下几种优化的 技术:3.1 绘制效率优化 35粒子系统运行的最终结果, 是在屏幕上绘制每个粒子形态这个过程, 需要一 定的时间,影响了系统的实时性。绘制效率优化,就是采用特定方法,减少粒子 绘制时间,进而提高速度。 优化包括系统级和代码级两种: 系统级主要采用高速 缓存保存编译过的绘图代码, 使用时不需再次编译; 代码级主要基于人眼分辨率 限制,少绘制或不绘制人眼不敏感或看不到的区域。 绘制效率优绘制效率的优化 包括为:(1)显示列表;(2)公告板技术;(3)几何形体优化;(4)多级粒子系统。3.2 计算复杂性优化 36 粒子系统运行过程中需要大量计算,如碰撞检测、速度调整、内存分配、算 术运算、循环判断等。这些计算消耗系统资源,间接表示时间复杂度大