Die Darstellung von Drehungen als sogenannte Quaternionen beruht auf ei-ner speziellen Erweiterung der komplexen Zahlen, wobei die multiplikative Verkn¨upfung entsprechend der Verkettung von Drehungen im Raum nicht kommutativ ist. Dies entspricht der Struktur eines Schiefk¨orpers bzw. eines Divisionsrings (hier¨uber k¨onnen Divisionsalgebren gebildet werden) und im folgenden wird die Algebra der Quaternionen ¨uber den reellen Zahlen mitH bezeichnet (die Bezeichnung ist in der Literatur nicht einheitlich; Klingen-berg/Klein [KK72] verwendet z. B.L). Es gilt:
Satz 15 (Satz von Frobenius)
Jede endlich dimensionale Divisionsalgebra A uber¨ R ist isomorph zu R,C oder H.
Insofern bilden die Quaternionen die einzige und kleinstm¨ogliche Einbet-tung von Rotationen in eine R-Algebrastruktur, denn die Multiplikation in Rund Cist kommutativ.
In der Literatur sind zwei Darstellungsformen f¨ur Quaternionen gebr¨auch-lich. In der Physik, speziell der klassischen Mechanik, wird eine Darstellung von Quaternionen als 2×2-Matrizen ¨uberCbevorzugt und h¨aufig als Cayley-Kleinsche Parameter bezeichnet. Zur Isomorphie zwischen den unit¨aren komplexen 2×2-Matrizen (genauer: Paaren von Matrizen) und den reellen orthogonalen 3×3-Matrizen siehe [Gol89].
Quaternionen k¨onnen alternativ als Erweiterung der komplexen Zahlen eingef¨uhrt werden (siehe z. B. [MM97]), woraus eine einfach zu implementie-rende Darstellung gewonnen werden kann. Zur Implementierung siehe auch direkt Abschnitt 6.4.3.
6.4.1 Cayley-Kleinsche Parameter;
2×2-Matrixdarstellung ¨uber C
Wir gehen zun¨achst auf die Darstellung mittels komplexer 2×2-Matrizen ein und betrachten hierzu den folgenden Satz von Matrizen (Paulische Spin
6.4 Quaternionen (Cayley-Kleinsche Parameter,H) 91 Matrizen):
1=
µ 1 0 0 1
¶
; ρx :=
µ 0 1 1 0
¶
; ρy :=
µ 0 −i
i 0
¶
; ρz :=
µ 1 0 0 −1
¶
Diese sind linear unabh¨angig und die Darstellung eines Punktesp= (p1, p2, p3)∈R3 erfolgt durch die komplexe Matrix der Form
Pˆ =p1ρx+p2ρy+p3ρz=
µ p3 p1−ip2 p1+ip2 −p3
¶ .
F¨ur eine Drehung mit Drehachse d ∈ R3 mit kdk = 1 und Drehwinkel θ definieren wir zudem die folgende Matrix:
Q= cosθ
21+isinθ
2(d1ρx+d2ρy+d3ρz)
Die Drehung eines Vektors bzw. Punktespmit Matrixdarstellung ˆP ist durch das Produkt
P˜ =QP Qˆ a
gegeben. Q ist eine unit¨are komplexe Matrix mit Determinante detQ= 1.
Unit¨are Matrizen sind durch die GleichungQaQ=1=QQadefiniert, wobei Qa = ¯Qt die adjungierte Matrix zu Q bezeichnet mit ¯Q f¨ur die konjugiert komplexe Matrix. Es gilt also insbesondere Qa = Q−1 (vgl. Definition or-thogonaler Matrizen durchRt=R−1). Man kann zeigen, daß die MatrixQ mitα, β∈Cimmer von der Gestalt
Q=
µ α β
−β¯ α¯
¶
ist, wobei zus¨atzlich αα¯+ββ¯= 1
gelten muß. Durch diese Bedingung werden die vier Freiheitsgrade bei der Wahl der Komponenten von α und β auf die drei Freiheitsgrade bei r¨aumlichen Drehungen eingeschr¨ankt.
6.4.2 R4-Vektordarstellung von H
Im folgenden wird nun die alternative Betrachtungsweise von Quaternionen als Erweiterung der komplexen Zahlen vorgestellt. Wie ¨ublich ist i2 =−1.
Zudem f¨uhren wir zwei neue Basiselemente j und kein, wobei gilt:
i2 =j2=k2=ijk=−1 (6.2) ij =−ji=k, jk=−kj=i, ki=−ik =j . (6.3)
Quaternionen besitzen nun eine Darstellung als ˆq = q0 +q1i+q2j +q3k mitqi ∈R. Zur Vereinfachung der Schreibweise f¨uhren wir den Vektor I= (i, j, k) ein, der den imagin¨aren Basisanteil bzw. Unterraum repr¨asentiert.
Mit q := (q1, q2, q3) ∈R3 ergibt sich damit ˆq = q0+hq,Ii. Aus (6.3) folgt direkt, daß die Quaternionenmultiplikation, entsprechend der Verkettung von Drehungen, nicht kommutativ ist. Das Produkt zweier Quaternionen a, bergibt sich insgesamt wie folgt:
ˆ
aˆb = (a0+a1i+a2j+a3k)(b0+b1i+b2j+b3k)
= (a0b0−a1b1−a2b2−a3b3)+
(a0b1+a1b0+a2b3−a3b2)i+
(a0b2−a1b3+a2b0+a3b1)j+
(a0b3+a1b2−a2b1+a3b0)k
= (a0b0− ha, bi)+
(a0b1+b0a1+a2b3−a3b2)i+
(a0b2+b0a2+a3b1−a1b3)j+
(a0b3+b0a3+a1b2−a2b1)k
= (a0b0− ha, bi) +ha0b+b0a+a×b,Ii (6.4) Die Darstellung eines Punktes bzw. Vektors p im dreidimensionalen Raum (d.h.p∈R3) ergibt sich aus
ˆ
p=p1i+p2j+p3k=hp,Ii (6.5) und die Darstellung einer Rotation mit Drehachse d ∈ R3,kdk = 1 und Drehwinkel θaus
ˆ
q= cosθ
2 + sinθ
2d .ˆ (6.6)
Das Produkt ˜p := ˆqpˆq¯ ist die Quaternionendarstellung f¨ur den bzgl. der Drehachsedum den Winkel θgedrehten Punkt p. Das konjugierte Quater-nion ist definiert durch ¯q:=q0−q1i−q2j−q3k=q0− hq,Ii. Man beachte, daß die zu ˆq ¨aquivalente Drehung um die Achse−dund den Winkel 2π−θ eine andere Quaternionendarstellung besitzt. Eine gegebene Drehung kann also im allgemeinen durch genau zwei verschiedene Quaternionen erzeugt werden. F¨ur die einer Drehung entsprechenden Quaternionen ˆqq¯gilt wegen cos2α+ sin2α = 1 und kdk = 1 (vgl. auch Matrixdarstellung von Quater-nionen QQa =1):
ˆ
qq¯=q02+q12+q22+q32= 1 = ¯qqˆ (6.7) F¨ur die Drehungsoperation ˜p = ˆqp¯ˆq wird nun eine explizite Darstellung abgeleitet (siehe auch die nachfolgende Nebenrechnung). Man beachte, daß
6.4 Quaternionen (Cayley-Kleinsche Parameter,H) 93 wieder ein rein imagin¨arer Anteil entsteht, welcher der Darstellung eines Punktes entspricht.
qpˆq¯(6.4)=
qˆp mitp0=0
z }| {
(−hq, pi+hq0p+q×p,Ii)
¯ q
z }| { (q0− hq,Ii)
(6.4)
= –q0hq, pi+hq0p+q×p, qi+
hhq, piq+q0(q0p+q×p) + (q0p+q×p)×(−q),Ii
= –q0hq, pi+q0hp, qi+hq×p, qi+
hhq, piq+q20p+q0(q×p) +q0(p×(−q)),Ii+ h(q×p)×(−q),Ii
(6.8)
= hhq, piq+q20p+ 2q0(q×p),Ii+hq×(q×p),Ii
(6.9)
= hhq, piq+q20p+ 2q0(q×p),Ii+h(q20−1)p+hq, piq,Ii
= h2hq, piq+ (2q20−1)p+ 2q0(q×p),Ii
= 2hhq, piq+ (q02−0,5)p+q0(q×p),Ii
Nebenrechnung zu (6.8):
q×(q×p) = q×(q2p3−q3p2, q3p1−q1p3, q1p2−q2p1)
= (q2(q1p2−q2p1)−q3(q3p1−q1p3), q3(q2p3−q3p2)−q1(q1p2−q2p1), q1(q3p1−q1p3)−q2(q2p3−q3p2))
= ((−q22−q23)p1+ (q2p2+q3p3)q1, (−q23−q21)p2+ (q3p3+q1p1)q2, (−q21−q22)p3+ (q1p1+q2p2)q3)
(6.9)
(6.7)
= ((q20−1 +q12)p1+ (q2p2+q3p3)q1, (q20−1 +q22)p2+ (q1p1+q3p3)q2, (q20−1 +q32)p3+ (q1p1+q2p2)q3)
= (q02−1)p+hq, piq
Es wird nun hergeleitet, wie die Matrixdarstellung einer Rotation aus der Quaternionendarstellung abgeleitet werden kann. Hierzu betrachten wir zun¨achst nochmals das Produkt zweier Quaternionen:
ˆ
aˆb = (a0b0−a1b1−a2b2−a3b3)+
(a0b1+a1b0+a2b3−a3b2)i+
(a0b2−a1b3+a2b0+a3b1)j+
(a0b3+a1b2−a2b1+a3b0)k
Bez¨uglich der Basis (1, i, j, k) des Quaternionenraumes kann diese Multi-plikation durch eine 4×4-Matrix ausgedr¨uckt werden, wobei die Quaternio-nenmultiplikation mit a von links bzw. mit b von rechts jeweils durch eine MatrixL(a) bzw.R(b) beschrieben ist:
ˆ
aˆb=L(a)b=
a0 −a1 −a2 −a3
a1 a0 −a3 a2 a2 a3 a0 −a1 a3 −a2 a1 a0
b=R(b)a=
b0 −b1 −b2 −b3
b1 b0 b3 −b2 b2 −b3 b0 b1 b3 b2 −b1 b0
a
Damit ergibt sich f¨ur die Drehungsoperation ˜p = ˆqp¯ˆq die folgende 4× 4-Matrixdarstellung:
ˆ
qpˆq¯=L(ˆq)ˆp¯q =L(ˆq)R(¯q)ˆp= (6.10)
1 0 0 0
0 q02+q12−q22−q32 2(q1q2−q0q3) 2(q1q3+q0q2) 0 2(q1q2+q0q3) q02−q12+q22−q32 2(q2q3−q0p1) 0 2(q1q3−q0q2) 2(q2q3+q0q1) q02−q12−q22+q32
0 p1 p2 p3
Der Matrixeintrag (1,1) ergibt sich aus q02 +q12+q22 +q32(6.7)= 1. Die 3× 3-Untermatrix des imagin¨aren Basisanteils i, j, kentspricht der Rotationsma-trix imR3.
6.4.3 Implementierung der Quaternionenalgebra H
Die Implementierung kann mittels eines Skalarsw∈Rf¨ur den reellen Anteil und eines Vektorsv ∈R3 f¨ur die Koeffizienten der imagin¨aren Anteilei, j, k erfolgen. Dies hat den Vorteil, daß die Basisoperationen f¨ur Quaternionen aufbauend auf dem ¨ublichen Skalar- und Vektorprodukt des R3 implemen-tiert werden k¨onnen. F¨ur eine Drehung mit Drehachse d, kdk = 1 und Winkel θergibt sich nach (6.6):
w:= cosθ
2; v:= sinθ 2d
Die Transformation eines Punktes p ∈ R3 kann dann mit (6.8) wie folgt berechnet werden:
˜
p:= 2(hv, piv+ (w2−0.5)p+w(v×p))
Eine Verkettung zweier Rotationen, siehe (6.4), ist gegeben durch wgesamt:=w1w2− hv1, v2i
vgesamt:=w1v2+w2v1+v1×v2 .
Die Konvertierung von der Quaternionendarstellung in eine reelle 3× 3-Ro-tationsmatrix ergibt sich aus (6.10).
Kapitel 7
Infinitesimale Drehungen
In Kapitel 6 wurden Eigenschaften r¨aumlicher Drehungen zusammengefaßt und verschiedene Darstellungsm¨oglichkeiten diskutiert. In diesem Abschnitt wird nun untersucht, welche zus¨atzlichen Eigenschaften f¨ur sehr kleine Dre-hungen gelten. Eine infinitesimale Drehung ist einen Drehungsoperation, durch welche die Vektorkomponenten nur geringf¨ugig ver¨andert werden, d.
h. es soll gelten:
˜
xi =xi+εi1x1+εi2x2+εi3x3 . (7.1)
˜
x bezeichnet im folgenden immer das Bild von x unter einer infinitesi-malen Drehung. Dieεij werden als infinitesimale Gr¨oßen angesehen, so daß in allen folgenden Rechnungen nur die erste, nichtverschwindende Ordnung derεij ber¨ucksichtigt wird. Gleichheit unter Vernachl¨assigung von Termen h¨oherer Ordnung wird durch .
= gekennzeichnet. Die komponentenweisen Beziehungen ˜xi=xi+P
jεijxj lauten in Matrixschreibweise ˜x= (1+εεε)x.
Eigenschaft 16
Infinitesimale Drehungen verhalten sich kommutativ.
Beweis:
Seien (1+εεε1) und (1+εεε2) infinitesimale Drehungen. Damit folgt:
(1+εεε1)(1+εεε2) =12+εεε11+1εεε2+εεε1εεε2 .
=1+εεε1+εεε2
¤ Eigenschaft 17
Das inverse Element zu (1+εεε) ist (1−εεε).
Beweis:
Dies folgt aus (1+εεε)(1−εεε) =12+εεε1−1εεε+εεε2 .
=1
¤ Eigenschaft 18
Jede infinitesimale DrehungR= (1+εεε) ist von der Form R =1+
0 γ −β
−γ 0 α
β −α 0
=
1 γ −β
−γ 1 α
β −α 1
.
95
Beweis:
Orthogonale Matrizen sind durch R−1 =Rt definiert, so daß f¨ur infinitesi-male Drehungen gilt: 1−εεε .
=R−1 =Rt =1+εεεt und damit folgt−εεε .
=εεεt, d. h. εεε ist antisymmetrisch. F¨ur jede antisymmetrische Matrix εεε gilt nun:
εii= 0 und εij =−εji f¨uri6=j.
Die Vorzeichenverteilung kann beliebig gew¨ahlt werden. Im Hinblick auf eine einfache Berechnung der Koordinatentransformation als Vektorprodukt (siehe Eigenschaft 19), wird sie jedoch wie oben angegeben vereinbart.
¤ Eigenschaft 18 kann auch angelehnt an die Darstellung durch Euler-sche Winkel abgeleitet werden. F¨ur eine infinitesimale Drehung sind die eindeutig bestimmten Eulerschen Winkel nach Satz 14 bzgl. des Drehach-sensystems z, x, z jedoch nicht notwendigerweise klein. In diesem Falle ist die Betrachtung des Drehachsensystems x, y, z g¨unstiger, da die Bilder der Koordinatenachsen nur geringf¨ugig von ihren Urbildern abweichen. Zudem sind infinitesimale Drehungen nach Eigenschaft 16 kommutativ und die Rei-henfolge der Operationen damit unerheblich.
F¨ur infinitesimale Winkelϕergeben sich f¨ur cosϕund sinϕdie folgenden Linearisierungen aus der Reihenentwicklung der Funktionen:
sinϕ=ϕ1−ϕ3 3! +ϕ5
5! −. . . .
=ϕ cosϕ=ϕ0− ϕ2
2! +ϕ4
4! −. . . .
= 1
Aus den Matrixdarstellungen f¨ur die einzelnen Teildrehungen folgt damit:
1 0 0
0 cosϕ −sinϕ 0 sinϕ cosϕ
cosβ 0 −sinβ
0 1 0
sinβ 0 cosβ
cosψ −sinψ 0 sinψ cosψ 0
0 0 1
.
=
1 0 0
0 1 −ϕ
0 ϕ 1
1 0 −β
0 1 0
β 0 1
1 −ψ 0
ψ 1 0
0 0 1
.
=
1 −ψ −β
ψ 1 −ϕ
β ϕ 1
(7.2) Mitψ=−γ und ϕ=−α entspricht dies der Form nach Eigenschaft 18:
R=1+
0 γ −β
−γ 0 α
β −α 0
=1+εεε . Eigenschaft 19
F¨ur die ¨Anderung ∆x eines Vektors x unter einer infinitesimalen Drehung (1+εεε)in der obigen Darstellung gilt ∆x= (α, β, γ)×x.
7.1 H¨ullk¨orpereigenschaft infinitesimaler Rotationen 97 Beweis:
Die ¨Anderung ∆x eines Vektors x hat nach Gleichung 7.1 die Form ∆x =
˜
x−x=εεεx. Mit Eigenschaft 18 ist damit
∆x= (x3β−x2γ, x1γ−x3α, x2α−x1β) = (α, β, γ)×x
¤ Eigenschaft 20
Eine infinitesimale Rotation eines konvexen Objektes erzeugt einen H¨ullk¨or-per f¨ur dieses Objekt unter einer orthogonalen Transformation.
Der Beweis dieser f¨ur das lokale Optimierungsverfahren zentralen Eigen-schaft wird im folgenden Abschnitt gegeben. EigenEigen-schaft 20 entspricht der Aussage von Satz 31.