Die Rotationsmatrix in CARDAN-Winkeln
![]() |
![]() |
(4.197a) |
![]() |
(4.197b) |
![]() |
(4.197c) |
ist gleich der Rotationsmatrix mit einer Einheitsquaternion Durch Vergleich von Matrix-Elementen erhält man
![]() |
(4.198) |
Die Lösung wird im Allgemeinen nicht eindeutig sein, wie das für trigonometrische Probleme typisch ist. Man kann aber durch eine Analyse des Definitionsbereichs der Winkel Eindeutigkeit erzielen.
Umgekehrt kommt man von der Rotationsmatrix leicht zur Einheitsquaternion. Es gilt
4q0q1 | = | ![]() |
(4.199a) |
4q02-1 | = | 4q02 -q02 -q12 -q22 -q32 =r11 +r22 +r33. | (4.199b) |
![]() |
(4.199c) |
Die anderen Komponenten ergeben sich zu
Beispiel Quaternionen, Drehungen um Cardan--Winkel | ||||||||
Gegeben sei die Rotationsmatrix ![]()
![]() |
Für die praktische Ausführung der Rechnungen (4.199d) ergibt sich das Problem, daß q0 Null sein kann bzw. fast Null. In diesem Fall kann man (4.199d) nicht zur Bestimmung der Einheitsquaternion benutzen. Um diesen Sachverhalt genauer zu erläutern betrachtet man die Spur der Rotationsmatrix:
![]() |
(4.200) |
Ist so ist
und man kann problemlos durch q0 dividieren und die Formeln (4.199d) verwenden.
Ist dagegen so kann q0 nahe Null sein. In diesem Fall sucht man den größten Hauptdiagonalwert. Ist das z.B.
so folgt daraus, daß |q1| größer ist als |q2| bzw.
Die Komponenten
lassen sich ebenfalls aus den Hauptdiagonalelementen der Rotationsmatrix bestimmen.
Es gilt (bei Wahl des positiven Vorzeichens für die Wurzel):
![]() |
(4.201) |
Daraus ergeben sich die folgenden Rechenregeln:
![]() |
(4.202) |
![]() |
(4.203) |
![]() |
(4.204) |
Drehung | CARDAN-Winkel | um | Quaternion |
![]() |
![]() |
x-Achse | ![]() |
![]() |
![]() |
y-Achse | ![]() |
![]() |
![]() |
z-Achse | ![]() |
Dann ist die die Rotation beschreibende Einheitsquaternion
![]() |
(4.205) |
Beispiel Bestimmung der Einheitsquaternion bei Kenntnis der Cardan-Winkel | ||||||||||||||||||||||||
Aus der Kenntnis der CARDAN-Winkel
In Übereinstimmung mit dem voranstehenden Beispiel ergibt sich
|