2017-01-01 4 views
1

Ich versuche, eine kreisförmige Welle in OpenGL Gerstner Wellenfunktion zu implementieren:OpenGL einzige Kreis Welle

enter image description here

Es funktioniert gut, aber all mein Boden ist mit mehr Wellen deformiert und alles was ich will eine einzelne Welle, die sich von der Mitte nach außen ausbreitet. Ich habe versucht, die z-Position für die Punkte zu ändern, wo sqrt(x*x + y*y) zwischen zwei Kreisen liegt, um die Grenzen einer Welle zu begrenzen. Die zwei Kreise der erste Kreis hat den Radius von wavelength * time und der zweite hat den Radius von wavelength * (time + 1), aber das ist immer noch nicht gut genug, weil die Kreise langsamer als die Geschwindigkeit der Welle expandiert.

Antwort

1

Wenn Sie die Grenzen durch wavelength * time berechnen, gehen Sie davon aus, dass sich die Wellenfront mit einer Geschwindigkeit bewegt, die der Wellenlänge entspricht. nach 1 Zeiteinheit hat die Wellenfront wavelength Einheiten in Ihrer Berechnung gereist.

Verwenden Sie die Wellengeschwindigkeit, die Sie verwendet haben, um $ \ varphi $ anstelle von wavelength dort zu berechnen.

Verwandte Themen