Drehmatrix

Aus besserwiki.de

In der linearen Algebra ist eine Drehmatrix eine Transformationsmatrix, die zur Durchführung einer Drehung im euklidischen Raum verwendet wird. In der folgenden Konvention würde die Matrix beispielsweise

dreht Punkte in der xy-Ebene gegen den Uhrzeigersinn um einen Winkel θ in Bezug auf die positive x-Achse um den Ursprung eines zweidimensionalen kartesischen Koordinatensystems. Um die Drehung an einem ebenen Punkt mit den Standardkoordinaten v = (x, y) durchzuführen, sollte er als Spaltenvektor geschrieben und mit der Matrix R multipliziert werden:

Wenn x und y die Endpunktkoordinaten eines Vektors sind, wobei x der Kosinus und y der Sinus ist, dann werden die obigen Gleichungen zu den trigonometrischen Summenwinkelformeln. Eine Rotationsmatrix kann als die trigonometrischen Summenwinkelformeln in Matrixform betrachtet werden. Eine Möglichkeit, dies zu verstehen, ist, dass wir einen Vektor in einem Winkel von 30° zur x-Achse haben und diesen Winkel um weitere 45° drehen wollen. Wir müssen einfach die Endpunktkoordinaten des Vektors bei 75° berechnen.

Die Beispiele in diesem Artikel beziehen sich auf aktive Drehungen von Vektoren gegen den Uhrzeigersinn in einem rechtshändigen Koordinatensystem (y gegen den Uhrzeigersinn von x) durch Vormultiplikation (R auf der linken Seite). Wird eine dieser Änderungen vorgenommen (z. B. Rotation von Achsen anstelle von Vektoren, eine passive Transformation), so ist die Inverse der Beispielmatrix zu verwenden, die mit ihrer Transponierung übereinstimmt.

Da die Matrixmultiplikation keine Auswirkung auf den Nullvektor (die Koordinaten des Ursprungs) hat, beschreiben Drehmatrizen Drehungen um den Ursprung. Rotationsmatrizen bieten eine algebraische Beschreibung solcher Rotationen und werden in großem Umfang für Berechnungen in der Geometrie, Physik und Computergrafik verwendet. In der Literatur wird der Begriff Drehung auch auf unzulässige Drehungen ausgedehnt, die durch orthogonale Matrizen mit einer Determinante von -1 (statt +1) gekennzeichnet sind. Dabei werden echte Drehungen mit Spiegelungen (die die Ausrichtung umkehren) kombiniert. In anderen Fällen, in denen Reflexionen nicht berücksichtigt werden, kann die Bezeichnung Eigenrotation entfallen. Die letztere Konvention wird in diesem Artikel befolgt.

Rotationsmatrizen sind quadratische Matrizen mit reellen Einträgen. Genauer gesagt können sie als orthogonale Matrizen mit der Determinante 1 charakterisiert werden, d. h. eine quadratische Matrix R ist eine Rotationsmatrix, wenn und nur wenn RT = R-1 und det R = 1. Die Menge aller orthogonalen Matrizen der Größe n mit der Determinante +1 bildet eine Gruppe, die als spezielle orthogonale Gruppe SO(n) bekannt ist, ein Beispiel hierfür ist die Rotationsgruppe SO(3). Die Menge aller orthogonalen Matrizen der Größe n mit der Determinante +1 oder -1 bildet die (allgemeine) orthogonale Gruppe O(n).

In ungeraden Dimensionen werden durch eine Drehung weitere Vektoren auf sich selbst abgebildet, . Im dreidimensionalen Raum handelt es sich also um eine Gerade, die Drehachse. Eine Drehmatrix enthält trigonometrische Ausdrücke des Drehwinkels und der Orientierung des invarianten Unterraumes. In geraden Dimensionen muss die Drehmatrix keinen reellen Eigenwert haben.

In zwei Dimensionen

Eine Drehung eines Vektors gegen den Uhrzeigersinn um den Winkel θ. Der Vektor ist zunächst an der x-Achse ausgerichtet.

In zwei Dimensionen hat die Standard-Rotationsmatrix die folgende Form:

Dabei werden Spaltenvektoren durch die folgende Matrixmultiplikation gedreht,

Die neuen Koordinaten (x′, y′) eines Punktes (x, y) nach der Drehung sind also

Beispiele

Wenn zum Beispiel der Vektor

um einen Winkel θ gedreht wird, sind seine neuen Koordinaten

und wenn der Vektor

um einen Winkel θ gedreht wird, sind seine neuen Koordinaten

Richtung

Die Richtung der Vektordrehung ist gegen den Uhrzeigersinn, wenn θ positiv ist (z. B. 90°), und im Uhrzeigersinn, wenn θ negativ ist (z. B. -90°). Die Matrix für die Drehung im Uhrzeigersinn ergibt sich also wie folgt

Der zweidimensionale Fall ist der einzige nichttriviale (d. h. nicht eindimensionale) Fall, in dem die Gruppe der Drehmatrizen kommutativ ist, so dass es keine Rolle spielt, in welcher Reihenfolge mehrere Drehungen durchgeführt werden. Eine alternative Konvention verwendet rotierende Achsen, und die obigen Matrizen stellen ebenfalls eine Drehung der Achsen im Uhrzeigersinn um einen Winkel θ dar.

Nichtstandardmäßige Ausrichtung des Koordinatensystems

Eine Drehung um den Winkel θ mit nicht genormten Achsen.

Wird ein rechtshändiges kartesisches Standardkoordinatensystem mit der x-Achse nach rechts und der y-Achse nach oben verwendet, so ist die Drehung R(θ) gegen den Uhrzeigersinn. Wird ein linkshändiges kartesisches Koordinatensystem verwendet, bei dem die x-Achse nach rechts und die y-Achse nach unten gerichtet ist, so ist R(θ) im Uhrzeigersinn. Solche nicht standardmäßigen Ausrichtungen werden in der Mathematik selten verwendet, sind aber in der 2D-Computergrafik üblich, bei der sich der Ursprung oft in der linken oberen Ecke befindet und die y-Achse nach unten über den Bildschirm oder die Seite verläuft.

Siehe unten für andere alternative Konventionen, die den Sinn der durch eine Drehmatrix erzeugten Drehung verändern können.

Übliche Drehungen

Besonders nützlich sind die Matrizen

für 90°-, 180°- und 270°-Drehungen gegen den Uhrzeigersinn.

Eine 180°-Drehung (Mitte), gefolgt von einer positiven 90°-Drehung (links), entspricht einer einzigen negativen 90°-Drehung (positiv 270°) (rechts). Jede dieser Abbildungen zeigt das Ergebnis einer Drehung relativ zu einer aufrechten Ausgangsposition (unten links) und enthält die Matrixdarstellung der durch die Drehung angewendeten Permutation (Mitte rechts) sowie weitere verwandte Diagramme. Siehe "Permutationsnotation" auf Wikiversity für Details.

Beziehung zur komplexen Ebene

Da

die Matrizen der Form

bilden einen Ring, der isomorph zum Feld der komplexen Zahlen ist . Unter diesem Isomorphismus entsprechen die Drehmatrizen dem Kreis der komplexen Einheitszahlen, den komplexen Zahlen des Moduls 1.

Identifiziert man mit durch den linearen Isomorphismus identifiziert, entspricht die Wirkung einer Matrix der obigen Form auf Vektoren von entspricht der Multiplikation mit der komplexen Zahl x + iy, und Drehungen entsprechen der Multiplikation mit komplexen Zahlen des Moduls 1.

Da jede Rotationsmatrix geschrieben werden kann

geschrieben werden kann, assoziiert die obige Korrespondenz eine solche Matrix mit der komplexen Zahl

(diese letzte Gleichheit ist die Eulersche Formel).

In drei Dimensionen

Eine positive 90°-Drehung um die y-Achse (links) nach einer Drehung um die z-Achse (Mitte) ergibt eine 120°-Drehung um die Hauptdiagonale (rechts).
In der linken oberen Ecke sind die Drehmatrizen, in der rechten unteren Ecke die entsprechenden Permutationen des Würfels mit dem Ursprung in seiner Mitte.

Grunddrehungen

Eine Grunddrehung (auch Elementardrehung genannt) ist eine Drehung um eine der Achsen eines Koordinatensystems. Die folgenden drei Grunddrehungsmatrizen drehen Vektoren um einen Winkel θ um die x-, y- oder z-Achse in drei Dimensionen, wobei die Rechtsregel verwendet wird, die ihre wechselnden Vorzeichen kodiert. (Die gleichen Matrizen können auch eine Drehung der Achsen im Uhrzeigersinn darstellen).

