Rotor-Reflect - Interactive visualization of rotation via double reflection

Rotor-Reflect ist eine interaktive Visualisierung, die zeigt, wie jede Rotation eines Vektors durch zwei aufeinanderfolgende Reflexionen erreicht werden kann. Das Tool veranschaulicht die zugrunde liegende Geometrie in 2D und 3D und bietet zusätzlich eine Erweiterung auf Kreisreflexionen. Es demonstriert, dass für die Rotation keine trigonometrischen Funktionen wie sin oder cos benötigt werden, sondern nur Projektion und Reflexion. Die Implementierung basiert auf den Prinzipien der Geometrischen Algebra und eignet sich hervorragend für alle, die ein tieferes Verständnis für Vektortransformationen und deren Anwendungen in der Computergrafik oder Robotik gewinnen möchten.

Die Konstruktion jeder Transformation allein durch die Komposition von Reflexionen steht im Kern der Geometrischen Algebra.
  1. Sharlin

    Um die beiden Vektoren zu konstruieren, die einen gegebenen Winkel aufspannen (naja, wie der Artikel sagt, kann einer davon beliebig gewählt werden, am einfachsten ist es, einfach (1, 0) zu verwenden), benötigt man natürlich trigonometrische Funktionen. Das ist genau äquivalent dazu, dass die Konstruktion einer Rotationsmatrix aus einem Winkel trigonometrische Funktionen erfordert, aber danach kann man beliebig viele Vektoren nur mit Skalarprodukten rotieren, oder dass die Konstruktion von e^ai = sin(a) + cos(a)*i trigonometrische Funktionen erfordert, aber danach ist es nur komplexe Multiplikation.

    Eine weitere unterhaltsame Möglichkeit, 2D-Rotationen zu zerlegen, sind drei Scherungen, ursprünglich von Paeth 1986 vorgestellt: https://silmon.github.io/arbitrary-image-rotation-using-shea...

  2. amluto

    Der Abschnitt über Dimensionen hat meinen "vagen Mathe"-Spinnensinn ausgelöst:

    > Während dieser Zickzack-Bewegung über die Ebene rotiert der Vektor weiterhin entlang der Ebene in genau derselben Weise wie im 2D-Fall oben.

    Was ist "die Ebene"? In 2D gibt es genau eine Ebene. In 3D rotiert jede Rotation innerhalb einer 2D-Ebene und erhält die Projektion des ursprünglichen Vektors auf das orthogonale Komplement der Ebene (das ist nur der Abstand von der Ebene und auf welcher Seite der ursprüngliche Punkt liegt).

    In 4D und höher, sorry, ist all unsere schöne 3D-menschliche Intuition falsch. Man kann gleichzeitig in zwei Ebenen rotieren, und das ist nicht äquivalent zu einer Rotation in irgendeiner gegebenen Ebene.

    Und tatsächlich ist der Artikel nahe daran, ein Beweis dafür zu sein, dass die Konstruktion in 4+ Dimensionen nicht funktioniert. Eine Spiegelung an einer Hyperebene der Kodimension 1 (d.h. einer n-1-dimensionalen Hyperebene) negiert einen einzelnen Basisvektor. Mache zwei davon, und die Spanne dieser Vektoren definiert eine 2D-Ebene, und man erhält eine Rotation in genau dieser Ebene und keiner anderen. Und das reicht nicht aus, um eine allgemeine Rotation zu beschreiben.

    Natürlich gibt es in 4D andere Arten von spiegelungsähnlichen Operationen, wie man in 3D die x- und y-Koordinaten negieren kann, während z unverändert bleibt. (Diese spezifische Operation ist selbst eine Rotation und ändert nicht die Parität!) Ich denke, wenn man bereit ist, die Idee der "Spiegelung" angemessen zu dehnen, kann man alle Rotationen in höheren Dimensionen erzeugen.

  3. kazinator

    Beachte, dass man, um ein starres, physisches Modell einer 2D-Form zu spiegeln, es im 3D-Raum um die Spiegelachse drehen muss. D.h. Spiegelung ist nur eine Rotation, die eine vorübergehend ausgeliehene zusätzliche Dimension beinhaltet.

Mehr von diesem Tag

2026-08-22