计算机动画——水体模拟
步骤
- 水面建模
- 模拟水面运动
物理模型描述水面的状态,比如能够描述水面的波动、涟漪等 - 水面渲染
特殊的光学效果,如反射、折射以及菲涅尔效果( Fresnel term )
水面模拟和地形模拟类似
建立网格点的高度函数,该函数是一个关于时间变换的函数
波形模拟技术分类
- 线性波形叠加方法
- 正弦波(适用于池塘等平静水平面)
- Gerstner waves (更适用海面)
- 统计模型方法
- 快速傅里叶变换 (真实感强,细节丰富,计算量大,电影级海面渲染)
- 空间-频谱方法
- 波动粒子方法
- 波动粒子(适用实时水体交互)
- 水波小包(引入理论群速度)
- 水面小波
- 物理模拟方法
- 欧拉(SHP)
- 拉格朗日
- 欧拉-拉格朗日
- 预渲染方法
- 顶点高度位移贴图
- 流型图(矢量场)
- 其他
- 分形噪声
- 矢量位移贴图
正弦波模型
参数 | 说明 |
---|---|
A | 振幅 |
D | 方向向量 |
w | |
相位差 |
波浪种类
- 定向波浪
- 圆形波浪
改进正弦波模型
让波峰更尖,波谷更宽
- 幂指数模型
- Gerstner Waves(更适合于海面)
- 为控制波浪陡峭程度的函数(过大会在波峰顶部产生环)
统计模型(Statistcal wave models)
模拟水面高度,再利用快速傅里叶变换可以方便求得水面高度