Bei Spaltenvektoren erscheint jede dieser grundlegenden Vektorrotationen gegen den Uhrzeigersinn, wenn die Achse, um die sie erfolgt, zum Beobachter zeigt, das Koordinatensystem rechtshändig ist und der Winkel θ positiv ist. Rz würde beispielsweise einen an der x-Achse ausgerichteten Vektor in Richtung der y-Achse drehen, wie man leicht überprüfen kann, wenn man mit Rz auf dem Vektor (1,0,0) operiert:

Dies entspricht der Rotation, die durch die oben erwähnte zweidimensionale Rotationsmatrix erzeugt wird. Siehe unten für alternative Konventionen, die den Sinn der durch diese Matrizen erzeugten Drehung scheinbar oder tatsächlich umkehren können.

Allgemeine Drehungen

Aus diesen drei Matrizen lassen sich durch Matrixmultiplikation weitere Rotationsmatrizen gewinnen. Zum Beispiel stellt das Produkt

eine Drehung, deren Gier-, Nick- und Rollwinkel jeweils α, β und γ sind. Formaler ausgedrückt, handelt es sich um eine Eigenrotation, deren Tait-Bryan-Winkel α, β, γ um die Achsen z, y bzw. x sind. Analog dazu stellt das Produkt

eine extrinsische Drehung dar, deren (unechte) Euler-Winkel α, β, γ um die Achsen x, y, z sind.

Diese Matrizen haben nur dann den gewünschten Effekt, wenn sie zur Vormultiplikation von Spaltenvektoren verwendet werden, und (da die Matrixmultiplikation im Allgemeinen nicht kommutativ ist) nur dann, wenn sie in der angegebenen Reihenfolge angewendet werden (siehe Mehrdeutigkeiten für weitere Einzelheiten). Die Reihenfolge der Rotationsoperationen ist von rechts nach links; die Matrix, die dem Spaltenvektor benachbart ist, wird als erste angewandt, dann diejenige links daneben.

Umwandlung von Rotationsmatrix in Achsenwinkel

Jede Drehung in drei Dimensionen ist durch ihre Achse (ein Vektor entlang dieser Achse bleibt durch die Drehung unverändert) und ihren Winkel - den Betrag der Drehung um diese Achse - definiert (Eulerscher Drehsatz).

Es gibt mehrere Methoden, um die Achse und den Winkel aus einer Rotationsmatrix zu berechnen (siehe auch Achsen-Winkel-Darstellung). Hier wird nur die Methode beschrieben, die auf der Berechnung der Eigenvektoren und Eigenwerte der Rotationsmatrix beruht. Es ist auch möglich, die Spur der Rotationsmatrix zu verwenden.

Bestimmung der Achse

Eine Rotation R um die Achse u kann durch 3 Endomorphismen P, (I - P) und Q zerlegt werden (zum Vergrößern klicken).

Bei einer 3 × 3 Rotationsmatrix R muss ein zur Rotationsachse paralleler Vektor u folgende Bedingungen erfüllen

Die obige Gleichung kann für u gelöst werden, das bis auf einen skalaren Faktor eindeutig ist, es sei denn, R = I.

Ferner kann die Gleichung wie folgt umgeschrieben werden

was zeigt, dass u im Nullraum von R - I liegt.

Anders ausgedrückt: u ist ein Eigenvektor von R, der dem Eigenwert λ = 1 entspricht. Jede Rotationsmatrix muss diesen Eigenwert haben, da die beiden anderen Eigenwerte komplex konjugiert sind. Daraus folgt, dass eine allgemeine Rotationsmatrix in drei Dimensionen bis auf eine multiplikative Konstante nur einen reellen Eigenvektor hat.

Eine Möglichkeit, die Drehachse zu bestimmen, besteht darin, zu zeigen, dass:

Da (R - RT) eine schiefsymmetrische Matrix ist, können wir u so wählen, dass

Das Matrix-Vektor-Produkt wird zu einem Kreuzprodukt eines Vektors mit sich selbst, wobei sichergestellt wird, dass das Ergebnis gleich Null ist:

Wenn also

dann

Der auf diese Weise berechnete Betrag von u ist ||u|| = 2 sin θ, wobei θ der Drehwinkel ist.

Dies funktioniert nicht, wenn R symmetrisch ist. Wenn R - RT gleich Null ist, sind alle nachfolgenden Schritte ungültig. In diesem Fall ist es notwendig, R zu diagonalisieren und den Eigenvektor zu finden, der einem Eigenwert von 1 entspricht.

Bestimmung des Winkels

Um den Winkel einer Drehung zu bestimmen, muss man, sobald die Drehachse bekannt ist, einen Vektor v wählen, der senkrecht zur Achse steht. Der Winkel der Drehung ist dann der Winkel zwischen v und Rv.

Eine direktere Methode besteht jedoch darin, einfach die Spur zu berechnen: die Summe der Diagonalelemente der Rotationsmatrix. Es ist darauf zu achten, dass der Winkel θ das richtige Vorzeichen hat, um der gewählten Achse zu entsprechen:

Daraus folgt, dass der Absolutwert des Winkels

Rotationsmatrix aus Achse und Winkel

Die Matrix einer Eigenrotation R um den Winkel θ um die Achse u = (ux, uy, uz), einen Einheitsvektor mit u2
x + u2
y + u2
z = 1, ist gegeben durch:

Eine Herleitung dieser Matrix aus ersten Prinzipien findet sich in Abschnitt 9.2. Die Grundidee zur Herleitung dieser Matrix besteht darin, das Problem in wenige bekannte, einfache Schritte zu unterteilen.

  1. Zunächst werden die gegebene Achse und der Punkt so gedreht, dass die Achse in einer der Koordinatenebenen (xy, yz oder zx) liegt.
  2. Drehen Sie dann die gegebene Achse und den Punkt so, dass die Achse mit einer der beiden Koordinatenachsen für diese bestimmte Koordinatenebene (x, y oder z) ausgerichtet ist
  3. Verwenden Sie eine der grundlegenden Drehmatrizen, um den Punkt in Abhängigkeit von der Koordinatenachse zu drehen, an der die Drehachse ausgerichtet ist.
  4. Drehen Sie das Achsen-Punkt-Paar in umgekehrter Richtung, so dass es die endgültige Konfiguration aus Schritt 2 erhält (Schritt 2 rückgängig machen).
  5. Umkehrung der Drehung des Achsen-Punkt-Paares, die in Schritt 1 durchgeführt wurde (Rückgängigmachung von Schritt 1)

Dies lässt sich knapper ausdrücken als

wobei [u]× die Kreuzproduktmatrix von u ist; der Ausdruck u ⊗ u ist das äußere Produkt, und I ist die Identitätsmatrix. Alternativ dazu lauten die Matrixeinträge:

wobei εjkl das Levi-Civita-Symbol mit ε123 = 1 ist. Dies ist eine Matrixform der Rodrigues'schen Rotationsformel (oder der entsprechenden, anders parametrisierten Euler-Rodrigues-Formel) mit

In kann die Drehung eines Vektors x um die Achse u um einen Winkel θ wie folgt geschrieben werden:

Wenn der 3D-Raum rechtshändig ist und θ > 0, ist diese Drehung gegen den Uhrzeigersinn, wenn u auf den Beobachter zeigt (Rechtshänderregel). Explizit, mit einer rechtshändigen Orthonormalbasis,

Man beachte die auffälligen, nur scheinbaren Unterschiede zu der entsprechenden lie-algebraischen Formulierung weiter unten.

Eigenschaften

Für jede n-dimensionale Rotationsmatrix R, die auf

(Die Drehung ist eine orthogonale Matrix)

Daraus folgt, dass:

Eine Rotation wird als korrekt bezeichnet, wenn det R = 1 ist, und als inkorrekt (oder eine Rotoreflexion), wenn det R = -1 ist. Bei geraden Dimensionen n = 2k treten die n Eigenwerte λ einer korrekten Drehung als Paare komplexer Konjugierter auf, die Wurzeln der Einheit sind: λ = e±j für j = 1, ..., k, was nur für λ = ±1 reell ist. Daher kann es keine durch die Drehung fixierten Vektoren geben (λ = 1) und somit keine Drehachse. Alle festen Eigenvektoren treten paarweise auf, und die Drehachse ist ein geraddimensionaler Unterraum.

Für ungerade Dimensionen n = 2k + 1 hat eine korrekte Rotation R eine ungerade Anzahl von Eigenwerten, wobei mindestens ein Eigenwert λ = 1 ist und die Rotationsachse ein ungerade-dimensionaler Unterraum ist. Der Beweis:

