Wikipedia · einfach zusammengefasst · Stand
Drehmatrix
Eine Drehmatrix oder Rotationsmatrix ist eine reelle, orthogonale Matrix mit Determinante +1. Ihre Multiplikation mit einem Vektor lässt sich interpretieren …
Inhalt6 Abschnitte
Definition und grundlegende Eigenschaften
Eine Drehmatrix (auch Rotationsmatrix) ist eine reelle, orthogonale Matrix mit Determinante +1. Für alle Vektoren x und y aus ℝⁿ gilt daher ⟨Rx,Ry⟩ = ⟨x,y⟩; Längen und Winkel bleiben erhalten. Zusätzlich gilt det R = 1, sodass die Orientierung des Koordinatensystems erhalten bleibt. Äquivalent dazu gelten RᵀR = RRᵀ = Iₙ und Rᵀ = R⁻¹.
Die Multiplikation R p kann als aktive Drehung des Vektors p oder als passive Drehung des Koordinatensystems verstanden werden. Bei der passiven Deutung bleibt der Vektor unverändert, erhält aber im neuen Koordinatensystem andere Koordinaten; der Drehsinn ist gegenüber der aktiven Drehung umgekehrt. Jede solche Matrixdrehung erfolgt um den Ursprung, weil der Nullvektor durch jede Matrix auf sich selbst abgebildet wird.
Eine Drehung R₁ mit anschließender Drehung R₂ wird durch R₂R₁ beschrieben. Da die Matrizenmultiplikation im Allgemeinen nicht kommutativ ist, führt R₁R₂ meist zu einem anderen Ergebnis. Die Menge aller Drehmatrizen bildet die spezielle orthogonale Gruppe SO(n) = {R: ℝⁿ → ℝⁿ | RᵀR = Iₙ, det R = 1}. SO(n) ist außerdem eine Lie-Gruppe, also eine differenzierbare Mannigfaltigkeit mit stetig differenzierbarer Multiplikation und Inversion. Ihre Dimension beträgt n(n−1)/2.
Drehung in der Ebene ℝ²
Eine aktive Drehung des Vektors p um den Ursprung mit dem Winkel α im mathematisch positiven Sinn (gegen den Uhrzeigersinn) lautet p′ = Rαp mit
Rα = [[cos α, −sin α], [sin α, cos α]].
Die Spalten der Matrix sind die Bilder der Standardbasisvektoren: (1,0)ᵀ wird auf (cos α, sin α)ᵀ und (0,1)ᵀ auf (−sin α, cos α)ᵀ abgebildet. Für einen Punkt P = (x,y) ergeben sich deshalb x′ = x cos α − y sin α und y′ = x sin α + y cos α.
Bei einer passiven Drehung des Koordinatensystems wird die inverse Matrix verwendet:
Rα⁻¹ = [[cos α, sin α], [−sin α, cos α]] = R−α.
Die Verkettung zweier positiven Drehungen um α und β ist wieder eine Drehung, nämlich Rα+β = RαRβ. Die Matrixmultiplikation liefert dabei unmittelbar die Additionstheoreme für Sinus und Kosinus.
Für infinitesimal kleine Winkel dα gilt in der Ebene R(dα) = [[1, −dα], [dα, 1]] = I + dαJ mit J = [[0, −1], [1, 0]]. Die SO(2) besitzt nur eine linear unabhängige Erzeugende. Weil J² = −I ist, gilt für endliche Drehungen R(α) = I cos α + J sin α = exp(αJ).
Drehmatrizen im Raum ℝ³
Die elementaren Drehungen um die kartesischen Koordinatenachsen lauten:
Rx(α) = [[1,0,0], [0,cos α,−sin α], [0,sin α,cos α]],
Ry(α) = [[cos α,0,sin α], [0,1,0], [−sin α,0,cos α]],
Rz(α) = [[cos α,−sin α,0], [sin α,cos α,0], [0,0,1]].
Im Rechtssystem entsprechen positive Winkel Drehungen gegen den Uhrzeigersinn, im Linkssystem Drehungen im Uhrzeigersinn, jeweils beim Blick entgegen der positiven Drehachse auf den Ursprung. Im Rechtssystem beschreibt die Rechte-Hand-Regel den Drehsinn. Bei passiven Koordinatensystemdrehungen müssen die Vorzeichen aller Sinuseinträge geändert werden. Das unterschiedliche Vorzeichenmuster der y-Achsen-Matrix folgt aus der gewählten Orientierung.
Für eine Drehung um eine beliebige Ursprungsgerade mit Einheitsvektor n̂ = (n₁,n₂,n₃)ᵀ gilt in Komponentenschreibweise
[R_n̂(α)]ᵢⱼ = (1 − cos α)nᵢnⱼ + cos α δᵢⱼ + sin α εᵢₖⱼnₖ,
wobei δᵢⱼ das Kronecker-Delta und εᵢₖⱼ das Levi-Civita-Symbol ist. Für einen Vektor x gilt äquivalent
R_n̂(α)x = (1 − cos α)n̂(n̂·x) + cos α x + sin α(n̂×x).
In Matrixform lautet dies R_n̂(α) = (1 − cos α)n̂⊗n̂ + I cos α + [n̂]× sin α. Dabei sind I die Einheitsmatrix, ⊗ das dyadische Produkt und [n̂]× die Kreuzproduktmatrix. Jede beliebige Drehung kann auch durch drei aufeinanderfolgende Drehungen mit eulerschen Winkeln um bestimmte Koordinatenachsen beschrieben werden.
Eine von der Identität verschiedene Drehmatrix R ≠ I in ℝ³ besitzt den nicht entarteten Eigenwert 1. Der zugehörige Eigenraum ist die Drehachse.
Drehungen in ℝⁿ und ihr Eigensystem
In ℝⁿ wird eine Drehung nicht grundsätzlich durch eine Achse, sondern durch eine Drehebene beschrieben. Sei ĝ₁ und ĝ₂ ein Paar orthogonaler Einheitsvektoren mit ĝ₁·ĝ₂ = 0 und |ĝ₁| = |ĝ₂| = 1. Sie spannen die Drehebene auf. Mit V = ĝ₁⊗ĝ₁ + ĝ₂⊗ĝ₂, W = ĝ₁⊗ĝ₂ − ĝ₂⊗ĝ₁ und der Einheitsmatrix Iₙ lautet die Drehmatrix
R = exp(αW) = Iₙ + (cos α − 1)V + sin(α)W.
Die Matrixexponentialfunktion ist definiert durch exp(αW) := Σₖ₌₀^∞ αᵏWᵏ/k! mit W⁰ := Iₙ. Die Darstellung folgt aus W² = −V, WV = VW = W und V² = V; daraus ergeben sich W²ⁿ = (−1)ⁿV und W²ⁿ⁺¹ = (−1)ⁿW sowie die Taylorreihen von Sinus und Kosinus.
Jeder Vektor n, der senkrecht auf ĝ₁ und ĝ₂ steht, bleibt fest und ist Eigenvektor zum Eigenwert 1. In der Drehebene liegen die komplexen Eigenwerte λ₁,₂ = e^{±iα} mit den Eigenvektoren v̂₁,₂ = (√2/2)(ĝ₁ ± i ĝ₂), wobei i² = −1. Aus Eigenwerten und Eigenvektoren lassen sich daher Drehwinkel und Drehebene rekonstruieren. Für eine Drehung in einer Ebene gilt
Sp R = n + 2 cos(α) − 2,
also α = arccos((Sp(R) + 2 − n)/2), sowie
W = (R − Rᵀ)/(2 sin α).
Eine Drehung kann in ℝⁿ gleichzeitig in n/2 Ebenen bei geradem n oder in (n−1)/2 Ebenen bei ungeradem n mit mehreren unterschiedlichen Winkeln erfolgen. Deshalb muss eine allgemeine Drehmatrix in geraden Dimensionen keinen reellen Eigenwert 1 besitzen; in zwei Dimensionen ist dies unmittelbar anschaulich.
Parametrisierung und infinitesimale Drehungen
Drehmatrizen in ℝ³ können unter anderem durch Euler-, Kardan- und Tait-Bryan-Winkel, durch die Euler-Rodrigues-Formel auf Grundlage von Quaternionen oder durch Rotationsvektoren parametrisiert werden. Für den Rotationsvektor α⃗ = αn̂ sind vier Darstellungen derselben Drehmatrix angegeben:
α⃗ = αn̂: R = I + (sin α/α)[α⃗]× + ((1−cos α)/α²)[α⃗]ײ = exp([α⃗]×);
α⃗ = tan(α/2)n̂: R = I + 2/(1 + α⃗·α⃗)([α⃗]× + [α⃗]ײ);
α⃗ = sin(α)n̂: R = I + [α⃗]× + 1/(1 + cos α)[α⃗]ײ;
α⃗ = sin(α/2)n̂: R = I + 2 cos(α/2)[α⃗]× + 2[α⃗]ײ.
Hier ist α der Drehwinkel, n̂ der Einheitsvektor in Richtung der Drehachse und [α⃗]× die Kreuzproduktmatrix des Rotationsvektors.
Für einen infinitesimal kleinen Winkel dα werden sin x = x und cos x = 1 verwendet. Dadurch entsteht R(dα) = I + dαJ. Die Erzeugende J ist die Ableitung der Rotationsmatrix an der Identität: J = (dR(α)/dα)|α=0. Endliche Drehungen erhält man durch
R(α) = limN→∞ [I + (α/N)J]ᴺ = exp(αJ) = Σₙ₌₀^∞ (αJ)ⁿ/n!.
Die Erzeugenden sind spurfrei und schiefsymmetrisch: Sp J = 0 und J + Jᵀ = 0. Sie bilden die Lie-Algebra so(n), deren Dimension G = n(n−1)/2 beträgt. Für SO(2) gibt es eine, für SO(3) drei linear unabhängige Erzeugende. In ℝ³ sind dies
Jx = [[0,0,0],[0,0,−1],[0,1,0]], Jy = [[0,0,1],[0,0,0],[−1,0,0]] und Jz = [[0,−1,0],[1,0,0],[0,0,0]].
Für eine beliebige Achse n̂ gilt J_n̂ = [[0,−n_z,n_y],[n_z,0,−n_x],[−n_y,n_x,0]] und R_n̂(α) = exp(αJ_n̂) = exp(α(n_xJx + n_yJy + n_zJz). Die Kommutatoren erfüllen [Jx,Jy] = Jz und [Jx,Jz] = −Jy sowie die entsprechenden zyklischen Beziehungen. Allgemein gilt [Jᵢ,Jₖ] = Σₗ cᵢₖˡJₗ mit cᵢₖˡ = −cₖᵢˡ; außerdem gilt die Jacobi-Identität.
Drehung zwischen zwei Lagen bestimmen
Sind die Lage eines Körpers in zwei Positionen und eine Drehung um den Ursprung gegeben, werden im n-dimensionalen Raum n Punkte x⃗ᵢ, i = 1…n, zu den Spalten der Matrix X = (x⃗₁ … x⃗ₙ) zusammengefasst. Für die Ausgangslage X₀ und die gedrehte Lage X gilt R X₀ = X.
Ist X₀ regulär, erhält man die Drehmatrix direkt durch
R = X X₀⁻¹.
Ist X₀ nicht regulär, etwa weil einer der Körperpunkte im Ursprung liegt, kann X₀⁻¹ nicht gebildet werden; auch die Pseudoinverse führt dann nicht zum Ziel. Stattdessen wird eine Singulärwertzerlegung verwendet. Für X gilt X = UΣV* mit (U,Σ,V) = svd(X), wobei U und V unitäre Matrizen und Σ die Diagonalmatrix der Singulärwerte sind. Diese Singulärwerte sind gegenüber einer Rotation invariant, daher gilt Σ = Σ₀. Aus R X₀ = X folgt dann
R = U V* V₀ U₀*.
Damit kann die Drehmatrix auch bei einer singulären Ausgangsmatrix aus den Singulärwertzerlegungen der beiden Lagen bestimmt werden.