Quaternionen Eugenia Schwamberger.

Slides:



Advertisements
Ähnliche Präsentationen
Fast Fourier Transformation
Advertisements

Polynomial Root Isolation
3. 3D-Betrachtungstransformationen
Schnelle Matrizenoperationen von Christian Büttner
13. Transformationen mit Matrizen
11. Matrizen. 11. Matrizen Eine mn-Matrix ist ein Raster aus mn Koeffizienten, die in m Zeilen und n Spalten angeordnet sind. = (aij)1  i  m, 1.
Mechanik Mathematische Grundlagen und Begriffe: Formel? Funktion
Seminar „Extrapolationsmethoden für zufällige Felder“
Grundlagen der Geometrie
3.2 und 3.2.1: Räumliches Sehen und Koordinaten und Vektoren
Ein Modellansatz zur Beschreibung von Vagheiten
Christian Schindelhauer
Multivariate Analysemethoden Johannes Gutenberg Universität Mainz
WS Algorithmentheorie 02 - Polynomprodukt und Fast Fourier Transformation Prof. Dr. Th. Ottmann.
Die Geometrie der Ebene
Kapitel 2 Die rationalen und die irrationalen Zahlen.
Kapitel 4 Geometrische Abbildungen
Geometrie. Geometrie 6. Ebene Geometrie Ein Punkt ist, was keinen Teil hat. Euklid ( ) Gerade analytisch: y = mx + c y(0) = c y(1)
Mathematische Phantasiebegriffe Reflexives Magnetthema
Struktur und Funktion von Biopolymeren Elmar Lang
§14 Basis und Dimension (14.1) Definition: V sei wieder ein K-Vektorraum. Eine Menge B von Vektoren aus V heißt Basis von V, wenn B ist Erzeugendensystem.
Folie 1 § 30 Erste Anwendungen (30.2) Rangberechnung: Zur Rangberechnung wird man häufig die elementaren Umformungen verwenden. (30.1) Cramersche Regel:
§9 Der affine Raum – Teil 2: Geraden
§ 28 Multilineare und Alternierende Abbildungen
§9 Der affine Raum – Teil 2: Geraden
§14 Basis und Dimension  (14.1) Definition: V sei wieder ein K-Vektorraum. Eine Menge B von Vektoren aus V heißt Basis von V, wenn B ist Erzeugendensystem.
§11 Skalarprodukt. Euklidische Räume
§8 Gruppen und Körper (8.1) Definition: Eine Gruppe G ist eine Menge zusammen mit einer Verknüpfung, die jedem Paar (a,b) von Elementen aus G ein weiteres.
Starrkörpereigenschaften
§10 Vektorraum. Definition und Beispiele
Computergrafik – Inhalt Achtung! Kapitel ist relevant für CG-2!
§24 Affine Koordinatensysteme
Beispiel: Arbeit, Skalarprodukt zwischen Kraft- und Weg-Vektor
Vektoren Grundbegriffe für das Information Retrieval
5. Erweiterungen der Zahlenmenge
Lineare Algebra Komplizierte technologische Abläufe können übersichtlich mit Matrizen dargestellt werden. Prof. Dr. E. Larek
Folie 1 Kapitel IV. Matrizen Inhalt: Matrizen als eigenständige mathematische Objekte Zusammenhang zwischen Matrizen und linearen Abbildungen Produkt von.
§23 Basiswechsel und allgemeine lineare Gruppe
§3 Allgemeine lineare Gleichungssysteme
Polynome und schnelle Fourier-Transformation
Fuzzymengen – Was ist das?
Verhalten von Objekten in der Szene
Institut für Theoretische Informatik
Lineare Algebra, Teil 2 Abbildungen
Inhalt Vorbemerkung Vorstellung einer Unterrichtssequenz Kritik
Formale Sprachen Mathematische Grundlagen Rudolf FREUND, Marian KOGLER.
Multivariate Statistische Verfahren
ENDLICHE KÖRPER RSA – VERFAHREN.
Arne Vater Wintersemester 2006/ Vorlesung
§22 Invertierbare Matrizen und Äquivalenz von Matrizen
Vertauschungs-, Verbindungs-, Verteilungsgesetz
Scaffold 29S: Komplexe Zahlen
Stetige Kleinste-Quadrate-Approximation
Folie 1 §21 Das Produkt von Matrizen (21.1) Definition: Für eine (m,n)-Matrix A und eine (n,s)-Matrix B ist das (Matrizen-) Produkt AB definiert als (21.2)
Grundlagen der Geometrie
Prof. Dr. Walter Kiel Fachhochschule Ansbach
Fourier Synthese und Patterson Methode
Graphische Datenverarbeitung
8. Vektoren. 8. Vektoren Ortsvektor oder Polarvektor.
Folie 1 §8 Gruppen und Körper (8.1) Definition: Eine Gruppe G ist eine Menge zusammen mit einer Verknüpfung, die jedem Paar (a,b) von Elementen aus G ein.
Der Winkel zwischen Vektoren
§8 Gruppen und Körper (8.1) Definition: Eine Gruppe G ist eine Menge zusammen mit einer Verknüpfung, die jedem Paar (a,b) von Elementen aus G ein weiteres.
Vektorgeometrie im Raum
Theorie der unscharfen Mengen
§23 Basiswechsel und allgemeine lineare Gruppe
Das Vektorprodukt Wir definieren erneut eine Multiplikation zwischen zwei Vektoren, das Vektorprodukt, nicht zu verwechseln mit dem Skalarprodukt. Schreibe.
§11 Skalarprodukt. Euklidische Räume
Kapitel I. Vorspann zum Begriff Vektorraum
Herleitung der Formel zur Berechnung von Winkeln zwischen 2 Vektoren
 Präsentation transkript:

Quaternionen Eugenia Schwamberger

Inhalt : Komplexe Zahlen Quaternionen Einheitsquaternionen Rotation mit Quaternionen Beispiel Matrix Conversion Anhang A: Körper, Schiefkörper Anhang B: Vektorprodukt, Skalarprodukt Literatur

Komplexe Zahlen Definition Grafische Darstellung Es sei C = R*R – das kartesische Produkt. An Stelle des geordnetes Paar (x, y) schreiben wir x + iy  C für x, y  R. Grafische Darstellung

Komplexe Zahlen 2 Addition Multiplikation (x + iy) + (u + iv) = (x + u) + i(y + v) Multiplikation (x + iy) · (u + iv) = (xu – yv) + i(xv + yu) Kommutativer Körper mit 1 = 1 + i · 0 als Einselement der Multiplikation Für z = x + iy Betrag |z| = Konjugierte z* = x – iy

Quaternionen 1 Einführung Erst beschrieben von W.R. Hamilton, im 1843 Eingeführt im Feld von Computergrafik von Shoemake, im 1995 Was sind Quaternionen?

Quaternionen 2 Definition: q = ( qv, qw ) = (qx, qy, qz, qw) Ein Quaternion q ist ein Quadrupel, bestehend aus dem Skalar qw und dem Vektor qv q = ( qv, qw ) = (qx, qy, qz, qw) = i qx + j qy + k qz + qw mit qx, qy, qz, qw R und ij = k, ji = -k, jk = i, kj = -i, ki = j, ik = -j

Quaternionen 3 Der Vektor qv = (qx, qy, qz) heißt der imaginäre Teil und qw heißt der reelle Teil von Quaternion q Für imaginäre Teil Addition Produkt Kreuzprodukt und andere Vektoren als Quaternionen v = (v, 0) Skalare als Quaternionen s = (0, s)

Quaternionen 4 · i j k Multiplikation ist nicht kommutativ -1 -j -k -i Multiplikation ist nicht kommutativ Quaternionen bilden einen Schiefkörper Multiplikation von zwei Quaternionen

Quaternionen 5 Skalarprodukt Kreuzprodukt qvxrv = qvxrv= mv s q = (o, s) (gv , qw) = (s gv , s qw) q s = (gv , qw) (0, s) = (gv s , qw s) = (s gv , s qw) Kreuzprodukt qvxrv = (i qx + j qy + k qz)x(i rx + j ry + k rz) = i (qyrz – qzry) + j (-qxrz + qzrx) + k (qxry - qyrx) qxrx - qyry – qzrz => qvxrv= mv hamilton

