FFT海面(简版)

  主要思想就是按照Phillips 波普得到海面的高度场(也就是傅里叶变换的频域),然后将其逆傅里叶变换(IFFT)得到海面(也就是时域)

  海洋统计模型FFT表达为

  

  海浪高度可以按照Phillips 波普表示为当波长较小时,公式收敛性差,所以乘以一个修正因子

  其中,L = V*V / g, L为海浪在风速V下的波长,g中重力加速度。A对波浪高度产生影响,类似波幅。W为风的方向。k等于(2πn / Lx , 2πm / Ly ),Lx,Ly为海面在

  世界空间中的海洋大小, n 和 m为网格x , y 轴顶点数量的折半,比如1000 * 1000,则n 和 m的范围是(-500, 500)。公式中 k 的大小为向量 k 的长度。修正因子小L取值

  0.001。

  现在可以计算高度场的波幅,为为高斯随机数。

  如此再经过傅里叶逆变换,就可以得到每个顶点在时域的高度。

  模拟水面运动的公式很多,可以自由一个或者叠加。

  

  参考:

  Simulating Ocean Water

  算导30章

  

  

  

posted @ 2018-02-24 17:33  清兵卫  阅读(1475)  评论(0编辑  收藏  举报