Hier ist I die Identitätsmatrix, und wir verwenden det(RT) = det(R) = 1, sowie (-1)n = -1, da n ungerade ist. Daher ist det(R - I) = 0, d.h. es gibt einen Nullvektor v mit (R - I)v = 0, d.h. Rv = v, ein fester Eigenvektor. Es kann auch Paare von festen Eigenvektoren im geraddimensionalen Unterraum orthogonal zu v geben, so dass die Gesamtdimension der festen Eigenvektoren ungerade ist.

Im 2-Raum n = 2 beispielsweise hat eine Drehung um den Winkel θ die Eigenwerte λ = e und λ = e-, so dass es keine Drehachse gibt, es sei denn, θ = 0, der Fall der Nullrotation. Im 3-Raum n = 3 ist die Achse einer Nicht-Null-Eigenrotation immer eine eindeutige Linie, und eine Drehung um diese Achse um den Winkel θ hat die Eigenwerte λ = 1, e, e-. Im 4-Raum n = 4 sind die vier Eigenwerte von der Form e±, e±. Die Null-Drehung hat θ = φ = 0. Der Fall θ = 0, φ ≠ 0 wird als einfache Drehung bezeichnet, bei der zwei Einheits-Eigenwerte eine Achsebene bilden und eine zweidimensionale Drehung orthogonal zur Achsebene erfolgt. Andernfalls gibt es keine Achsenebene. Im Fall von θ = φ spricht man von einer isoklinen Drehung, bei der sich die Eigenwerte e± zweimal wiederholen, so dass jeder Vektor um einen Winkel θ gedreht wird.

Die Spur einer Drehmatrix ist gleich der Summe ihrer Eigenwerte. Für n = 2 hat eine Drehung um den Winkel θ die Spur 2 cos θ. Für n = 3 hat eine Drehung um eine beliebige Achse um den Winkel θ die Spur 1 + 2 cos θ. Für n = 4 ist die Spur 2(cos θ + cos φ), was bei einer isoklinen Drehung 4 cos θ ergibt.

Im -dimensionalen Raum wird eine Drehung nicht durch eine Drehachse, sondern durch die Ebene definiert, die bei der Drehung auf sich selbst abgebildet wird. Das gilt auch in zwei Dimensionen, wo die Dreh-„Achse“ nur ein Punkt ist. Seien im die Vektoren und zwei zueinander orthogonale Einheitsvektoren (also und ), die demnach eine Ebene aufspannen. Seien , , und die Einheitsmatrix. Dann vermittelt die Matrix

sowie

Eigensystem der Drehmatrizen

Von wird jeder auf und senkrecht stehende Vektor (mit ) auf sich selbst abgebildet. Also sind diese Vektoren Eigenvektoren von mit Eigenwert 1. Zwei Eigenwerte von sind mit den Eigenvektoren , worin die imaginäre Einheit definiert. Aus diesen komplexen Eigenwerten und Eigenvektoren kann man also den Drehwinkel und die Drehebene rekonstruieren. Des Weiteren gilt bei Drehung in einer Ebene:

Allerdings kann eine Drehung im -dimensionalen Raum gleichzeitig in (falls gerade) oder (falls ungerade) Ebenen auch mit mehreren unterschiedlichen Winkeln stattfinden. Dadurch kann es in geraden Dimensionen dazu kommen, dass eine allgemeine Drehmatrix nicht den Eigenwert 1 hat.

Beispiele

Geometrie

In der euklidischen Geometrie ist eine Drehung ein Beispiel für eine Isometrie, eine Transformation, die Punkte verschiebt, ohne die Abstände zwischen ihnen zu verändern. Rotationen unterscheiden sich von anderen Isometrien durch zwei zusätzliche Eigenschaften: Sie lassen (mindestens) einen Punkt feststehen, und sie lassen die "Händigkeit" unverändert. Im Gegensatz dazu werden bei einer Translation alle Punkte verschoben, bei einer Spiegelung wird die links- und rechtshändige Anordnung vertauscht, bei einer Gleitspiegelung wird beides getan, und bei einer unzulässigen Drehung wird eine Änderung der Händigkeit mit einer normalen Drehung kombiniert.

Nimmt man einen festen Punkt als Ursprung eines kartesischen Koordinatensystems, so kann man jedem Punkt Koordinaten als Verschiebung vom Ursprung zuweisen. So kann man mit dem Vektorraum der Verschiebungen anstelle der Punkte selbst arbeiten. Nehmen wir nun an, (p1, ..., pn) seien die Koordinaten des Vektors p vom Ursprung O zum Punkt P. Wählen wir eine orthonormale Basis für unsere Koordinaten, dann ist der quadrierte Abstand zu P nach Pythagoras

der mit Hilfe der Matrixmultiplikation berechnet werden kann

Eine geometrische Drehung verwandelt Linien in Linien und bewahrt das Verhältnis der Abstände zwischen Punkten. Aus diesen Eigenschaften lässt sich ableiten, dass eine Drehung eine lineare Transformation der Vektoren ist und somit in Matrixform Qp geschrieben werden kann. Die Tatsache, dass bei einer Drehung nicht nur die Verhältnisse, sondern auch die Abstände selbst erhalten bleiben, wird wie folgt beschrieben

oder

Da diese Gleichung für alle Vektoren p gilt, kann man daraus schließen, dass jede Rotationsmatrix Q die Orthogonalitätsbedingung erfüllt,

Rotationen bewahren die Händigkeit, weil sie die Reihenfolge der Achsen nicht ändern können, was die spezielle Matrixbedingung impliziert,

Ebenso wichtig ist der Nachweis, dass jede Matrix, die diese beiden Bedingungen erfüllt, als Rotation wirkt.

Multiplikation

Die Inverse einer Rotationsmatrix ist ihre Transponierte, die ebenfalls eine Rotationsmatrix ist:

Das Produkt von zwei Rotationsmatrizen ist eine Rotationsmatrix:

Für n > 2 ist die Multiplikation von n × n Rotationsmatrizen im Allgemeinen nicht kommutativ.

Da jede Identitätsmatrix eine Rotationsmatrix ist und die Matrixmultiplikation assoziativ ist, können wir all diese Eigenschaften zusammenfassen, indem wir sagen, dass die n × n-Rotationsmatrizen eine Gruppe bilden, die für n > 2 nicht-abelianisch ist, eine spezielle orthogonale Gruppe genannt wird und mit SO(n), SO(n,R), SOn oder SOn(R) bezeichnet wird; die Gruppe der n × n-Rotationsmatrizen ist isomorph zur Gruppe der Rotationen in einem n-dimensionalen Raum. Das bedeutet, dass die Multiplikation von Rotationsmatrizen der Komposition von Rotationen entspricht, die in der Reihenfolge von links nach rechts auf die entsprechenden Matrizen angewendet werden.

Zweideutigkeiten

Alias- und Alibi-Drehungen

Die Interpretation einer Rotationsmatrix kann mit vielen Zweideutigkeiten behaftet sein.

In den meisten Fällen ist die Auswirkung der Mehrdeutigkeit gleichbedeutend mit der Auswirkung einer Inversion der Rotationsmatrix (für diese orthogonalen Matrizen gleichbedeutend mit der Transposition der Matrix).

Alias- oder Alibi-Transformation (passiv oder aktiv)
Die Koordinaten eines Punktes P können sich entweder durch eine Drehung des Koordinatensystems CS (alias) oder durch eine Drehung des Punktes P (alibi) ändern. Im letzteren Fall bewirkt die Drehung von P auch eine Drehung des Vektors v, der P repräsentiert. Mit anderen Worten: Entweder sind P und v fest, während CS rotiert (Alias), oder CS ist fest, während P und v rotieren (Alibi). Jede beliebige Drehung kann auf beide Arten beschrieben werden, da sich Vektoren und Koordinatensysteme in Wirklichkeit um dieselbe Achse, aber in entgegengesetzte Richtungen drehen. In diesem Artikel haben wir uns für den Alibi-Ansatz entschieden, um Rotationen zu beschreiben. Ein Beispiel,
eine Drehung eines Vektors v um einen Winkel θ gegen den Uhrzeigersinn oder eine Drehung von CS um denselben Winkel, aber in die entgegengesetzte Richtung (d. h. im Uhrzeigersinn). Alibi- und Alias-Transformationen werden auch als aktive bzw. passive Transformationen bezeichnet.
Vor-Multiplikation oder Nach-Multiplikation
Ein und derselbe Punkt P kann entweder durch einen Spaltenvektor v oder einen Zeilenvektor w dargestellt werden. Rotationsmatrizen können entweder Spaltenvektoren vormultiplizieren (Rv) oder Zeilenvektoren nachmultiplizieren (wR). Rv erzeugt jedoch eine Drehung in die entgegengesetzte Richtung im Vergleich zu wR. In diesem Artikel werden Rotationen, die an Spaltenvektoren erzeugt werden, durch eine Vormultiplikation beschrieben. Um genau die gleiche Drehung (d. h. die gleichen Endkoordinaten des Punktes P) zu erhalten, muss der entsprechende Zeilenvektor mit der Transponierten von R (d. h. wRT) nachmultipliziert werden.
Rechts- oder linkshändige Koordinaten
Die Matrix und der Vektor können in Bezug auf ein rechts- oder linkshändiges Koordinatensystem dargestellt werden. Sofern nicht anders angegeben, wird im gesamten Artikel von einer rechtshändigen Orientierung ausgegangen.
Vektoren oder Formen
Der Vektorraum hat einen dualen Raum von linearen Formen, und die Matrix kann entweder auf Vektoren oder Formen wirken.