Quaternionen 6 (qvxrv + rwqv + qwrv, qwrw – qvrv) Multiplikationen von zwei Quaternionen q r = (i qx + j qy + k qz + qw )x(i rx + j ry + k rz + rw) = i (qyrz – qzry + qxrw – qwrx) + j (-qxrz + qzrx + qyrw + qwry) + k (qxry – qyrx + qzrw – qwrz) + qwrw - qxrx - qyry – qzrz = (qvxrv + rwqv + qwrv, qwrw – qvrv)

Quaternionen 7 Addition Konjugierte Quaternionen q + r = (qv, qw) + (rv, rw) =(qv + rv, qw + rw) Konjugierte Quaternionen q* = (qv, qw)* = ( - qv, qw) Der Norm N(q) bzw. ||q||² N(q) = q q* = q* q = qv qv + qw² = qx² + qy² + qz² + qw² Die Identität I = (0, 1)

Multiplikative Inverse Behauptung Die zu einem Quaternion q multiplikative Inverse ist q-1 = q*/N(q) Wir leiten diese Formel von der Definition des Normen her. q-1 · q = q · q-1 = 1 Gilt für Inverse N(q) = q · q*  1 = (q · q* ) / N(q) =>

Regeln Für Konjugierte Quaternionen Für den Norm von Quaternionen (q*)* = q (q + r)* = q* + r* (q r)* = r* q* Für den Norm von Quaternionen N(q*) = N(q) N(q r) = N(q) N(r)

Gesetze für Multiplikationen Distributivgesetze p (s q + t r) = s p q + t p r wobei p, q, r sind Quaternionen, und s, t - Skalaren (s p + t q) r = s p r + t q r Assoziativität p (q r) = (p q) r

Einheitsquaternionen Quaternionen mit N(q) = 1 heißen Einheitsquaternionen. q = (uq sin, cos) für drei-dimensionalen Vektor uq mit N(uq) = 1, weil N(q) = n(uq sin, cos) = sin² (uq uq) + cos²  = sin²  + cos²  = 1 Die menge aller Einheitsquaternionen bildet eine Einheitssphäre im vierdimensionalen Raum.

Rotation mit Quaternionen Sei gegeben Vektor P (px py pz pw)T Wir bringen die Koordinaten von P in ein Quaternion p ein, p = (px, py, pz, pw). Angenommen, dass wir ein Einheitsquaternion q = (uq sin, cos) haben, dann gilt: qpq-1 rotiert p um die Achse uq mit dem Winkel 2 Anmerkung Für Einheitsquaternion q gilt q* = q-1

Rotation mit Quaternionen 2 Gegeben sei zwei Vektoren v1 und v2 N(v1) = N(v2) = 1 cos = v1 · v2 uq = (v1xv2) / |v1xv2| N(uq) = 1 q = v2 · v1* = (v1xv2, v1 · v2)  q = (uq sin, cos )

Rotation mit Quaternionen 3 (q v1q*) liegt in der gleichen Ebene wie v1 und v2 und schließt mit v2 den Winkel  ein. (q v1q*)v2* = (q v1((v2v1)*)*)v2* = q (v1v1)(v2*v2*) = q = (v2 · v1* )

Rotation mit Quaternionen 4 Das Produkt qpq-1 führt p = (pv, pw) nach p‘ = (pv‘, pw‘) über, wobei N(pv) = N(pv‘) ist, (die Länge des Vektors hat sich nicht geändert) Liegt in der gleichen Ebene wie p Schließt mit dem p den Winkel 2

Beispiel Punkt P(0, 2, 6) soll um 60° bzg. der z-Achse rotiert werden. p = 0i + 2j + 6k, q = (uqsin, cos), uq= (0, 0, -1),  = 30° => q = (- 0.5k + cos30°) = (3/2 – 0.5k) = q* = (3 / 2 + 0.5k) Berechne q p q* (3/2-0.5k)(2j + 6k)(3/2 + 0.5k) = (i + 3j + 3 3k + 0.5 · 6)(3/2 + 0.5k) = (3i + j +6k) => P‘ = (1.73 1 6)T

