Codingspaß zwischen den Jahren

Lissajous-Figuren

Lissajous-Figuren (oder Lissajous-Kurven) sind einfache periodische Figuren, die von zwei Parametern A und B abhängen.

 

einfache Lissajousgleichung

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}:

 

Schaubild der ersten 64 Lissajous-Figuren

 

 

Erweitert um PhaseA und PhaseB

erweiterte Lissajousgleichung

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.Lissajous-Animation mit Phasenverschiebung

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!