Matrix 4×4 Yaw-Pitch-Roll Rotation
Onlinerechner zur Rotation einer 4x4 Matrix um Y, X und Z Achsen (Quaternion)
YXZ-Achsen Rotations Rechner 4×4
Anleitung
Diese Funktion berechnet die 3D Rotation mit Quaternion. Rotationsreihenfolge: Z → X → Y (Roll-Pitch-Yaw). Geben Sie die Winkel ein und wählen Sie Aktiv/Passiv. Klicken Sie auf Rechnen.
Quaternion Rotation - Übersicht
Was ist eine Quaternion?
Die Quaternion ist eine Erweiterung der komplexen Zahlen. Sie vermeidet das Gimbal-Lock-Problem, das bei Euler-Winkeln auftritt, wenn zwei Drehachsen übereinander liegen.
Rotationsreihenfolge
Der Rechner verwendet die Roll-Pitch-Yaw Rotationsreihenfolge:
- 1. Z-Achse (Roll) - Rotation um die Z-Achse
- 2. X-Achse (Pitch) - Rotation um die X-Achse
- 3. Y-Achse (Yaw) - Rotation um die Y-Achse
Unterschied zu Euler-Winkeln
Die Matrizen der beiden Verfahren unterscheiden sich, da auch die Zuordnung der Achsen und die Reihenfolge der Berechnung unterschiedlich sind. 4×4 Matrix mit homogenen Koordinaten.
Vorteile der Quaternion
- Kein Gimbal Lock: Vermeidet das Problem überlappender Drehachsen
- Effizienter: Weniger Rechenoperationen als Euler-Winkel
- Interpolation: Sanfte Übergänge zwischen Rotationen (SLERP)
- Stabiler: Numerisch robuster bei Berechnungen
- 4×4 Format: Kombinierbar mit Translation und Skalierung
Matrizen Rotation um die X, Y und Z Achsen
Bei der Matrix Rotation wird zwischen aktiver und passiver Rotation unterschieden.
Die Quaternion
Diese Funktion berechnet die 3D Rotation eines Körpers mit der Quaternion. Die Quaternion ist eine Erweiterung der komplexen Zahlen. Damit wird gegenüber der Rotation mit Euler-Winkeln das Problem vermieden, das entsteht, wenn bei einer Konfiguration 2 Drehachsen übereinander liegen (Gimbal Lock).
Rotationsreihenfolge
Der Rechner nimmt beim Erstellen einer Rotationsmatrix eine Roll-Pitch-Yaw-Rotationsreihenfolge an:
- Objekt wird zuerst um die Z-Achse gedreht (Roll)
- Dann um die X-Achse (Pitch)
- Schließlich um die Y-Achse (Yaw)
Aktive Rotation
Bei der aktiven Matrizen-Rotation wird das Objekt im Koordinatensystem gedreht. Die aktive Matrizen-Rotation wird auch geometrische Transformation genannt. Die Drehung verläuft entgegen dem Uhrzeigersinn.
Beispiel einer 90° Drehung der X-Achse:
\(R_x(\alpha)= \begin{bmatrix}1 & 0 & 0 & 0\\ 0 & \cos \alpha & -\sin \alpha & 0\\0 & \sin \alpha & \cos \alpha & 0 \\0 & 0 & 0 & 1\end{bmatrix} = \begin{bmatrix}1 & 0 & 0 & 0\\ 0 & 0 & -1 & 0\\ 0 & 1 & 0 & 0 \\0 & 0 & 0 & 1\end{bmatrix}\)
Passive Rotation
Bei der passiven Rotation wird das Koordinatensystem gedreht. Der Vektor bleibt unverändert. Die Drehung verläuft im Uhrzeigersinn.
Beispiel einer 90° Drehung der X-Achse:
\(R_x^{-1}(\alpha)= \begin{bmatrix}1 & 0 & 0 & 0\\ 0 & \cos \alpha & \sin \alpha & 0\\0 & -\sin \alpha & \cos \alpha & 0 \\0 & 0 & 0 & 1\end{bmatrix} = \begin{bmatrix}1 & 0 & 0 & 0\\ 0 & 0 & 1 & 0\\ 0 & -1 & 0 & 0 \\0 & 0 & 0 & 1\end{bmatrix}\)
Yaw, Pitch, Roll
Ein 3D-Körper kann um drei Achsen gedreht werden. Diese Rotationen werden im Englischen als Yaw, Pitch, Roll bezeichnet.
Einzelne Rotationsmatrizen (4×4):
Roll (Z-Achse):
\(R_z(\alpha)= \begin{bmatrix}\cos \alpha & -\sin \alpha & 0 & 0\\ \sin \alpha & \cos \alpha & 0 & 0\\0 & 0 & 1 & 0\\0 & 0 & 0 & 1\end{bmatrix}\)
Pitch (X-Achse):
\(R_x(\gamma)= \begin{bmatrix}1 & 0 & 0 & 0\\0 & \cos \gamma & -\sin \gamma & 0\\0 & \sin \gamma & \cos \gamma & 0\\0 & 0 & 0 & 1\end{bmatrix}\)
Yaw (Y-Achse):
\(R_y(\beta)= \begin{bmatrix}\cos \beta & 0 & \sin \beta & 0\\0 & 1 & 0 & 0\\-\sin \beta & 0 & \cos \beta & 0\\0 & 0 & 0 & 1\end{bmatrix}\)
Formel zur Yaw, Pitch, Roll Rotation
Jede Rotationsmatrix ist eine einfache Erweiterung der 2D-Rotationsmatrix. Zum Beispiel führt die Yaw-Matrix im Wesentlichen eine 2D-Rotation in Bezug auf die X- und Z-Koordinaten durch, während die Y-Koordinate unverändert bleibt. Die Yaw-, Pitch- und Roll-Drehungen können verwendet werden, um einen 3D-Körper in jede Richtung zu platzieren. Eine einzige Rotationsmatrix kann gebildet werden, indem die Matrizen multipliziert werden.
\(R(\alpha,\beta,\gamma) = R_z(\alpha)\cdot R_x(\beta)\cdot R_y(\gamma)\)
\( \begin{bmatrix} \cos \alpha \cdot \cos \beta & \cos \alpha \cdot \sin \beta \cdot \sin \gamma - \sin \alpha \cdot \cos \gamma & \cos \alpha \cdot \sin \beta \cdot \cos \gamma + \sin \alpha \cdot \sin \gamma & 0 \\ \sin \alpha \cdot \cos \beta & \sin \alpha \cdot \sin \beta \cdot \sin \gamma + \cos \alpha \cdot \cos \gamma & \sin \alpha \cdot \sin \beta \cdot \cos \gamma - \cos \alpha \cdot \sin \gamma & 0 \\ -\sin \beta & \cos \beta \cdot \sin \gamma & \cos \beta \cdot \cos \gamma & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix}\)
Praktische Anwendungen
Robotik & Aerospace:
- Flugzeug- und Drohnensteuerung
- Satelliten-Orientierung
- Roboterarm-Kinematik
- IMU-Sensoren (Inertial Measurement Units)
Gaming & VR/AR:
- Kamera-Rotation in 3D-Spielen
- Virtual Reality Head-Tracking
- Charakter-Animation
- Motion Capture Systeme
Quaternion vs. Euler-Winkel
Vorteile Quaternion:
- Kein Gimbal Lock Problem
- Effiziente Interpolation (SLERP)
- Numerisch stabiler
- Weniger Rechenoperationen
- Bessere für Animation
Vorteile Euler-Winkel:
- Intuitiver verständlich
- Direkte Winkeldarstellung
- Einfachere Visualisierung
- Geeignet für Benutzeroberflächen
- Weniger Speicherbedarf (3 vs. 4 Werte)
4×4 Matrix Besonderheiten
Die 4×4 Rotationsmatrix nutzt homogene Koordinaten, die in der 3D-Grafik unverzichtbar sind:
- Kombinierbarkeit: Rotation, Translation und Skalierung in einer Matrix
- Projektionen: Perspektivische Projektionen möglich
- Verkettung: Mehrere Transformationen durch einfache Multiplikation
- Standardformat: In OpenGL, DirectX, Unity, Unreal Engine
- Vierte Zeile/Spalte: (0, 0, 0, 1) für homogene Koordinaten