Zersetzungen

Unabhängige Ebenen

Betrachten wir die 3 × 3 Rotationsmatrix

Wirkt Q in einer bestimmten Richtung v als reine Skalierung um einen Faktor λ, so gilt

so dass

Somit ist λ eine Wurzel aus dem charakteristischen Polynom von Q,

Zwei Merkmale sind erwähnenswert. Erstens ist eine der Wurzeln (oder Eigenwerte) 1, was uns sagt, dass eine Richtung von der Matrix unberührt bleibt. Bei Drehungen in drei Dimensionen ist dies die Drehachse (ein Konzept, das in allen anderen Dimensionen keine Bedeutung hat). Zweitens sind die beiden anderen Wurzeln ein Paar komplexer Konjugierter, deren Produkt 1 ist (der konstante Term der Quadratischen) und deren Summe 2 cos θ ist (der negierte lineare Term). Diese Faktorisierung ist für 3 × 3 Rotationsmatrizen von Interesse, da für alle diese Matrizen das Gleiche gilt. (Als Sonderfälle sind die "komplex Konjugierten" bei einer Null-Drehung beide 1 und bei einer 180°-Drehung beide -1.) Außerdem gilt eine ähnliche Faktorisierung für jede n × n Rotationsmatrix. Wenn die Dimension n ungerade ist, gibt es einen "baumelnden" Eigenwert von 1; und für jede beliebige Dimension zerfällt der Rest des Polynoms in quadratische Terme wie den hier dargestellten (mit den beiden genannten Sonderfällen). Es ist garantiert, dass das charakteristische Polynom den Grad n und damit n Eigenwerte hat. Und da eine Rotationsmatrix mit ihrer Transponierten kommutiert, ist sie eine Normalmatrix und kann diagonalisiert werden. Wir schlussfolgern, dass jede Rotationsmatrix, wenn sie in einem geeigneten Koordinatensystem ausgedrückt wird, sich in unabhängige Rotationen von zweidimensionalen Unterräumen aufteilt, und zwar in höchstens n/2 davon.

Die Summe der Einträge auf der Hauptdiagonalen einer Matrix wird als Spur bezeichnet; sie ändert sich nicht, wenn wir das Koordinatensystem umorientieren, und ist immer gleich der Summe der Eigenwerte. Für 2 × 2- und 3 × 3-Rotationsmatrizen hat dies die praktische Konsequenz, dass die Spur den Drehwinkel θ im zweidimensionalen Raum (oder Unterraum) angibt. Für eine 2 × 2-Matrix ist die Spur 2 cos θ und für eine 3 × 3-Matrix ist sie 1 + 2 cos θ. Im dreidimensionalen Fall besteht der Unterraum aus allen Vektoren, die senkrecht zur Rotationsachse stehen (die invariante Richtung mit dem Eigenwert 1). Somit können wir aus jeder 3 × 3 Rotationsmatrix eine Rotationsachse und einen Winkel extrahieren, und diese bestimmen die Rotation vollständig.

Sequentielle Winkel

Die Einschränkungen für eine 2 × 2-Drehmatrix bedeuten, dass sie die folgende Form haben muss

mit a2 + b2 = 1. Daher können wir a = cos θ und b = sin θ für einen bestimmten Winkel θ setzen. Um θ zu bestimmen, reicht es nicht aus, nur a oder nur b zu betrachten; wir müssen beide zusammen betrachten, um den Winkel in den richtigen Quadranten zu setzen, indem wir eine Arkustangensfunktion mit zwei Argumenten verwenden.

Betrachten wir nun die erste Spalte einer 3 × 3 Rotationsmatrix,

Obwohl a2 + b2 wahrscheinlich nicht gleich 1 ist, sondern einen Wert r2 < 1 hat, können wir eine leichte Abwandlung der vorherigen Berechnung verwenden, um eine so genannte Givens-Drehung zu finden, die die Spalte umwandelt in

Nullstellung von b. Dies wirkt auf den Unterraum, der von der x- und y-Achse aufgespannt wird. Anschließend können wir den Vorgang für den xz-Unterraum wiederholen, um c zu nullen. Diese beiden Drehungen wirken auf die gesamte Matrix und ergeben die schematische Form

Wenn man die Aufmerksamkeit auf die zweite Spalte lenkt, kann eine Givens-Drehung des yz-Unterraums nun den z-Wert auf Null setzen. Dies bringt die Vollmatrix in die Form

was eine Identitätsmatrix ist. Wir haben Q also zerlegt in

Eine n × n Rotationsmatrix hat (n - 1) + (n - 2) + ⋯ + 2 + 1, oder

Einträge unterhalb der Diagonalen zu Null. Wir können sie zu Null machen, indem wir die gleiche Idee des Durchschreitens der Spalten mit einer Reihe von Drehungen in einer festen Folge von Ebenen erweitern. Daraus ergibt sich, dass die Menge der n × n Rotationsmatrizen, von denen jede n2 Einträge hat, durch 1/2n(n - 1) Winkel parametrisiert werden kann.

xzxw xzyw xyxw xyzw
yxyw yxzw yzyw yzxw
zyzw zyxw zxzw zxyw
xzxb yzxb xyxb zyxb
yxyb zxyb yzyb xzyb
zyzb xyzb zxzb yxzb

In drei Dimensionen wird damit eine Beobachtung von Euler in Form einer Matrix wiedergegeben, weshalb die Mathematiker die geordnete Folge von drei Winkeln als Euler-Winkel bezeichnen. Die Situation ist jedoch etwas komplizierter, als wir bisher angedeutet haben. Trotz der kleinen Dimension haben wir in der Tat eine beträchtliche Freiheit bei der Abfolge der Achsenpaare, die wir verwenden; und wir haben auch eine gewisse Freiheit bei der Wahl der Winkel. So finden wir viele verschiedene Konventionen bei der Parametrisierung dreidimensionaler Rotationen für die Physik, die Medizin, die Chemie oder andere Disziplinen. Wenn wir die Option von Weltachsen oder Körperachsen einbeziehen, sind 24 verschiedene Sequenzen möglich. Und während einige Disziplinen jede Sequenz als Euler-Winkel bezeichnen, geben andere den verschiedenen Sequenzen unterschiedliche Namen (Cardano, Tait-Bryan, Roll-Pitch-Yaw).

Ein Grund für die große Anzahl von Möglichkeiten ist, dass, wie bereits erwähnt, Drehungen in drei Dimensionen (und höher) nicht kommutieren. Wenn wir eine bestimmte Folge von Drehungen umkehren, erhalten wir ein anderes Ergebnis. Dies bedeutet auch, dass wir zwei Drehungen nicht durch Addition der entsprechenden Winkel zusammensetzen können. Euler-Winkel sind also keine Vektoren, auch wenn sie ähnlich aussehen wie ein Zahlentripel.

Verschachtelte Dimensionen

Eine 3 × 3 Rotationsmatrix wie

deutet auf eine 2 × 2 Rotationsmatrix hin,

ist in der oberen linken Ecke eingebettet:

Dies ist keine Täuschung; nicht nur eine, sondern viele Kopien von n-dimensionalen Rotationen finden sich innerhalb von (n + 1)-dimensionalen Rotationen, als Untergruppen. Bei jeder Einbettung bleibt eine Richtung fixiert, die im Fall von 3 × 3-Matrizen die Drehachse ist. Zum Beispiel haben wir

die x-Achse, die y-Achse bzw. die z-Achse fixiert. Die Drehachse muss keine Koordinatenachse sein; wenn u = (x,y,z) ein Einheitsvektor in der gewünschten Richtung ist, dann

wobei cθ = cos θ, sθ = sin θ eine Drehung um den Winkel θ unter Beibehaltung der Achse u ist.

