OpenGL单循环波

时间:2017-01-01 21:59:51

标签: opengl waveform

我正在尝试使用Gerstner波函数在OpenGL中实现圆形波:

enter image description here

它工作正常,但我的所有地面都变形了更多波浪,我想要的只是从中心传播到外部的单一波浪。我试图修改sqrt(x*x + y*y)在两个圆之间的点的z位置,以限制波的边界。两个圆圈的第一个圆圈的半径为wavelength * time,第二个圆圈的半径为wavelength * (time + 1),但这仍然不够好,因为圆圈的扩展速度比波浪的速度慢

1 个答案:

答案 0 :(得分:1)

当您按wavelength * time计算边界时,您假设波前以等于波长的速度移动;在1个单位时间之后,波前将在您的计算中移动wavelength个单位。

尝试使用您用来计算$ \ varphi $而不是wavelength的波速。