计算机动画——水体模拟

步骤

  1. 水面建模
  2. 模拟水面运动
    物理模型描述水面的状态,比如能够描述水面的波动、涟漪等
  3. 水面渲染
    特殊的光学效果,如反射、折射以及菲涅尔效果( Fresnel term )

水面模拟和地形模拟类似
建立网格点的高度函数,该函数是一个关于时间变换的函数 H ( x , y , t ) H(x,y,t) H(x,y,t)

波形模拟技术分类

  • 线性波形叠加方法
    • 正弦波(适用于池塘等平静水平面)
    • Gerstner waves (更适用海面)
  • 统计模型方法
    • 快速傅里叶变换 (真实感强,细节丰富,计算量大,电影级海面渲染)
    • 空间-频谱方法
  • 波动粒子方法
    • 波动粒子(适用实时水体交互)
    • 水波小包(引入理论群速度)
    • 水面小波
  • 物理模拟方法
    • 欧拉(SHP)
    • 拉格朗日
    • 欧拉-拉格朗日
  • 预渲染方法
    • 顶点高度位移贴图
    • 流型图(矢量场)
  • 其他
    • 分形噪声
    • 矢量位移贴图

正弦波模型

H ( x , y , t ) = A × s i n ( D ⋅ ( x , y ) × w + t × ϕ ) H(x,y,t)=A \times sin(D\cdot (x,y) \times w + t \times \phi) H(x,y,t)=A×sin(D(x,y)×w+t×ϕ)

参数说明
A振幅
D方向向量
w
ϕ \phi ϕ相位差

波浪种类

  • 定向波浪
  • 圆形波浪

改进正弦波模型

让波峰更尖,波谷更宽

  • 幂指数模型
    在这里插入图片描述
  • Gerstner Waves(更适合于海面)
    在这里插入图片描述
    • Q i Q_i Qi为控制波浪陡峭程度的函数(过大会在波峰顶部产生环)

统计模型(Statistcal wave models)

模拟水面高度,再利用快速傅里叶变换可以方便求得水面高度

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值