Eine Richtung im (n + 1)-dimensionalen Raum ist ein Einheitsvektor, den wir als Punkt auf einer verallgemeinerten Kugel, Sn, betrachten können. Daher ist es naheliegend, die Rotationsgruppe SO(n + 1) als Kombination von SO(n) und Sn zu beschreiben. Ein geeigneter Formalismus ist das Faserbündel,

wobei für jede Richtung im Basisraum Sn die Faser darüber im Gesamtraum SO(n + 1) eine Kopie des Faserraums SO(n) ist, nämlich die Rotationen, die diese Richtung festhalten.

Wir können also eine n × n-Rotationsmatrix aufbauen, indem wir mit einer 2 × 2-Matrix beginnen, ihre feste Achse auf S2 (die gewöhnliche Kugel im dreidimensionalen Raum) ausrichten, die resultierende Rotation auf S3 ausrichten und so weiter bis zu Sn-1. Ein Punkt auf Sn kann mit n Zahlen ausgewählt werden, so dass wir wiederum 1/2n(n - 1) Zahlen haben, um eine beliebige n × n Rotationsmatrix zu beschreiben.

Tatsächlich können wir die zuvor besprochene sequentielle Winkelzerlegung als Umkehrung dieses Prozesses betrachten. Die Komposition von n - 1 Givens-Rotationen bringt die erste Spalte (und Zeile) auf (1, 0, ..., 0), so dass der Rest der Matrix eine Rotationsmatrix der Dimension eins weniger ist, die so eingebettet ist, dass (1, 0, ..., 0) fest bleibt.

Skew-Parameter über die Cayley'sche Formel

Wenn eine n × n-Drehmatrix Q keinen -1-Eigenwert enthält, also keine der darin enthaltenen ebenen Drehungen 180°-Drehungen sind, dann ist Q + I eine invertierbare Matrix. Die meisten Drehmatrizen entsprechen dieser Beschreibung, und für sie kann gezeigt werden, dass (Q - I)(Q + I)-1 eine schiefsymmetrische Matrix A ist. Somit ist AT = -A; und da die Diagonale notwendigerweise Null ist und das obere Dreieck das untere bestimmt, enthält A 1/2n(n - 1) unabhängige Zahlen.

Praktischerweise ist I - A invertierbar, wenn A schiefsymmetrisch ist; daher können wir die ursprüngliche Matrix mit Hilfe der Cayley-Transformation wiederherstellen,

die jede schiefsymmetrische Matrix A auf eine Rotationsmatrix abbildet. Abgesehen von den erwähnten Ausnahmen können wir auf diese Weise jede beliebige Rotationsmatrix erzeugen. Obwohl wir es uns in praktischen Anwendungen kaum leisten können, 180°-Drehungen zu ignorieren, ist die Cayley-Transformation dennoch ein potenziell nützliches Werkzeug, das eine Parametrisierung der meisten Drehmatrizen ohne trigonometrische Funktionen ermöglicht.

In drei Dimensionen haben wir zum Beispiel (Cayley 1846)

Wenn wir die schrägen Einträge zu einem Vektor (x,y,z) zusammenfassen, erhalten wir eine 90°-Drehung um die x-Achse für (1, 0, 0), um die y-Achse für (0, 1, 0) und um die z-Achse für (0, 0, 1). Die 180°-Drehungen sind gerade außer Reichweite; denn im Grenzwert von x → ∞ nähert sich (x, 0, 0) einer 180°-Drehung um die x-Achse, und ähnlich verhält es sich mit anderen Richtungen.

Zerlegung in Scheren

Für den 2D-Fall kann eine Rotationsmatrix in drei Schermatrizen zerlegt werden (Paeth 1986):

Dies ist z. B. in der Computergrafik nützlich, da Scherungen mit weniger Multiplikationsanweisungen umgesetzt werden können als die direkte Drehung einer Bitmap. Auf modernen Computern mag dies keine Rolle spielen, aber es kann für sehr alte oder leistungsschwache Mikroprozessoren von Bedeutung sein.

Eine Drehung kann auch als zwei Scherungen und Skalierung geschrieben werden (Daubechies & Sweldens 1998):

Gruppentheorie

Im Folgenden werden einige grundlegende Fakten über die Rolle der Sammlung aller Rotationsmatrizen einer festen Dimension (hier meist 3) in der Mathematik und insbesondere in der Physik erläutert, wo die Rotationssymmetrie eine Voraussetzung für jedes wirklich fundamentale Gesetz ist (aufgrund der Annahme der Isotropie des Raums) und wo die gleiche Symmetrie, wenn sie vorhanden ist, eine vereinfachende Eigenschaft für viele Probleme weniger fundamentaler Natur ist. Beispiele gibt es in der klassischen Mechanik und der Quantenmechanik zuhauf. Die Kenntnis des Teils der Lösungen, der zu dieser Symmetrie gehört, gilt (mit Einschränkungen) für alle derartigen Probleme und kann aus einem spezifischen Problem herausgelöst werden, wodurch dessen Komplexität reduziert wird. Ein Paradebeispiel - in der Mathematik und der Physik - ist die Theorie der sphärischen Harmonischen. Ihre Rolle in der Gruppentheorie der Rotationsgruppen besteht darin, ein Darstellungsraum für die gesamte Menge der endlich-dimensionalen irreduziblen Darstellungen der Rotationsgruppe SO(3) zu sein. Zu diesem Thema siehe Rotationsgruppe SO(3) § Sphärische Harmonische.

Für weitere Einzelheiten wird auf die in den einzelnen Unterabschnitten aufgeführten Hauptartikel verwiesen.

Lie-Gruppe

Die n × n Rotationsmatrizen für jedes n bilden eine Gruppe, die spezielle orthogonale Gruppe SO(n). Diese algebraische Struktur ist mit einer topologischen Struktur gekoppelt, die von so gekoppelt, dass die Operationen der Multiplikation und der Umkehrung analytische Funktionen der Matrixeinträge sind. SO(n) ist also für jedes n eine Lie-Gruppe. Sie ist kompakt und zusammenhängend, aber nicht einfach zusammenhängend. Sie ist auch eine halb-einfache Gruppe, nämlich eine einfache Gruppe mit der Ausnahme SO(4). Dies bedeutet, dass alle Theoreme und alle Mechanismen aus der Theorie der analytischen Mannigfaltigkeiten (analytische Mannigfaltigkeiten sind insbesondere glatte Mannigfaltigkeiten) anwendbar sind und die gut entwickelte Darstellungstheorie kompakter halbeinfacher Gruppen zur Verfügung steht.

Lie-Algebra

Die Lie-Algebra so(n) von SO(n) ist gegeben durch

und ist der Raum der schiefsymmetrischen Matrizen der Dimension n, siehe klassische Gruppe, wobei o(n) die Lie-Algebra von O(n), der orthogonalen Gruppe, ist. Als Referenz ist die gebräuchlichste Basis für so(3)

Exponentiale Abbildung

Die Verbindung zwischen der Lie-Algebra und der Lie-Gruppe ist die Exponentialabbildung, die durch die Standard-Matrix-Exponentialreihe für eA definiert ist. Für jede schiefsymmetrische Matrix A ist exp(A) immer eine Rotationsmatrix.

Ein wichtiges praktisches Beispiel ist der Fall 3 × 3. In der Rotationsgruppe SO(3) wird gezeigt, dass man jedes Aso(3) mit einem Euler-Vektor ω = θu identifizieren kann, wobei u = (x, y, z) ein Einheitsgrößenvektor ist.

Durch die Eigenschaften der Identifikation liegt u im Nullraum von A. Somit ist u linksinvariant durch exp(A) und somit eine Rotationsachse.

Nach der Rodrigues'schen Rotationsformel in Matrixform erhält man,

wobei

Dies ist die Matrix für eine Drehung um die Achse u um den Winkel θ. Für weitere Einzelheiten siehe Exponentialkarte SO(3).

Baker-Campbell-Hausdorff-Formel

Die BCH-Formel liefert einen expliziten Ausdruck für Z = log(eXeY) in Form einer Reihenentwicklung von verschachtelten Kommutatoren von X und Y. Diese allgemeine Entwicklung ergibt sich als

Im Fall von 3 × 3 hat die allgemeine unendliche Erweiterung eine kompakte Form,

für geeignete trigonometrische Funktionskoeffizienten, die in der Baker-Campbell-Hausdorff-Formel für SO(3) angegeben sind.

Als Gruppenidentität gilt die obige Formel für alle getreuen Darstellungen, einschließlich der Doublette (Spinor-Darstellung), die einfacher ist. Dieselbe explizite Formel ergibt sich also direkt durch Pauli-Matrizen; siehe die 2 × 2-Ableitung für SU(2). Für den allgemeinen n × n-Fall kann man Ref.

