基于粒子系统的实时瀑布模拟-Read.DOC

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于粒子系统的实时瀑布模拟-Read

基于粒子系统的实时瀑布模拟 1、引 言 自然景物的模拟是计算机图形学中最具挑战性的问题之一。这主要是因为自然景物的表面包含丰富的细节或具有随机变化的形状, 造型相对困难。 山、水、云、烟、火焰等自然景物的模拟, 在计算机游戏、影视、广告等各种领域中有着广泛的应用。与山、植物、云等相比,瀑布的模拟更显困难。这是因为瀑布水流运动的形态千变万化,与障碍物发生碰撞时产生的水花飞溅的现象,很难用传统的造型方法来描述。自1983年Reeves[1]提出粒子系统以来,已有许多利用粒子系统模拟自然现象的工作,这其中就包括水流的模拟。Peachey [2]和Fournier[3]等人运用粒子系统模拟了风吹波浪和海浪所形成的水花。Goss[4]运用粒子系统实时地模拟了船行驶时所形成的轨迹。万华根[5]等人采用粒子系统,通过求解流体力学中的Navier-Strokes方程的特例,模拟了喷泉的水流运动。Simon[6]等人从光线在海水中的传播规律出发, 引入一个复杂的光照模型来模拟海面。 早在1983年Reeves[1]就提出用粒子系统模拟瀑布的效果,随后Sims[7]和Alex Heng[8]等人利用粒子系统模拟瀑布在重力场中与障碍物碰撞的运动。由于Alex Heng等人的方法是将每个粒子与场景中的每个障碍物都进行碰撞检测,故算法的效率不高;而且没有对水花进行渲染,真实感不强。 本文的主要贡献是以线元为基本造型单位,运用动力学原理模拟瀑布的运动轨迹[9],结合层次包围盒技术和建立聚类树加速粒子与障碍物之间的碰撞检测,并采用逐渐淡化融合的方法绘制粒子,形成了具有真实感的实时瀑布飞溅的效果。 2、瀑布水流运动的粒子系统 2.1算法框架 假设瀑布由若干个粒子构成,每个粒子在生成的时候都具有一定的属性,如粒子的寿命、速度、方向、颜色等。随着时间的变化,每个粒子必须经过四个阶段:(1)粒子的产生;(2)粒子的运动;(3)碰撞检测;(4)粒子的消亡。利用粒子系统生成单帧图像的过程见图1。 图1 瀑布水流运动的粒子系统框架 2.2瀑布运动的动力学原理 粒子属性 粒子系统中的每个粒子都具有特定的属性,包括动力学属性和绘制属性等。其中最主要的有速度矢量、尺寸、质量、生存期、透明度等。在对瀑布的模拟中,我们定义的粒子属性如下:粒子的运动速度,粒子与X轴和Y轴所成的角和,粒子的质量,粒子的坐标位置,粒子下落的高度,粒子淡化的alpha值。 粒子的表示 Alex Heng[8]等人为了模拟水粒子模糊运动的效果,沿Y轴将粒子分为两层。一层定义为头部,另一层定义为尾部,头部和尾部之间用线元连接。在粒子更新的时候要同时计算粒子的头部位置和尾部位置,增加了计算量。本文则用POINT定义每个粒子,并用线元对瀑布水流运动的轨迹进行离散化。即在粒子绘制的时候,首先保存粒子在上一时刻的位置,再根据粒子当前的位置,然后用线元将和连接,线元将沿着粒子的运动轨迹前进(如图2,图3)。由于和在粒子更新的时候已经计算过,所以无需额外计算。 图2线元示意图 图3 瀑布水流运动轨迹线元离散示意图 线元的长度l定义如下: 新粒子的生成 对于瀑布粒子系统,我们假设每个粒子的初始位置为,由系统给定。因为瀑布的每个水珠下落的初速度和方向大致相同,但又有一些随机性,为了准确地描述瀑布的运动轨迹,粒子的初速度和运动方向定义如下: 其中constant1、constant2和constant3为常量,由经验值给出,rand()是随机扰动量。 粒子运动的动力学原理 我们令重力方向为Y轴,建立瀑布所在空间的笛卡儿坐标系。假设风与XZ平面平行,则在XZ平面粒子只受风力的作用,而在Y轴方向粒子受到重力加速度g以及空气阻力f的影响,因此在任一时刻t,粒子的速度和空间位置为: 其中windv是风速,是风向。 2.3 瀑布粒子的碰撞检测 of standard graphic system瀑布在下落的过程中将会与大量的障碍物进行碰撞,形成水花飞溅的现象。为了模拟这种效果,在粒子和障碍物之间须进行碰撞检测[11-15]。Alex Heng[8]等人将每个粒子与场景中的每个

文档评论(0)

xiaozu + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档