2017-01-01 2 views
1

Я пытаюсь реализовать круговую волну в OpenGL с использованием Герстнером волновой функции:OpenGL одиночной круговая волна

enter image description here

Он отлично работает, но вся моя земля деформируется с большим количеством волн, и все, что я хочу одна волна распространяется от центра к внешнему. Я попытался изменить положение z для точек, где sqrt(x*x + y*y) находится между двумя кругами, чтобы ограничить границы волны. Два круга первого круга имеют радиус wavelength * time, а второй имеет радиус wavelength * (time + 1), но это все еще недостаточно, потому что круги расширяются медленнее, чем скорость волны.

ответ

1

Когда вы вычисляете границы на wavelength * time, вы предполагаете, что волновой фронт движется со скоростью, равной длине волны; через 1 единицу времени волновой фронт пройдут wavelength единиц в ваших расчетах.

Попробуйте использовать скорость волны, которую вы использовали для вычисления $ \ varphi $ вместо wavelength.

Смежные вопросы