Spin-Gruppe

Die Lie-Gruppe der n × n-Rotationsmatrizen, SO(n), ist nicht einfach zusammenhängend, so dass die Lie-Theorie besagt, dass sie ein homomorphes Bild einer universellen Deckungsgruppe ist. Oft ist die Deckungsgruppe, in diesem Fall die Spin-Gruppe, bezeichnet mit Spin(n), einfacher und natürlicher zu handhaben.

Im Fall von planaren Rotationen ist SO(2) topologisch ein Kreis, S1. Seine universelle Überdeckungsgruppe, Spin(2), ist isomorph zur reellen Linie, R, unter Addition. Wann immer Winkel beliebiger Größe verwendet werden, macht man sich die Vorteile der universellen Abdeckung zunutze. Jede 2 × 2 Rotationsmatrix wird durch eine abzählbare Unzahl von Winkeln erzeugt, die durch ganzzahlige Vielfache von 2π getrennt sind. Dementsprechend ist die Fundamentalgruppe von SO(2) isomorph zu den ganzen Zahlen, Z.

Im Fall von räumlichen Rotationen ist SO(3) topologisch äquivalent zum dreidimensionalen reellen projektiven Raum RP3. Seine universelle Deckungsgruppe, Spin(3), ist isomorph zur 3-Sphäre, S3. Jede 3 × 3 Rotationsmatrix wird durch zwei gegenüberliegende Punkte auf der Sphäre erzeugt. Dementsprechend ist die Fundamentalgruppe von SO(3) isomorph zur Zwei-Elemente-Gruppe Z2.

Wir können Spin(3) auch als isomorph zu Quaternionen mit Einheitsnorm unter Multiplikation oder zu bestimmten 4 × 4 reellen Matrizen oder zu 2 × 2 komplexen speziellen unitären Matrizen, nämlich SU(2), beschreiben. Die Deckungskarten für den ersten und den letzten Fall sind gegeben durch

und

Eine ausführliche Beschreibung der SU(2)-Bedeckung und der quaternionischen Bedeckung finden Sie unter Spin-Gruppe SO(3).

Viele Merkmale dieser Fälle sind für höhere Dimensionen identisch. Die Überdeckungen sind alle zwei-zu-eins, wobei SO(n), n > 2, die Fundamentalgruppe Z2 hat. Die natürliche Umgebung für diese Gruppen ist eine Clifford-Algebra. Eine Art der Wirkung der Rotationen wird durch eine Art "Sandwich" erzeugt, das mit qvq bezeichnet wird. Wichtiger für die Anwendung in der Physik ist, dass die entsprechende Spin-Darstellung der Lie-Algebra innerhalb der Clifford-Algebra liegt. Sie kann auf die übliche Weise potenziert werden, um eine 2-wertige Darstellung zu erhalten, die auch als projektive Darstellung der Rotationsgruppe bezeichnet wird. Dies ist bei SO(3) und SU(2) der Fall, wo die 2-wertige Darstellung als "Inverse" der Deckungskarte betrachtet werden kann. Aufgrund der Eigenschaften von Überdeckungskarten kann die Inverse als lokaler Abschnitt eins zu eins gewählt werden, jedoch nicht global.

Infinitesimale Drehungen

Die Matrizen in der Lie-Algebra sind selbst keine Drehungen; die schiefsymmetrischen Matrizen sind Ableitungen, proportionale Differenzen von Drehungen. Eine echte "differentielle Drehung" oder infinitesimale Drehmatrix hat die Form

wobei verschwindend klein ist und Aso(n), zum Beispiel mit A = Lx,

Die Berechnungsregeln sind wie üblich, mit der Ausnahme, dass Infinitesimale zweiter Ordnung routinemäßig weggelassen werden. Mit diesen Regeln erfüllen diese Matrizen nicht die gleichen Eigenschaften wie gewöhnliche endliche Rotationsmatrizen unter der üblichen Behandlung von Infinitesimalen. Es stellt sich heraus, dass die Reihenfolge, in der infinitesimale Drehungen angewendet werden, irrelevant ist. Ein Beispiel hierfür finden Sie unter Infinitesimaldrehungen SO(3).

denn die Terme, die proportional zum Produkt zweier infinitesimaler Größen sind, können gegenüber den anderen vernachlässigt werden.

Umrechnungen

Wir haben gesehen, dass es mehrere Zerlegungen gibt, die in jeder Dimension gelten, nämlich unabhängige Ebenen, aufeinanderfolgende Winkel und verschachtelte Dimensionen. In all diesen Fällen können wir entweder eine Matrix zerlegen oder eine konstruieren. Besondere Aufmerksamkeit haben wir auch den 3 × 3 Rotationsmatrizen gewidmet, die in beiden Richtungen weitere Aufmerksamkeit verdienen (Stuelpnagel 1964).

Quaternion

Für das Einheitsquaternion q = w + xi + yj + zk lautet die äquivalente vormultiplizierte (mit Spaltenvektoren zu verwendende) 3 × 3 Rotationsmatrix

Nun erscheint jede Quaternion-Komponente mit zwei multipliziert in einem Term vom Grad zwei, und wenn alle diese Terme Null sind, bleibt eine Identitätsmatrix übrig. Dies führt zu einer effizienten, robusten Umwandlung von jedem Quaternion - ob mit oder ohne Einheit - in eine 3 × 3 Rotationsmatrix. Gegeben:

Wir können berechnen

Befreit von der Forderung nach einer Einheitsquaternion, stellen wir fest, dass Quaternionen ungleich Null als homogene Koordinaten für 3 × 3 Rotationsmatrizen fungieren. Die bereits erwähnte Cayley-Transformation erhält man, indem man das Quaternion so skaliert, dass seine w-Komponente 1 ist. Bei einer Drehung um 180° um eine beliebige Achse ist w gleich Null, was die Cayley-Beschränkung erklärt.

Die Summe der Einträge entlang der Hauptdiagonale (die Spur) plus eins ist gleich 4 - 4(x2 + y2 + z2), also 4w2. Wir können also die Spur selbst als 2w2 + 2w2 - 1 schreiben; und aus der vorherigen Version der Matrix sehen wir, dass die Diagonaleinträge selbst die gleiche Form haben: 2x2 + 2w2 - 1, 2y2 + 2w2 - 1, und 2z2 + 2w2 - 1. Wir können also die Größen aller vier Quaternionen-Komponenten anhand der Matrixdiagonale leicht vergleichen. Wir können nämlich alle vier Größen mit Hilfe von Summen und Quadratwurzeln ermitteln und mit Hilfe des schiefsymmetrischen Teils der Einträge außerhalb der Diagonalen einheitliche Vorzeichen wählen:

Alternativ kann man auch eine einzige Quadratwurzel und die Division verwenden

Dies ist numerisch stabil, solange die Spur t nicht negativ ist; andernfalls riskieren wir, durch (fast) Null zu dividieren. In diesem Fall nehmen wir an, dass Qxx der größte Diagonaleintrag ist, so dass x den größten Betrag hat (die anderen Fälle ergeben sich durch zyklische Permutation); dann ist das Folgende sicher.

Wenn die Matrix signifikante Fehler enthält, wie z. B. akkumulierte numerische Fehler, können wir eine symmetrische 4 × 4-Matrix konstruieren,

und den Eigenvektor (x, y, z, w) ihres größten Eigenwerts finden. (Wenn Q wirklich eine Rotationsmatrix ist, ist dieser Wert 1.) Das so erhaltene Quaternion entspricht der Rotationsmatrix, die der gegebenen Matrix am nächsten kommt (Bar-Itzhack 2000) (Anmerkung: Die Formulierung in dem zitierten Artikel ist post-multipliziert und funktioniert mit Zeilenvektoren).

Polare Zerlegung

Wenn die n × n-Matrix M nichtsingulär ist, sind ihre Spalten linear unabhängige Vektoren; daher kann das Gram-Schmidt-Verfahren sie so anpassen, dass sie eine Orthonormalbasis bilden. In der numerischen linearen Algebra konvertieren wir M mit Hilfe der QR-Zerlegung in eine orthogonale Matrix, Q. Wir bevorzugen jedoch oft ein Q, das M am nächsten kommt, was mit dieser Methode nicht erreicht werden kann. Hierfür ist die Polarzerlegung (Fan & Hoffman 1955; Higham 1989) das richtige Werkzeug.

Um die Nähe zu messen, können wir jede Matrixnorm verwenden, die bei orthogonalen Transformationen invariant ist. Eine geeignete Wahl ist die Frobenius-Norm, ||Q - M||F, quadriert, die die Summe der Quadrate der Elementdifferenzen ist. Unser Ziel ist es, dies in Form der Trace, Tr, zu schreiben,

