Kapitel 2 Mathematische Grundlagen In diesem Kapitel werden die mathematischen Grundlagen dargelegt, die für die Darstellung von dreidimensionalen Objekten notwendig sind. 2. 3D-Koordinatensystem Weit verbreitet ist das kartesische Koordinaten-System, z.b. in der rechtshändigen Form. Bei gespreizten Fingern der rechten Hand zeigt der Daumen in x-richtung, der Zeigefinger in y- Richtung, der Mittelfinger in z-richtung. y hinten z vorne x 2.2 Länge und Kreuzprodukt Gegeben sei ein 3D-Vektor Seine Länge ist definiert als v = v v 2 v 3 v := v 2 + v2 2 + v2 3 45
46 KAPITEL 2. MATHEMATISCHE GRUNDLAGEN Gegeben seien zwei 3D-Vektoren v = v v 2 v 3 und w = w w 2 w 3 Das Kreuzprodukt von v und w ist definiert als v 2 w 3 v 3 w 2 v w = v 3 w v w 3 v w 2 v 2 w Der Vektor v w steht senkrecht auf v und steht senkrecht auf w. Seine Länge entspricht der Fläche des durch v und w aufgespannten Parallelogramms, d.h. v w = v w sin(α) v w v w α In einem rechtshändigen Koordinatensystem entspricht bei gespreizten Fingern der Daumen v, der Zeigefinger w, der Mittelfinger v w. Ein Applet zur Visualisierung liegt unter http://www-lehre.inf.uos.de/ cg/2008/skript/applets/crossproduct. Anwendung des Kreuzprodukts Gegeben sei eine Fläche durch 3 nicht kollineare Punkte P,P 2,P 3. P 3 P P 2 Der Vektor P 2 P P 3 P bildet den Normalenvektor zur Fläche. Ist eine Ebene durch ihre Ebenengleichung Ax + By +Cz + D = 0 gegeben, so ergibt sich der Normalenvektor als (A B C) T. Ist ein Normalenvektor (A B C) T gegeben, so errechnet sich D durch Einsetzen eines beliebigen Punktes der Ebene. Ein Punkt (x,y,z) liegt
2.2. LÄNGE UND KREUZPRODUKT 47 oberhalb der Ebene, falls Ax + By +Cz > D unterhalb der Ebene, falls Ax + By +Cz < D in der Ebene, falls Ax + By +Cz = D Wir werden jede ebene Fläche als Ausschnitt einer Ebene ansehen und dem entsprechenden Polygon eine Flächennormale n zuweisen. Der Umlaufsinn des Polygons entscheidet, in welche Richtung die Flächennormale weist: P P2 P P2 P3 Dreieck mit Punkten im Uhrzeigersinn P3 Dreieck mit Punkten im Gegenuhrzeigersinn Umlaufsinn bei Polygonen ObdA werden der erste, der zweite und der letzte Punkt eines Polygons zur Bestimmung der Normalen herangezogen. Im Fall eines im Uhrzeigersinn (clockwise) orientierten Polygons ergibt sich: n cw = P P 3 P 2 P = v w = v 2 w 3 v 3 w 2 v 3 w v w 3 v w 2 v 2 w Falls das Polygon gegen den Uhrzeigersinn (counter clockwise) orientiert ist, tauschen die Vektoren v und w die Plätze: w 2 v 3 w 3 v 2 n ccw = P 2 P P 3 P = w v = w 3 v w v 3 w v 2 w 2 v Es gilt also: n cw = n ccw Die beiden Normalen weisen in entgegengesetzte Richtungen (Schiefsymmetrie des Kreuzproduktes). Wir werden alle Polygone gegen den Uhrzeigersinn orientieren. Für konvexe Polygone gilt dann: Die Normale einer Fläche, die man so betrachtet, daß sie gegen den Uhrzeigersinn orientiert ist, zeigt in Richtung des Betrachters. Man sieht die Seite der Fläche, die die Außenseite sein soll. Das Kreuzprodukt ist linear in jedem Argument. Es ist weder kommutativ (s.o.) noch assoziativ (( a b) c a ( b c)).
48 KAPITEL 2. MATHEMATISCHE GRUNDLAGEN 2.3 Skalarprodukt Gegeben seien zwei n-dimensionale Vektoren v, w. Das Skalarprodukt lautet: Für Vektoren a, b, c und s R gilt: v w := n i= v i w i a b = b a (Symmetrie) ( a + c) b = a b + c b (Linearität) (s a) b = s( a b) (Homogenität) b = b b (euklidische Norm) Anwendungen des Skalarprodukts: Gegeben zwei Vektoren v, w. Für den Winkel α zwischen v und w gilt: cos(α) = α v w v w. v w Es gilt: v w < 0 v und w schließen einen Winkel von mehr als 90 ein v w = 0 v steht senkrecht auf w v w > 0 v und w schließen einen Winkel von weniger als 90 ein Es gilt: n r = D beschreibt eine Ebene für D R und Normalenvektor n. Alle Lösungsvektoren r liegen (als Punkte aufgefaßt) auf der Ebene. Das Skalarprodukt aller Ebenenpunkte (als Vektoren geschrieben) mit dem Normalenvektor ist konstant. 2.4 Matrixinversion Analog zum zweidimensionalen Fall werden die dreidimensionalen Transformationen durch Verknüpfung homogener Koordinaten mit 4 4-Transformationsmatrizen dargestellt. Sei A = (a ik ), i,k 4, eine 4 4-Matrix: A = a a 2 a 3 a 4 a 2 a 22 a 23 a 24 a 3 a 32 a 33 a 34 a 4 a 42 a 43 a 44
2.5. WECHSEL EINES KOORDINATENSYSTEMS 49 Ist D = det A = a ik die Determinante von A, so bezeichnet man als Unterdeterminante des Elementes a ik diejenige 3-reihige Determinante, die aus D durch Streichen der i-ten Zeile und der k-ten Spalte hervorgeht. Unter der Adjunkten A ik des Elementes a ik versteht man die mit dem Vorzeichen ( ) i+k versehene Unterdeterminante von a ik. Beispiel: A 23 = a a 2 a 4 a 3 a 32 a 34 a 4 a 42 a 44 = [a (a 32 a 44 a 34 a 42 ) a 2 (a 3 a 44 a 34 a 4 ) + a 4 (a 3 a 42 a 32 a 4 )] Die Adjunkten sind nützlich zur Berechnung der Determinanten von A sowie der inversen Matrix A (sofern diese existiert!): A A 2 A 3 A 4 4 det A = a k A k A = A 2 A 22 A 32 A 42 k= det A A 3 A 23 A 33 A 43 A 4 A 24 A 34 A 44 2.5 Wechsel eines Koordinatensystems Wenn wir ein Koordinatensystem wählen, um die Punkte des R 3 zu beschreiben, dann wählen wir damit auch eine Basis, die den Vektorraum aufspannt. Die Basisvektoren sind die Einheitsvektoren in Richtung der Koordinatenachsen. Zwei verschiedene Koordinatensysteme haben zwei verschiedene Basen. Die Transformation von einem Koordinatensystem in ein anderes bedeutet also einen Basiswechsel. Gegeben sei ein Koordinatensystem A (z.b. das Kartesische Koordinatensystem) mit zugehöriger Basis A. Z.B. die kanonische Basis (in Matrixschreibweise mit Spaltenvektoren): A kart = 0 0 0 0 0 0 In homogenen Koordinaten werden als vierter Spaltenvektor die Koordinaten des Ursprungs von Koordinatensystem A, beschrieben bzgl. Basis A (hier also: (0 0 0 ) T ), hinzugenommen: 0 0 0 A kart = 0 0 0 0 0 0 0 0 0 Weiterhin sei ein zweites - von A verschiedenes - Koordinatensystem B gegeben. Auch dieses Koordinatensystem spezifiziert 4 ausgezeichnete Elemente: Seinen Ursprungspunkt B w und die drei Einheitsvektoren B x, B y, B z. Diese Elemente lassen sich sowohl bzgl. der Basis A als auch bzgl. der Basis B darstellen. Um von einer Darstellung in die andere zu kommen, muß die gegebene Darstellung nur mit der im Folgenden beschriebenen Matrix multipliziert werden.
50 KAPITEL 2. MATHEMATISCHE GRUNDLAGEN Wenn man die homogenen Koordinatenvektoren in Spaltenschreibweise nebeneinander anordnet ergeben sie die Matrix M B A, die den Übergang von Basis B zur Basis A beschreibt: ( ) M B A = B x B y B z B w z y A x p By B Bw Bx Bz Beispiel (für den 2-dimensionalen Fall): By Ay p Bx Bw Ax x-achse: B x lautet ( 2 y-achse: B y lautet ( 2 2 0)T 2 0)T Ursprung: B w lautet (4,,) Punkt: P B lautet (2 2,4 2,) Der Aufbau der Matrix M B A repräsentiert die erforderliche Drehung und Verschiebung, um einen aus der Sicht von Koordinatensystem B (also bzgl. Basis B beschriebenen Punkt P aus der Sicht von Koordinatensystem A (also bzgl. A) zu beschreiben. Im zwei-dimensionalen Fall wird zunächst der Punkt P um den Winkel α gedreht, der sich zwischen den Achsen der Koordinatensysteme A und B befindet. Dann wird eine Translation durchgeführt mit dem Wert der Ursprungsposition von B. Cosinus und Sinus des Drehwinkels α ergeben sich gerade aus den Werten a bzw. b, wobei die Einheitsvektoren (a b) T und ( b a) T die Basis für Koordinatensystem B darstellen. Also läßt sich in obigem Beispiel der Punkt p wie folgt transformieren: 2 2 4 2 2 2 2 4 2 2 = 7 0 0
2.5. WECHSEL EINES KOORDINATENSYSTEMS 5 Um einen Punkt P A im Koordinatensystem A bzgl. des Koordinatensystems B zu spezifizieren, verwendet man die inverse Matrix zu M B A : M B A p B = p A p B = M B A p A