海水仿真在虚拟训练系统、3D游戏中有着广泛的应用。与地.pdfVIP

海水仿真在虚拟训练系统、3D游戏中有着广泛的应用。与地.pdf

  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文档。上传文档
查看更多
海水仿真在虚拟训练系统、3D游戏中有着广泛的应用。与地形绘制算法相 比,动态的海水仿真算法要更为复杂,同时兼顾到海水仿真效果的真实性和实时 性是一个很具有挑战性的任务,但是我们勇敢的接受了这个挑战。在这一章节里 面,首先简单的介绍了正弦波动的情况,然后引入Gestner-wave以及 Gestner-wave海水仿真算法,最后我们再通过一个巧妙而简单的推导出基于二 维快速傅利叶变换的海水仿真算法。为了不至于曲高和寡,我这里没有涉及复杂 的流体力学内容,而对于没有学过信号处理,不了解快速傅立叶变换的朋友,这 也没有关系,我这里对算法的推导处理得很巧妙,你不需要任何信号处理的知识, 只需要简单的初等数学知识就可以看明白。 1.言归正传,我们首先来介绍正弦波动的基本概念,以下这些参数是确定正 弦波动的主要参数: 波动振幅(A):波峰到波谷的高度差的二分之一 波长(L):两个相邻波峰之间的距离 空间角频率向量(w):空间角频率向量w的方向和波传播的方向相同,空 间角频率向量的大小|w|和波长L的关系为:|w|=2*PI/L。 波速(S):每秒钟波峰移动的距离。 时间角频率(wt):时间角频率wt=S*2*PI/L。 波动传播方向(D):波峰移动的方向。 初始相位(FI):初始相位。 根据上述参数可以写出正弦波动的波动方程: Y(x,y,t)=A*cos(w *(x,y)+ wt*t + FI) 根据正弦波动的等相位面,可以将正弦波动分为方向波和圆形波,等相位面 为平行的平面的正弦波动,为方向波。而等相位面为一系列圆柱面的波动为圆形 波。一般来说在风驱动的广阔的水体适合采用方向波,而对于一些较小的池塘, 输入激励近似为点激励的情况下(例如扔一个小石子到河里面去,激起一圈一圈 的波纹)则适合采用圆形波。在本章里面,主要涉及的是方向波。 2.Gestner-wave是最早的用于计算机图形学海水仿真的方法(1986年 Fourier和Reeves)。P为海水表面上任意一点,没有经过波动时P点的位置为 (x0,0,z0),下列表达式为Gestner-wave波动计算公式: (x,z)=(x0,z0)+ Q*A*sin(w *(x0,y0)+ wt*t + FI) (1) y = A*cos(w *(x0,y0)+ wt*t + FI) (2) 这里波浪传播的时间角频率和空间角频率存在一个直接关系(在深海情况下, wt=sqrt(g*w),g为重力加速度),与前面的正弦波动稍有不同的是Gestner-wave 在水平方向也有波动,而这种波动产生了波浪挤压的效果,而Q为控制波浪的陡 峭程度,但是最好不要使Q超过1,否则会在表面出现环的效果。有时,为了模 拟出更为真实的海水效果,采用多个正弦波叠加的方法来模拟复杂的波动效果。 3.单纯的基于Gestner-Wave的海洋仿真算法无法模拟出真实的海水效果, 一个能够真实模拟出海水效果的经典算法是基于快速傅利叶变换的海水仿真算 法(Jerry Tessendorf,SIGGRAPH Course Notes)。 下面我们来通过推导这个算法。首先分析一维的情况,考查一个长度为Ls的一 维区域AB的海水波动情况,如下图所示。 这里有两个前提条件: a:整个区域的波动情况具有周期为L的空间周期性。 b:我们希望使用多个Gestner-Wave的叠加来合成出整个波动效果。由于整个区 域的波动效果具有周期为Ls的空间周期性,因此空间周期Ls必须为每个叠加的 Gestner-wave的波长L的整数倍,如下图所示。 波长等于周期Ls

文档评论(0)

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

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

1亿VIP精品文档

相关文档