Matrix Conversion Ein Quaternion q kann in eine Matrix Mq folgendermaßen konvertiert werden: 1-s(qy² +qz²) s(qxqy - qwqz) s(qxqz + qwqy) 0 Mq = s(qxqy + qwqz) 1-s(qx² +qz²) s(qyqz – qwqx) 0 s(qxqz - qwqy) s(qyqz + qwqx) 1-s(qx² +qy²) 0 0 0 0 1 Wobei s= 2/N(q)

Matrix Conversion 2 Wenn N(q) =1, dann 1-2(qy² +qz²) 2(qxqy - qwqz) 2(qxqz + qwqy) 0 Mq = 2(qxqy + qwqz) 1-2(qx² +qz²) 2(qyqz – qwqx) 0 2(qxqz - qwqy) 2(qyqz + qwqx) 1 - 2(qx² +qy²) 0 0 0 0 1

Matrix Conversion 3 Rückwärtsumrechnung m21q - m12q = 4qwqx m02q - m20q = 4qwqy (*) m10q - m01q = 4qwqz  d.h. wenn qw bekannt ist, können wir die qx, qy, qz berechnen.

Matrix Conversion 4 „trace“ einer Matrix M - tr(M) tr(Mq) = 4- 2s(qx² +qy² +qz²) = 4 ·(1- (qx² +qy² +qz²) /(qx² +qy² + qz² + qw²)) = 4qw² / (qx² +qy² + qz² + qw²) = 4qw² / N(q)

Matrix Conversion 5 Dieses Resultat liefert die folgende Umrechnung für Quaternionen: qw = 0.5 tr (Mq) qx = (m21q - m12q) / 4qw (**) qy = (m02q - m20q) / 4qw qz = (m10q - m01q) / 4qw  

Matrix Conversion 6 Lösung ist nicht stabil, Division von kleinen Zahlen wird vermieden. Deshalb setzen wir zuerst t = qw² - qx² - qy² - qz² ein, daraus folgt m00 = t + 2qx² m11 = t + 2qy² m22 = t + 2qz² u = m00 + m11 + m22 = 2 + qw²

Matrix Conversion 7 Wir halten folgendes fest: 4qx² = m00 - m11 - m22 + m33 4qy² = - m00 + m11 - m22 + m33 4qz² = - m00 - m11 + m22 + m33 4qw² = tr(Mq)

Sphärische Lineare Interpolation Gegeben sei zwei Einheitsquaternionen q und r und ein Parameter t [0, 1]. Dann ist s (q, r, t) = (rq-1)tq = = slerp(q, r, t) = q  sin((1 –t)) / sin + r  sin(t) / sin  mit cos = qxrx + qyry + qzrz + qwrw. Diese Funktion berechnet für t = [0, 1] die kürzeste Verbindung (Großkreis) auf der vierdimensionalen Einheitssphäre zwischen q und r. Dies ist für die Interpolation (Animation) von Orientierungen von Körpern ideal geeignet. Nicht sehr gut für die Orientierung der Kamera, da sich der „Camera-up“ Vektor verändern kann!

Transformation mit Quaternionen Vorteile Die Rotation erfolgt direkt um die gewünschte Drehachse. Es kann mit dem Verfahren wie SLERP zwischen zwei Orientierungen interpoliert werden Die Verkettung von Rotationen ist effizienter. Nachteile Mehr Mathematik Nicht sehr gut für Kameraorientierungen geeignet

Anhang A Körper Schiefkörper Die Multiplikation ist nicht kommutativ Sei (K, +, *) eine Menge mit zwei Verknüpfungen. K ist ein Körper, wenn Assoziativgesetz der Multiplikation und der Addition gilt Kommutativgesetz der Multiplikation und der Addition gilt Nullelement und Einselement existieren Inverse der Addition exsistiert Inverse der Multiplikation exsistiert Schiefkörper Die Multiplikation ist nicht kommutativ

Anhang B Vektorprodukt Skalarprodukt |vu| = |v|·|u| · sin(v, u) vu ist orthogonal zu v und u Bilden ein Rechtsystem in der Reihenfolge : v, u, vu. Skalarprodukt u · v = |v|·|u| · cos(v, u)

Literatur Tomas Möller, Erik Haines. Real – Time Rendering. Alan Watt. 3D – Computergrafik. B.L. van der Waerden. Hamiltons Entdeckung der Quaternionen. Peter Meyer-Nieberg. Analysis I. Vorlesung SS2001