Lissajous-Figures
Periodic Fun
Dez 2019
Codingspaß zwischen den Jahren
Lissajous-Figuren
Lissajous-Figuren (oder Lissajous-Kurven) sind einfache periodische Figuren, die von zwei Parametern A und B abhängen.
Ein variierendes φ in [-Pi,Pi] erzeugt die gesamte Figur. Theoretisch können A und B auch in ℝ sein, aber dann sind die Figuren an ihren Anfangs- und Endpunkten nicht geschlossen.
Hier die ersten 8*8 Lissajous-Figuren von A,B in {0,1,2,3,4,5,6,7}:
Erweitert um PhaseA und PhaseB
So können die Phasenverschiebungen der beiden Sinus-Anteile der Figuren dargestellt werden und es entsteht der Eindruck einer 3D-Drehung, obwohl keine Z-Koordinate vorhanden ist.
Approximation von Lissajous-Kurven durch Bézier-Splines
Über die Zerstückelung in endlich viele Teilsegmente kann jede Figur einfach linear angenähert werden. Damit die runden Kurven trotzdem schön glatt dargestellt werden, sind allerdings viele lineare Teilsegmente nötig (vgl. pinkfarbene Figur im Hintergrund). Durch Näherung mit quadratischen Bézier-Kurven ist das Zeichnen der Figur mit deutlich weniger Teilsegmenten möglich.
Probiert es aus: Live-Demo mit Javascript
Sorry für den etwas unaufgeräumten Code.
Viel Spaß und frohes Weihnukkah!