Q zu finden, das Tr( (Q - M)T(Q - M) ) minimiert, wobei QTQ = I gilt.

Obwohl die Zielfunktion in Matrixform geschrieben ist, ist sie nur ein quadratisches Polynom. Wir können sie auf die übliche Weise minimieren, indem wir herausfinden, wo ihre Ableitung Null ist. Für eine 3 × 3-Matrix impliziert die Orthogonalitätsbedingung sechs skalare Gleichheiten, die die Einträge von Q erfüllen müssen. Um die Zwangsbedingung(en) einzubeziehen, können wir eine Standardtechnik anwenden, nämlich Lagrange-Multiplikatoren, die als symmetrische Matrix Y zusammengesetzt sind:

Differenzieren Sie Tr( (Q - M)T(Q - M) + (QTQ - I)Y ) in Bezug auf (die Einträge von) Q, und setzen Sie es mit Null gleich.

Betrachten wir ein 2 × 2 Beispiel. Unter Einbeziehung der Nebenbedingungen versuchen wir Folgendes zu minimieren

Indem wir die Ableitung nach Qxx, Qxy, Qyx und Qyy vornehmen, erhalten wir eine Matrix.

Im Allgemeinen erhalten wir die Gleichung

so dass

wobei Q orthogonal und S symmetrisch ist. Um ein Minimum zu gewährleisten, muss die Y-Matrix (und damit S) positiv definit sein. In der linearen Algebra nennt man QS die polare Zerlegung von M, wobei S die positive Quadratwurzel aus S2 = MTM ist.

Wenn M nicht singulär ist, sind die Faktoren Q und S der Polarzerlegung eindeutig bestimmt. Die Determinante von S ist jedoch positiv, weil S positiv definit ist, so dass Q das Vorzeichen der Determinante von M erbt, d. h. Q ist nur garantiert orthogonal und keine Rotationsmatrix. Dies ist unvermeidlich; ein M mit negativer Determinante hat keine eindeutig definierte nächste Rotationsmatrix.

Achsen und Winkel

Um eine Rotationsmatrix Q aus einem Winkel θ und einer Einheitsachse u effizient zu konstruieren, können wir die Symmetrie und Schrägsymmetrie der Einträge nutzen. Wenn x, y und z die Komponenten des Einheitsvektors sind, der die Achse darstellt, und

dann

Die Bestimmung einer Achse und eines Winkels ist wie die Bestimmung eines Quaternions nur bis zum Vorzeichen möglich, d. h. (u, θ) und (-u, -θ) entsprechen der gleichen Rotationsmatrix, genau wie q und -q. Darüber hinaus bereitet die Extraktion von Achsenwinkeln zusätzliche Schwierigkeiten. Der Winkel kann auf einen Wert zwischen 0° und 180° beschränkt werden, aber die Winkel sind formal mehrdeutig, wenn sie ein Vielfaches von 360° sind. Wenn der Winkel Null ist, ist die Achse undefiniert. Wenn der Winkel 180° beträgt, wird die Matrix symmetrisch, was Auswirkungen auf die Extraktion der Achse hat. In der Nähe von Vielfachen von 180° ist Vorsicht geboten, um numerische Probleme zu vermeiden: Bei der Extraktion des Winkels vermeidet ein Arkustangens mit zwei Argumenten, wobei atan2(sin θ, cos θ) gleich θ ist, die Unempfindlichkeit von arccos; und bei der Berechnung des Achsenbetrags, um eine Einheitsgröße zu erzwingen, kann ein Brute-Force-Ansatz durch Unterlauf an Genauigkeit verlieren (Moler & Morrison 1983).

Ein teilweiser Ansatz ist der folgende:

Die x-, y- und z-Komponenten der Achse würden dann durch r geteilt. Ein vollständig robuster Ansatz verwendet einen anderen Algorithmus, wenn t, die Spur der Matrix Q, negativ ist, wie bei der Quaternion-Extraktion. Wenn r Null ist, weil der Winkel Null ist, muss eine Achse aus einer anderen Quelle als der Matrix bereitgestellt werden.

Euler-Winkel

Die Komplexität der Konvertierung nimmt bei Euler-Winkeln (hier im weiteren Sinne verwendet) zu. Die erste Schwierigkeit besteht darin festzustellen, welche der vierundzwanzig Varianten der kartesischen Achsenordnung wir verwenden wollen. Nehmen wir an, die drei Winkel sind θ1, θ2, θ3; Physik und Chemie können diese als

interpretieren, während die Flugzeugdynamik

Ein systematischer Ansatz beginnt mit der Wahl der ganz rechten Achse. Unter allen Permutationen von (x,y,z) gibt es nur zwei, bei denen diese Achse an erster Stelle steht; eine ist eine gerade Permutation, die andere eine ungerade. Die Wahl der Parität legt also die Mittelachse fest. Für die linke Achse gibt es zwei Möglichkeiten: entweder wird die erste Achse dupliziert oder nicht. Mit diesen drei Möglichkeiten erhalten wir 3 × 2 × 2 = 12 Variationen; wir verdoppeln diese Zahl auf 24, indem wir statische oder rotierende Achsen wählen.

Dies reicht aus, um eine Matrix aus Winkeln zu konstruieren, aber Dreiergruppen, die sich in vielerlei Hinsicht unterscheiden, können dieselbe Drehmatrix ergeben. Nehmen wir zum Beispiel an, wir verwenden die obige zyz-Konvention; dann haben wir die folgenden äquivalenten Paare:

(90°, 45°, -105°) (-270°, -315°, 255°) Vielfache von 360°
(72°, 0°, 0°) (40°, 0°, 32°) singuläre Ausrichtung
(45°, 60°, -30°) (-135°, -60°, 150°) bistabile Umkehrung

Winkel für beliebige Ordnungen können mit Hilfe einer übersichtlichen gemeinsamen Routine gefunden werden (Herter & Lott 1993; Shoemake 1994).

Das Problem der singulären Ausrichtung, das mathematische Analogon der physikalischen Kardanverriegelung, tritt auf, wenn die mittlere Drehung die Achsen der ersten und letzten Drehung ausrichtet. Es betrifft jede Achsenfolge bei geraden oder ungeraden Vielfachen von 90°. Diese Singularitäten sind nicht charakteristisch für die Rotationsmatrix als solche, sondern treten nur bei der Verwendung von Eulerwinkeln auf.

Die Singularitäten werden vermieden, wenn die Rotationsmatrix als orthonormale Zeilenvektoren (in 3D-Anwendungen oft als Rechtsvektor, Aufwärtsvektor und Abwärtsvektor bezeichnet) und nicht als Winkel betrachtet und manipuliert wird. Die Singularitäten werden auch bei der Arbeit mit Quaternionen vermieden.

Vektor-zu-Vektor-Formulierung

In manchen Fällen ist es interessant, eine Drehung zu beschreiben, indem man angibt, wie ein Vektor auf dem kürzesten Weg (kleinster Winkel) auf einen anderen abgebildet wird. In beschreibt dies vollständig die zugehörige Rotationsmatrix. Im Allgemeinen ist bei x, yn, die Matrix

gehört zu SO(n + 1) und bildet x auf y ab.

Gleichmäßige zufällige Rotationsmatrizen

Manchmal müssen wir eine gleichmäßig verteilte Zufallsrotationsmatrix erzeugen. In zwei Dimensionen scheint es intuitiv klar zu sein, dass dies bedeutet, dass der Drehwinkel gleichmäßig zwischen 0 und 2π verteilt ist. Diese Intuition ist richtig, lässt sich aber nicht auf höhere Dimensionen übertragen. Wenn wir zum Beispiel 3 × 3 Rotationsmatrizen in Achsenwinkelform zerlegen, sollte der Winkel nicht gleichmäßig verteilt sein; die Wahrscheinlichkeit, dass der Winkel (die Größe) höchstens θ beträgt, sollte 1/π(θ - sin θ) sein, für 0 ≤ θ ≤ π.

Da SO(n) eine zusammenhängende und lokal kompakte Lie-Gruppe ist, haben wir ein einfaches Standardkriterium für Gleichförmigkeit, nämlich dass die Verteilung unverändert bleibt, wenn sie mit einer beliebigen Rotation (einer Lie-Gruppe "Translation") zusammengesetzt wird. Diese Definition entspricht dem so genannten Haar-Maß. León, Massé & Rivest (2006) zeigen, wie man die Cayley-Transformation verwendet, um Matrizen nach diesem Kriterium zu erzeugen und zu testen.

