Affine Koordinatentransformationen Medieninformatik IL Andreas Unterweger Vertiefung Medieninformatik Studiengang ITS FH Salzburg Wintersemester 017/18 Andreas Unterweger (FH Salzburg) Affine Koordinatentransformationen Wintersemester 017/18 1 / 0
Überblick: Affine Koordinatentransformationen Was ist eine Koordinatentransformation? Änderung der Koordinaten eines (geometrischen) Objektes Aktive vs. passive Transformationen Was ist Affinität (leicht vereinfacht)? Erhält Seitenverhältnisse Erhält Parallelität Wofür affine Koordinatentransformationen? Elementare, kombinierbare Veränderungsoperationen Basis für komplexere Veränderungsoperationen Affine Koordinatentransformationen: Spiegelung, Rotation, Translation, Skalierung, Scherung Beschränkung: Rechtshändige Koordinatensysteme (im R und R 3 ) Andreas Unterweger (FH Salzburg) Affine Koordinatentransformationen Wintersemester 017/18 / 0
Wiederholung: Matrizenrechnung Matrix mit m Zeilen und n Spalten reeller Koeffizienten: A R m n Koeffizienten a i,j R, i {x N 1 x m}, j {x N 1 x n} Einheitsmatrix E R n n (quadratisch) mit a i,j = δ i,j, sodass A R n n : A E = E A = A Rechenoperationen Addition und Subtraktion (elementweise) Multiplikation (assoziativ, aber nicht kommutativ) Inverse zu A (keine Division!): A 1, sodass A A 1 = A 1 A = E Determinante (nur quadratische Matrizen): det(a) : R n n R Weitere relevante Konzepte Eigenwerte Eigenvektoren Andreas Unterweger (FH Salzburg) Affine Koordinatentransformationen Wintersemester 017/18 3 / 0
Transformationen als Matrizen I Gegeben: Ein Punkt P im R n Gesucht: Der transformierte Punkt P in Abhängigkeit von P Bekannt: Zusammenhang zwischen alten und neuen Koordinaten ( ) ( ) 3 3 Beispiel: P = mit Spiegelung an x-achse P = x = x y = y x = 1 x + 0 y y = 0 x 1 y Andreas Unterweger (FH Salzburg) Affine Koordinatentransformationen Wintersemester 017/18 4 / 0
Transformationen als Matrizen II x = 1 x + 0 y y = 0 x 1 y Idee: Zusammenhang zwischen Koordinaten als Matrix anschreiben: ( ) ( ) ( ) x 1 0 x y = 0 1 y }{{} T P = T P (Transformations-)Matrix T transformiert P in P Andreas Unterweger (FH Salzburg) Affine Koordinatentransformationen Wintersemester 017/18 5 / 0
Transformationen als Matrizen III Vorteile durch Transformationen als Matrizen Einfach zu implementieren Relativ schnell (vor allem bei komplexeren Zusammenhängen) Matrizenoperationen erlauben Umkehr und Kombination Umkehrbarkeit von Transformationen: P = T P P = T 1 P Hintereinanderausführung von Transformationen (erst T 1, dann T ): P = (T T 1 ) P = T (T 1 P) = T }{{} P = P P Standardnotation für passive Transformationen: T 1 statt T Andreas Unterweger (FH Salzburg) Affine Koordinatentransformationen Wintersemester 017/18 6 / 0
Spiegelung an einer Ursprungsgeraden im R Winkel zwischen Gerade und x-achse: α = 150 (Freiheitsgrad) y α d g S g P x 1 3 P d g 1 3 g Andreas Unterweger (FH Salzburg) Affine Koordinatentransformationen Wintersemester 017/18 7 / 0
Spiegelung an einer Ebene im R 3 Ebene ist x-y-ebene y P 1 P P 1 d z d z d x d y P x z P 3 P 3 Andreas Unterweger (FH Salzburg) Affine Koordinatentransformationen Wintersemester 017/18 8 / 0
Spiegelungsmatrizen im R und R 3 S 1 ( cos(α) D (α) = sin(α) S 1 3D xy = S 1 3D xz = S 1 3D yz = 1 0 0 0 1 0 0 0 1 1 0 0 0 1 0 0 0 1 1 0 0 0 1 0 0 0 1 sin(α) cos(α) ) Andreas Unterweger (FH Salzburg) Affine Koordinatentransformationen Wintersemester 017/18 9 / 0
Rotation um den Ursprung im R Rotationswinkel ϕ = 165 (Freiheitsgrad) y P ϕ x P 6 Andreas Unterweger (FH Salzburg) Affine Koordinatentransformationen Wintersemester 017/18 10 / 0
Rotation um eine Koordinatenachse im R 3 Rotationswinkel ϕ = 135 (Freiheitsgrad) um die z-achse y d xy d xy P x d xy z ϕ M R P d xy d xy Andreas Unterweger (FH Salzburg) Affine Koordinatentransformationen Wintersemester 017/18 11 / 0
Rotationsmatrizen im R und R 3 R 1 ( cos(ϕ) D (ϕ) = sin(ϕ) R 1 3D x (ϕ) = R 1 3D y (ϕ) = R 1 3D z (ϕ) = ) sin(ϕ) cos(ϕ) 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 Rotationen um verschiedene Achsen sind voneinander unabhängig Andreas Unterweger (FH Salzburg) Affine Koordinatentransformationen Wintersemester 017/18 1 / 0
Skalierung im R Skalierungsfaktor a = (Freiheitsgrad) y y 1 M r r P r 1 x 1 M r r 1 P r x Andreas Unterweger (FH Salzburg) Affine Koordinatentransformationen Wintersemester 017/18 13 / 0
Skalierungsmatrizen im R und R 3 ( Z 1 a 0 D (a) = 0 a Z 1 3D (a) = a 0 0 0 a 0 0 0 a ), a 0, a 0 Wichtiger Sonderfall: Die Multiplikation von Skalierungsmatrizen ist kommutativ (nicht mit beliebigen anderen Matrizen kombinierbar!) Andreas Unterweger (FH Salzburg) Affine Koordinatentransformationen Wintersemester 017/18 14 / 0
Translation im R Verschiebungsvektor v = ( 5 3 y ) (zwei Freiheitsgrade) P -3 P -1 x Andreas Unterweger (FH Salzburg) Affine Koordinatentransformationen Wintersemester 017/18 15 / 0
Einschub: Homogene Koordinaten I Problem: Verschiebung nicht durch gezeigte Matrizenmultiplikationen abbildbar (neue Koordinaten sind immer von alten abhängig) Lösung: Homogene Koordinaten (zusätzliche Dimension, deren Werte immer konstant sind koordinatenunabhängige Änderung möglich) T 1 = 1 0 5 0 1 3 0 0 1 x = 1 x + 0 y + 5 1 = x + 5 y = 0 x + 1 y 3 1 = y 3 1 = 0 x + 0 y + 1 1 = 1 Andreas Unterweger (FH Salzburg) Affine Koordinatentransformationen Wintersemester 017/18 16 / 0
Einschub: Homogene Koordinaten II Zusätzliche Dimension vergrößert Matrix Dimension der Punkte muss angepasst werden (vereinfacht): Vor der Transformation Dimension hinzufügen (Wert 1) ( ) 3 P = P homogen = 3 1 Nach der Transformation Dimension entfernen (Wert 1) P homogen = ( ) 1 P = 1 1 Analog im R 3 : Vier Dimensionen in homogenen Koordinaten Andreas Unterweger (FH Salzburg) Affine Koordinatentransformationen Wintersemester 017/18 17 / 0
Translationsmatrizen im R und R 3 T 1 D (t x, t y ) = T 1 3D (t x, t y, t z ) = 1 0 t x 0 1 t y 0 0 1 1 0 0 t x 0 1 0 t y 0 0 1 t z 0 0 0 1 Wichtiger Sonderfall: Die Multiplikation von Translationsmatrizen ist kommutativ (nicht mit beliebigen anderen Matrizen kombinierbar!) n Freiheitsgrade im R n Andreas Unterweger (FH Salzburg) Affine Koordinatentransformationen Wintersemester 017/18 18 / 0
Verkettung von Transformationsmatrizen Ausschließlich nicht homogene Matrizen: Einfache Multiplikation Ausschließlich homogene Matrizen: Einfache Multiplikation Mischung von homogenen und nicht homogenen Matrizen: Nicht homogene Matrizen homogen machen: A = a 11 a 1 a 13 a 1 a a 3 a 31 a 3 a 33 A homogen = a 11 a 1 a 13 0 a 1 a a 3 0 a 31 a 3 a 33 0 0 0 0 1 Achtung: Reihenfolge bei Umkehr der Verkettung ebenso umkehren: (A 1 A... A n 1 A n ) 1 = A 1 n A 1 n 1... A 1 A 1 1 Andreas Unterweger (FH Salzburg) Affine Koordinatentransformationen Wintersemester 017/18 19 / 0
Danke für die Aufmerksamkeit! Fragen? Andreas Unterweger (FH Salzburg) Affine Koordinatentransformationen Wintersemester 017/18 0 / 0