基于粒子系统和物理模型实时飘雪模拟.docVIP

基于粒子系统和物理模型实时飘雪模拟.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于粒子系统和物理模型实时飘雪模拟

基于粒子系统和物理模型实时飘雪模拟   利用计算机来模拟自然景物,一直是计算机图形学领域中很令人感兴趣的话题之一。而粒子系统正是一种描绘自然景物的强有力的工具。雪花由于具有一类自然景物的共性,使得其可以很方便地由粒子系统描述并绘制出来。      我们知道,在计算机视频游戏开发等实际应用领域中,对绘制速度的要求远大于对绘制景物的真实程度的要求,即不需要追求完美的逼真度,但必须保证一定的FPS(即Frames Per Second,每秒钟能够渲染的帧数)。   我利用动力学代数方程建立了风场的速度场模型,以及相应的粒子运动模型,并对传统的粒子系统的绘制步骤进行了两点改进,最后利用微软的DirectX平台编写了演示程序,在保证一定真实程度的前提下,完全达到了实时性的要求。   1 物理场建模及粒子运动模型   自然界中的风场是一个很复杂的场,如果利用空气动力学对其进行建模,势必会在粒子系统更新粒子属性时进行大量的运算,从而在很大程度上拖慢绘制速度。本文提出的风场模型则具有模型简单、逼真度高、计算量小的优点。   1.1 风场的速度场建模   根据气体分子运动理论,空气是一种完全气体。所以我们可以把单位体积的空气看作刚性微粒,在有风的条件下,其具有一定的质量和运动速度。   设风速矢量为Vw,则Vw可以表示为:Vw = Vw1 + Vw2,   其中Vw1 表示平均风速矢量,Vw2表示随机风速矢量。   建立右手直角坐标系xyz,其中y坐标表示垂直高度。   由于在低空中风速受垂直坐标的影响不大,故|Vw|=f(x,z,t)。为了模拟出|Vw|随坐标位置及时间的变化,我们首先令g(t)是由三角函数集构成的周期函数,将其展开为有限项傅里叶级数,可得:   当取a0=0、N=2、3、5,w=1时,g(t)的函数图像就可以呈现出很好的随机感(见图1):   图1 g(t)函数图    然后我们令h(x,z)= Ksin(ax)sin(bz), 其中a,b,K为比例系数。当取K=1、a=0.1、b=0.1时,h(x,z)的函数图像如图2所示:       图2 h(x,z)函数图   所以|Vw|可描述为:|Vw|=|Vw1|+Ksin(ax)sin(bz)g(t)。   设风粒子运动方向与x轴夹角为 ,则   其中ax、az分别为x、z方向的单位矢量。   1.2 重力场及空气阻力场建模   重力场和空气阻力场的物理建模很简单,设a为空气粒子的加速度矢量,则其中g为重力加速度矢量,f为阻力系数,为一正数。   1.3 粒子运动模型   由前述可知,我们可以把单位体积的空气看作刚性微粒,同时雪花也可以看作是刚性粒子,设其质量为M。由于空气没有具体形状,可以取与雪花同样形状和体积的一部分空气,令其质量为βM(0β1)。这样空气粒子与雪花粒子的碰撞可视为完全弹性碰撞,可利用动力学的知识列方程组如下:    其中V1为碰撞前空气粒子的速度矢量,V2为碰撞前雪花粒子的速度矢量,V1为碰撞后空气粒子的速度矢量,V2为碰撞后雪花粒子的速度质量。由上述方程组,我们可以解得:   2 DirectX平台下粒子系统的实现   2.1 DirectX平台简介   DirectX是微软公司推出的API,可让以Windows、Windows Mobile/CE以及XBOX/XBOX360为平台的游戏或多媒体程序获得更高的执行效率,加强3D图形和声音效果,并为设计人员提供一个共同的硬件驱动标准。   2.2 粒子系统基本原理   粒子系统的组成元素,自然就是粒子。粒子系统就是指将许多形状简单的微小粒子作为基本元素,然后聚集起来形成一个不规则的模糊物体,从而构成的一个封闭的系统。每个粒子要保存自身的属性并在每帧当中动态更新。一个粒子具有的特征主要包括质量、位置、速度、受力、生存期,以及颜色、空间尺寸、形状等。每个粒子都代表了自然场景中的一个最小单元,通过很多个粒子相互组合,效果叠加,粒子系统才能够显示五彩斑斓的美丽的自然场景。在本文中,雪粒子具有五种属性,即位置矢量、质量、速度矢量、加速度矢量和纹理ID。   2.3 粒子系统的绘制过程   粒子系统绘制过程的伪代码描述如下:   Initialization of Particle System:   {   Initialize Wind //初始化风场   Initialize CSnow //初始化雪花粒子   }   Update Procedure:   {   Calculate FPS and set amount //计算FPS并根据FPS设定粒子数目   Update snow particles //更新雪花粒子的

文档评论(0)

erterye + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档