Mit dem Untergruppenalgorithmus von Diaconis & Shashahani (1987) können wir auch eine Gleichverteilung in jeder Dimension erzeugen. Dabei wird die Gruppenstruktur von SO(n) mit verschachtelten Dimensionen wie folgt rekursiv ausgenutzt. Erzeugen Sie einen gleichmäßigen Winkel und konstruieren Sie eine 2 × 2 Rotationsmatrix. Um von n zu n + 1 zu gelangen, erzeugt man einen Vektor v, der gleichmäßig auf der n-Sphäre Sn verteilt ist, bettet die n × n-Matrix in die nächstgrößere Matrix mit der letzten Spalte (0, ..., 0, 1) ein und dreht die größere Matrix so, dass die letzte Spalte v wird.

Wie üblich haben wir spezielle Alternativen für den Fall 3 × 3. Jede dieser Methoden beginnt mit drei unabhängigen zufälligen Skalaren, die gleichmäßig auf dem Einheitsintervall verteilt sind. Arvo (1992) nutzt die ungerade Dimension, um eine Householder-Spiegelung in eine Drehung durch Negation umzuwandeln, und verwendet dies, um die Achse einer gleichmäßigen planaren Drehung zu bestimmen.

Eine andere Methode verwendet Einheitsquaternionen. Die Multiplikation von Rotationsmatrizen ist homomorph zur Multiplikation von Quaternionen, und die Multiplikation mit einer Einheitsquaternion rotiert die Einheitskugel. Da es sich bei dem Homomorphismus um eine lokale Isometrie handelt, folgt daraus unmittelbar, dass wir zur Erzeugung einer Gleichverteilung auf SO(3) eine Gleichverteilung auf S3 verwenden können. In der Praxis: Erstellen Sie einen Vier-Elemente-Vektor, bei dem jedes Element eine Stichprobe einer Normalverteilung ist. Normalisiert man seine Länge, so erhält man eine gleichmäßig abgetastete Zufallsquaternion, die eine gleichmäßig abgetastete Zufallsrotation darstellt. Beachten Sie, dass das oben Gesagte nur für Rotationen in der Dimension 3 gilt. Für eine verallgemeinerte Vorstellung von Quaternionen sollte man einen Blick auf Rotoren werfen.

Auch Euler-Winkel können verwendet werden, wenn auch nicht jeder Winkel gleichmäßig verteilt ist (Murnaghan 1962; Miles 1965).

Bei der Achsen-Winkel-Form ist die Achse gleichmäßig über die Einheitskugel der Richtungen, S2, verteilt, während der Winkel die bereits erwähnte ungleichmäßige Verteilung über [0,π] aufweist (Miles 1965).

Drehmatrizen des Raumes ℝ³

Parametrisierung

Für Drehmatrizen im dreidimensionalen Raum sind mehrere Parametrisierungen bekannt:

  • Euler-, Kardan- und Tait-Bryan-Winkel werden in der Kreiseltheorie, Luftfahrt, Schifffahrt und im Automobilbau verwendet.
  • Die Euler-Rodrigues-Formel basiert auf den Quaternionen und wird in der Robotik und Computergrafik angewendet.
  • Rotationsvektoren sind in vielfältiger Weise definierbar, siehe die folgende Auflistung.

Darin ist der Drehwinkel, der Einheitsvektor in Richtung der Drehachse und ist die Kreuzproduktmatrix des Rotationsvektors. Die Auflistung gibt vier Darstellungen derselben Drehmatrix, die mit Winkel um die Drehachse dreht.

Allgemeine Definition

Eine -Matrix mit reellen Komponenten heißt Drehmatrix, wenn sie

a) die Länge von Vektoren und die Winkel zwischen Vektoren erhält (ausgedrückt durch das Skalarprodukt), wenn also für alle Vektoren und des gilt:

und

b) orientierungserhaltend ist, wenn also gilt.

Drehmatrizen sind orthogonale Matrizen mit der Determinante +1.

Infinitesimale Drehungen

Betrachtet man Drehungen um infinitesimal kleine Winkel , so ist es ausreichend, die Winkelfunktionen der endlichen Drehung bis zur ersten Ordnung zu entwickeln ( bzw. ). Damit lassen sich nun infinitesimale Drehungen darstellen als

wobei die Einheitsmatrix und die Erzeugende einer infinitesimalen Drehung darstellt. Die Erzeugenden sind die Ableitungen der Rotationsmatrix an der Stelle der Identität und bilden die Basis der Lie-Algebra (Beispiel siehe unten).

Eine endliche Drehung lässt sich durch Hintereinanderausführung infinitesimaler Drehungen erzeugen:

Dabei wurde die Exponentialfunktion identifiziert. Die Exponentialfunktion von Matrizen ist über die Reihendarstellung definiert, wie im letzten Schritt gezeigt. Es lässt sich zeigen, dass Erzeugende spurfrei sein müssen:

und schiefsymmetrisch sind:

Mit dem Konzept der Erzeugenden lässt sich die lokale Gruppenstruktur der in der Umgebung der identischen Abbildung ausdrücken, und zwar durch die infinitesimalen Drehungen. Wegen des Zusammenhangs über die Exponentialfunktion wird aus einer Multiplikation von Drehmatrizen eine Addition ihrer Erzeugenden. Die Erzeugenden bilden einen Vektorraum derselben Dimension wie die Drehgruppe ; somit gibt es linear unabhängige Erzeugende der Gruppe .

Die Erzeugenden bilden mit dem Lie-Produkt (Kommutator) die sog. Lie-Algebra . Eine Algebra besitzt zwei Gruppenstrukturen, die kommutative Addition und eine Multiplikation (Lie-Produkt). Der Kommutator zweier Erzeugenden liegt wieder in der Menge der Erzeugenden (Abgeschlossenheit):

Die Koeffizienten sind charakteristische Konstanten der Gruppe. Für alle doppelten Kommutatoren gilt die Jacobi-Identität:

In der theoretischen Physik spielen Lie-Gruppen eine wichtige Rolle, z. B. in der Quantenmechanik (siehe Drehimpulsoperator) oder der Elementarteilchenphysik.

Ebene ℝ²

Für Drehungen im lauten die infinitesimale Drehung und ihre Erzeugende:

Für die gibt es nur eine linear unabhängige Erzeugende.

Eine endliche Drehung lässt sich über die Exponentialfunktion des Drehwinkels und der Erzeugenden darstellen. Dies wird hier auf eine weitere Art gezeigt: Die Drehmatrix wird in einen symmetrischen und antisymmetrischen Anteil zerlegt und die trigonometrischen Funktionen werden durch ihre Taylorreihe dargestellt.

Mit bzw. folgt das von oben bekannte Ergebnis:

Raum ℝ³

Für Drehungen im um die kartesischen Koordinatenachsen lauten die infinitesimalen Drehungen und ihre Erzeugenden:

Für die gibt es drei linear unabhängige Erzeugende. Gegenüber endlichen Drehungen vertauschen infinitesimale Drehungen miteinander (der Kommutator verschwindet in erster Ordnung in ).

Eine infinitesimale Drehung und ihre Erzeugende um eine beliebige Achse (mit ) lässt sich auch schreiben als:

Hieran sieht man, dass eine beliebige Erzeugende stets eine schiefsymmetrische Matrix ist.

Eine endliche Drehung um eine beliebige Achse (mit ) um den Winkel lässt sich so darstellen:

Die Erzeugenden , , bilden die sog. Lie-Algebra , d. h., der Kommutator (Lie-Produkt) zweier Erzeugenden liegt wieder in der Menge der Erzeugenden:

und ebenso für alle zyklischen Permutationen der Indizes.

Bestimmung der Drehung zwischen zwei Lagen

Gegeben sei die Lage eines Körpers in zwei Positionen. Außerdem sei die Positionsänderung durch Drehung um den Ursprung erfolgt. Gesucht ist die oder eine Drehmatrix, die diese Drehung beschreibt. Im -dimensionalen Raum wird die Lage des Körpers durch Punkte beschrieben, welche die Matrix bilden. Die Ausgangslage werde durch , die verdrehte Lage durch beschreiben. Dann gilt für die Drehung

Ist regulär, dann kann die Drehmatrix einfach durch Rechtsmultiplikation mit bestimmt werden:

Ist nicht regulär, weil zum Beispiel einer der Punkte des Körpers im Ursprung liegt, dann kann die Inverse nicht gebildet werden. Auch die Pseudoinverse führt hier nicht zum Ziel. Allerdings kann eine Singulärwertzerlegung durchgeführt werden. Diese liefert für eine Matrix die unitären Matrizen und sowie die Diagonalmatrix der Singulärwerte:

Man kann zeigen, dass die Singulärwerte gegenüber einer Rotation invariant sind. Es gilt also und damit