Computer graphics. Vektoren und Matrizen. Dr. Ernst Kruijff. Institute of Visual Computing 3DMi group Bonn-Rhein-Sieg University of Applied Sciences

Ähnliche Dokumente
Computer-Graphik I Transformationen & Viewing

Vektoren, Vektorräume

1 Vorlesungen: und Vektor Rechnung: 1.Teil

Mathematik für Chemische Technologie 2

Analytische Geometrie, Vektorund Matrixrechnung

Grundsätzliches Produkte Anwendungen in der Geometrie. Vektorrechnung. Fakultät Grundlagen. Juli 2015

Lernmaterialblatt Mathematik. Vektorrechnung eine Einführung. Anwendung Mathematik I. Einleitung:

3 Vektoren. 3.1 Kartesische Koordinaten in Ebene und Raum. Höhere Mathematik 60

Zusammenfassung Mathe III. Themenschwerpunkt 3: Analytische Geometrie / lineare Algebra (ean) 1. Rechenregeln mit Vektoren

Länge, Skalarprodukt, Vektorprodukt

Lineare Algebra: Theorie und Anwendungen

Kapitel 3: Geometrische Transformationen

entspricht der Länge des Vektorpfeils. Im R 2 : x =

Skalarprodukt. Anwendung auf die Berechnung von einfachen Abständen und Winkeln sowie Normalenvektor. Ganz einfache Erklärung der Grundlagen:

3.6 Einführung in die Vektorrechnung

Geometrie. Bei der Addition von Vektoren erhält man einen Repräsentanten des Summenvektors +, indem man die Repräsentanten von aneinanderfügt:

Grundlagen der Vektorrechnung

Kapitel VIII: Der Raum R n ; allgemeine Vektorräume

Vektoren. Kapitel Skalare, Vektoren, Tensoren. 3.2 Vektoren

Vorkurs Mathematik B

& sind die Vektorkomponenten von und sind die Vektorkoordinaten von. A x. a) Der Betrag eines Vektors

Seminar 3-D Grafik Mathematische Grundlagen, Räume, Koordinatensysteme, Projektionen. Hermann Schwarz Marko Pilop

Kapitel 2: Mathematische Grundlagen

00. Einiges zum Vektorraum R n

Vektoralgebra Anwendungen der Vektorrechnung VEKTORRECHNUNG. Prof. Dr. Dan Eugen Ulmet. Hochschule Esslingen 1/64

Verbundstudium TBW Teil 1 Grundlagen 3. Semester

1.2 Das kartesische Koordinatensystem

Einführung in das mathematische Arbeiten im SS Vektoren. Evelina Erlacher 1 9. März Winkel Ausblick 6

Lineare Algebra und Numerische Mathematik für D-BAUG

Tag 3. Zweidimensionale Spielewelten

2 Geradengleichungen in Parameterform. Länge und Skalarprodukt

1 Vektoralgebra (3D euklidischer Raum R 3 )

Skript zur Vorlesung. Lineare Algebra. Prof. Dr.-Ing. Katina Warendorf. 2. Oktober 2014

Vektoren - Basiswechsel

1 Analytische Geometrie

Vorkurs Mathematik-Physik, Teil 5 c 2016 A. Kersch

Skalarprodukte (Teschl/Teschl Kap. 13)

Das Wort Vektor kommt aus dem lateinischen und heißt so viel wie "Träger" oder "Fahrer".

Mathematischer Vorkurs für Physiker WS 2009/10

Analytische Geometrie

Lineare Abhängigkeit und Unabhängigkeit. 1-E Ma 1 Lubov Vassilevskaya

Mathematik Analytische Geometrie

Brückenkurs Mathematik

2. Vorlesung Wintersemester

Vektorrechnung Raumgeometrie

Grundsätzliches Rechnen mit Matrizen Anwendungen. Matrizenrechnung. Fakultät Grundlagen. Juli 2015

(x 1. Vektoren. g: x = p + r u. p r (u1. x 2. u 2. p 2

H. Gruber, R. Neumann. Erfolg im Mathe-Abi. Übungsbuch für den Pflichtteil Baden-Württemberg mit Tipps und Lösungen

Teil 2. Metrik mit Skalarprodukt. Für moderne Geometrie-Kurse am Gymnasium. und für Realschulen in Bayern! (Prüfungsstoff!)

Übungsaufgaben Vektoren

Definition: Euklidischer Raum mit Skalarprodukt. Die kanonische Basis von Einheitsvektoren sind paarweise orthogonal zueinander:

2.3. Vektorprodukt und Spatprodukt

KOMPLEXE ZAHLEN UND LINEARE GLEICHUNGSSYSTEME

Serie 10: Inverse Matrix und Determinante

4 Vorlesung: Matrix und Determinante

H. Gruber, R. Neumann. Erfolg im Mathe-Abi. Basiswissen Niedersachsen. Übungsbuch für den Grundkurs mit Tipps und Lösungen

Lineare Algebra und analytische Geometrie I

Vektorräume und Rang einer Matrix

Einführung in das Skalarprodukt

Bestimme ferner die Koordinaten des Bildpunktes von B bei der Spiegelung

Arbeitsblatt Mathematik 2 (Vektoren)

Geometrie. 1 Vektorielle analytische Geometrie der Ebene, Kegelschnitte

5.4 Vektorgeometrie. 1 Repetition der Vektorgeometrie I Freie Vektoren, Ortsvektoren Die skalare Multiplikation eines Vektors...

Vektoren. Jörn Loviscach. Versionsstand: 11. April 2009, 23:42

Inhaltsverzeichnis. I Planimetrie.

Lineare Algebra und Computer Grafik

Mathematische Erfrischungen III - Vektoren und Matrizen

1 Fraktale Eigenschaften der Koch-Kurve

10. Teil: Elemente der Linearen Algebra

Geometrische Objekte im 3-dimensionalen affinen Raum oder,... wie nützlich ist ein zugehöriger Vektorraum der Verschiebungen

1 Vektorrechnung als Teil der Linearen Algebra - Einleitung

Sollten sich (Flüchtigkeits )Fehler eingeschlichen haben, bitte ich um eine kurze Nachricht an hans

Lineare Algebra. Grundlagen der Vektorrechnung. fsg Verlag

Matrizen und Determinanten, Lineare Gleichungssysteme, Vektorrechnung, Analytische Geometrie

2 Geometrie und Vektoren

H. Gruber, R. Neumann. Erfolg im Mathe-Abi. Übungsbuch für die optimale Vorbereitung in Analysis, Geometrie und Stochastik mit verständlichen Lösungen

u + v = v + u. u + (v + w) = (u + v) + w. 0 V + v = v + 0 V = v v + u = u + v = 0 V. t (u + v) = t u + t v, (t + s) u = t u + s u.

Mathematik. Lernbaustein 6

Definition, Rechenoperationen, Lineares Gleichungssystem

Analytische Geometrie mit dem Voyage 1

1 Lineare Algebra. 1.1 Matrizen und Vektoren. Slide 3. Matrizen. Eine Matrix ist ein rechteckiges Zahlenschema

9.2 Invertierbare Matrizen

C orthogonal und haben die Länge 1). Dann ist die Länge von w = x u + y v gegeben durch w 2 Def. = w,w =

Vektorgeometrie Layout: Tibor Stolz

II. Lineare Gleichungssysteme. 10 Matrizen und Vektoren. 52 II. Lineare Gleichungssysteme

Kapitel 6. Metrik, Norm und Skalarproduktl. 6.1 Metrik (Abstand)

Einleitung 19. Teil I Einführung 23. Kapitel 1 Motivation 25

Einführung in die Mathematik für Informatiker

y x x y ( 2x 3y + z x + z

Rechnen mit Vektoren. 1. Vektoren im Koordinatensystem Freie Vektoren in der Ebene

Kapitel VI. Euklidische Geometrie

Lineare Abbildungen Definitionen von linearer Abbildung, linearer Transformation, affiner Abbildung. Parallentreue und Teilverhältnistreue

Vektorrechnung. 1. Vektoren im R 2, R 3 Größen in Physik und Technik:

Grundwissen 5. Klasse

5. Wie bringt man einen Vektor auf eine gewünschte Länge? Zuerst bringt man ihn auf die Länge 1, dann multipliziert man mit der gewünschten Länge.

Geometrische Maße oder,... wie kann man quantitative Aussagen über geometrische Objekte erhalten?

Lösungen der 1. Lektion

2.3. Das Vektorprodukt

Lehrskript Mathematik Q12 Analytische Geometrie

Transkript:

Computer graphics Vektoren und Matrizen Dr. Ernst Kruijff Institute of Visual Computing 3DMi group Bonn-Rhein-Sieg University of Applied Sciences 3 Dm group

Einführung Transformationen Sources Online: http://www.mathe-online.at/ Slides: teilweise Gabriel Zachmann, Uni Bremen / Clausthal In Skript zusätzliche Erklärungen!

Vektoren Einfach eine Liste von Zahlen schreibweise: a oder a oder a in slides fett : a Zeilenvektor: a = (3, 2, 4) Spaltenvektor: 5 b = 2

Unterschied zwischen Punkten und Vektoren Notation: Punkte mit normalen Großbuchstaben Achtung: Punkt Vektor! Unterschiede: Punkt = Ort im Raum Vektor = Richtung + Länge = Verschiebungsoperator Merkregeln: Punkt + Vektor = Punkt Vektor + Vektor = Vektor Punkt - Punkt = Vektor Punkt + Punkt = undefiniert!

Vektoren: Geometrie zweikomponentige Vektor y a = (5, 3) 5 3 x

Vektoren: Geometrie Verbindungsvektor: von punkt P nach Q q 2 y Q PQ = (q 1 p 1, q 2 p 2 ) p 2 P q 1 p 1 q 2 p 2 p 1 q 1 x

Vektoren: Geometrie Verschiebungsvektor: jeder Punkt P auf ebene verschieben mittels Vektor a. a=(a 1, a 2 ) P(p 1, p 2 ) P (p 1 +a 1, p 2 + a 2 ) y P p 1 P q 1 x

Vektoren: Geometrie Einen Vektor der im Ursprung der Ebene oder des Raumes beginnt, nennt man einen Ortsvektor. Ortsvektor: von punkt O nach A Punkt A=(a 1, a 2 ) = Vektor A=(a 1, a 2 ) y A = OA O = Ursprung Nullvektor 0 = (0,0) kann Ursprung definieren Beispiele für Nullvektoren sind die Zahl Null, oder die Nullmatrix a 2 O a 1 A x

Vektoren: Rechenoperationen Multiplikation eines Vektors mit einem Skalar c (a 1, a 2 ) = (ca 1, ca 2 ) c b 1 = cb 1 b 2 cb 2 b 3 cb 3

Vektoren: Rechenoperationen Summe zweier Vektoren (Addition) (a 1, a 2 ) + (b 1, b 2 ) = (a 1 + b 1, a 2 + b 2 ). c 1 d 1 c 1 + d 1 c 2 + d 2 = c 2 + d 2 c 3 d 3 c 3 + d 3

Vektoren: Rechengesetze Assoziativgesetz der Multiplikation mit einem Skalar: c(ka) = (ck)a. Multiplikation mit der Zahl 1: 1a = a Multiplikation mit der Zahl 0: 0a = 0 Kommutativgesetz der Vektoraddition: a + b = b + a Assoziativgesetz der Vektoraddition: (a + b) + c = a + (b + c) Addition des Nullvektors: a + 0 = a Distributivgesetze: c(a + b) = ca + cb, (c + k)a = ca + ka Das Negative eines Vektors a ist ( 1)a und wird als a bezeichnet.

Vektoren: geom. Bedeutung Rechenoperation Multiplikation für a (Vektor) und c (Skalar) Ist c > 0 à a-pfeil um den Faktor c aufgeblasen (falls c > 1) oder geschrumpft (falls c < 1). Ist c < 0 à a-pfeil um den Faktor c aufgeblasen bzw. geschrumpft, und es kommt noch eine Richtungsumkehr dazu Länge beträgt das c -fache der Länge von a y -3-1 -a 2a a 3 1 2 6 x

Parallele Vektoren Definition: Wir nennen zwei Vektoren (zueinander) parallel (oder kollinear), wenn einer von beiden ein Vielfaches des anderen ist. Beweis? Wird in Form a b ausgedrückt

Vektoren addieren: Geometrie a = (1, 4) und b = (3, 2) a + b = (4, 2) y a 4 b a a + b 2 1 4 ab+bc = ac 3 x b -2

Geometrische Interpretation der Vektor-Addition und - Subtraktion: a b a + b a b a a b b AddiQon SubtrakQon

Vektor: Betrag ist a = (a 1, a 2 ) ebener Vektor, so ist Länge gleich (a 1 2 + a 22 ) y a schreibweise: a = (a 1 2 + a 22 ) a 1 a 2 x Zudem: Abstand zwischen P und Q = P Q

Vektor: Einheitsvektor a ist einen Einheitsvektor, wenn sein Betrag gleich 1 ist à a = 1 Ist a ein beliebiger (von Nullvektor verschiedener) Vektor à jener Vektor, der in dieselbe Richtung wie a zeigt, aber ein Einheitsvektor ist, ist definiert durch a a Normierung: von a nach a a

Vektoren: Normierung a a a Winkelsymmetrale (Winkelhalbierend) a a + b b b b b a und b haben unterschiedliche Beträge bevor Normierung blaue Vektoren: Einheitsvektoren

Senkrechte Projektion Winkelbeziehung zwei Vektoren es entsteht b b > 0 (positiv) : spitzen Winkel b < 0 (negativ) : stumpfen Winkel b = orientierte Projektion Absolutbetrag b = länge Projektion b auf a ProjekQon von b in Richtung a: eine Normale von der Spitze von b bis zu Geraden, entlang der a liegt b b a a

Skalarprodukt Das Skalarprodukt ist eine mathemaqsche Verknüpfung die zwei Vektoren eine Zahl (Skalar) zuordnet Skalarprodukt a und b ab = b' a a b = b' a oder ab > 0 : a und b spitzen Winkel ab < 0 : a und b stumpfen Winkel ab = 0 : a und b aufeinander normal stehen

Skalarprodukt Zusammenhang Skalarprodukt und Winkel b' = b cosθ ab = a b cosθ b θ a cosθ = ab a b

Skalarprodukt b rb a b ersetzt durch r-faches (rb) = b auch r-faches = a(rb) = r a b b rb b summiert mit c (b + c) = b + c = a(b + c) = ab + ac = (a + b)c = ac + bc b b c c a

ab = 0? a und b stehen genau dann aufeinander normal, wenn ab = 0 b Berechnung der Normale: a = a 1 n = a 2 3-1 3 a 1 a 2 a 1 Normalvektor zu a = (3, 1) = n = ( 1, 3)

Das Kreuzprodukt (Vektorprodukt) 0 a x 1 0 b x 1 c = a b = @ a y A @ b y A = a z b z 0 a y b z @ a z b x a x b y 1 a z b y a x b z A a y b x Ergebnis ist ein Vektor, der senkrecht auf beiden Vektoren steht Unterschied mit Skalarprodukt: aus zwei Vektoren folgt ein neuer Vektor! Nützlich zur Erstellung von Koordinatensystemen α b a

Das Kreuzprodukt (Vektorprodukt) Ergebnis ist ein Vektor, der senkrecht auf beiden Vektoren steht Unterschied mit Skalarprodukt: aus zwei Vektoren folgt ein neuer Vektor! Länge des Vektors = Flächeninhalt des von a und b aufgespannten Parallelogramms: b c = a 0 a x b = a b sin Nützlich zur Erstellung von Koordinatensystemen 1 0 b x 1 c = a b = @ a y A @ b y A = a z b z 0 a y b z @ a z b x a x b y 1 a z b y a x b z A a y b x α a

Das Kreuzprodukt / Gesetze a x a = 0 a x b = b x a. (ra) x b = a x (rb) = r a x b a x (b + c) = a x b + a x c und (a + b) x c = a x c + b x c a x 0 = 0 a x b ist genau dann 0, wenn a und b zueinander parallel sind

3D-Koordinatensysteme x y z le^ handed system (Linkssystem) right handed system (Rechtssystem) Achtung: in OpenGL wir verwenden immer das rechtshändige Koordinatensystem! (es sei denn, es steht etwas anderes da)

Orthonormalbasis... Eine Orthonormalbasis ist eine Menge von Vektoren aus ein Vektorraum mit Skalarprodukt welche auf die Länge eins normiert und zueinander orthogonal sind Zwei Geraden oder Ebenen sind Orthogonal wenn sie einen rechten Winkel, also, ein Winkel von 90 o bilden

Orthonormalbasis / Koordinatensystem Wichtig für Darstellung von Punkten, der Position und der Lage Häufig eine Vielzahl unterschiedlicher Koordinatensysteme Für jede Orthonormalbasis u, v, w, (in 3D) gilt: u = v = w =1 u v = v w = u w =0 w = u v p =(p u) u +(p v) v +(p w) w

Vektoren und Matrizen? Matrix: Zweidimensionale Anordnung von Zahlenwerten in Spalten und Zeilen 3x2-Matrix hat 3 Zeilen und 2 Spalten Vektor ist nur ein spezieller Matrix J

Matrizen Operationen Beispiel für Matrixaddition: Beispiel für Skalarmultiplikation:

Matrizen Operationen Beispiel für Matrixmultiplikation:

Matrizen Operationen Beispiel für Matrixmultiplikation: Allgemein: a ij =Element aus Zeile i und Spalte j aus Matrix A

Matrizen Operationen Beispiel für Matrixaddition: Beispiel für Skalarmultiplikation:

Matrizen Operationen Transponierte Matrix: A=(a ij ), A T =(a ji ) Beispiel:

Operationen auf Punkten und Vektoren in homogenen Koord. Punkt + Vektor = Punkt p x p y p z 1 + v x v y v z 0 = p x + v x p y + v y p z + v z 1? Vektor + Vektor = Vektor u x u y u z 0 + v x v y v z 0 = u x + v x u y + v y u z + v z 0 Punkt Punkt = Vektor p x p y p z 1 q x q y q z 1 = p x p y p z 0 q x q y q z

Lineare und affine Abbildung Lineare Transformationen (z.b. Rotation, Skalierung und Scherung) können durch eine 3x3 Matrix dargestellt werden! Affine Transformationen (z.b. Translation), können nicht als 3x3 Matrix dargestellt werden

...Translation ist keine lineare transformation: wir brauchen eine Konstante (keine Variable) die sich nicht mittels normale Matrix- Multiplikation bilden lässt à Affine Transformation nutzen

Homogene Koordinaten im 3D Homogene Darstellung ist nützlich für Transformationen von Punkten und Vektoren Erweitert 3D Punkte und Vektoren zu 4D Punkte und Vektoren Homogener Punkt Homogener Vektor P =(p x, p y, p z, p w ) p w =1 p =(p x, p y, p z, p w ) p w =0

Veranschaulichung im 2D Erweitere Punkt P = (x,y) zu P' = (x,y,1) Assoziiere Linie w.(x,y,1) = (wx, wy, w) mit P' w P'' Homogene Koordinaten 1 P' Affine Ebene w = 1 P x y M.a.W.: ein 3D-Vektor (x, y, w) beschreibt den 2D-Punkt (x/w, y/w) für w 0 den 2D-Vektor (x, y) für w = 0

Homogene Koordination Jeder Punkt auf der Geraden durch den Nullpunkt und durch (x/w, y/w, 1) repräsentiert im homogenen Koordinatensystem denselben kartesischen Punkt (x, y) aus dem gewöhnlichen 2D- Koordinatensystem Homogene Koordinaten y 1 w P' P Affine Ebene x P'' w = 1 Ein kartesisches Koordinatensystem ist ein orthogonales Koordinatensystem...x,y,z...

Kurzer Vorschau: Koordinatensysteme in der Rendering Pipeline Modeling TransformaQons IlluminaQon (Shading) Viewing TransformaQon (PerspecQve / Orthographic) Clipping ProjecQon (to Screen Space) Scan Conversion (RasterizaQon) Visibility / Display Object space - Lokal für jedes Objekte World space - alle Objekte Eye Space / Camera Space Clip Space [-1,-1,-1] [1,1,1] Screen Space - adressiert entsprechend der Hardware

Homogenisierung im 3D Der homogene Punkt P =(x, y, z, w) w =0 beschreibt den Punkt an der Stelle (Kartesisch) P = x w, y w, z w z.b. Kartesische Punkt (1,2) = homogene Koordinaten (1,2,1) oder (2,4,2) Die Kartesische Koordinaten werden berechnet durch Teilung der erste zwei Positionen zu Teilen durch der dritte Wert

Homogene Matrizen für Transformationen in 3D Matrix m 00 m 01 m 02 M = m 10 m 11 m 12 m 20 m 21 m 22 Homogene Form M 4x4 = m 00 m 01 m 02 0 m 10 m 11 m 12 0 m 20 m 21 m 22 0 0 0 0 1

Lineare Abb. (Matrix-Vektor-Multiplikation) 3x3-Form M v = 0 1 0 1 m 00 m 01 m 02 v x @ m 10 m 11 m 12 A @ v y A m 20 m 21 m 22 v z Homogene Form M 4x4 v 0 = 0 1 0 m 00 m 01 m 02 0 Bm 10 m 11 m 12 0 C B @ m 20 m 21 m 22 0A @ 0 0 0 1 v x v y v z 0 1 C A

Affine Abbildungen im 3D 3x3-Form m 00 m 01 m 02 M p + t = m 10 m 11 m 12 m 20 m 21 m 22 p x p y p z + t x t y t z Homogene Form M 4x4 p 4 = m 00 m 01 m 02 t x m 10 m 11 m 12 t y m 20 m 21 m 22 t z 0 0 0 1 p x p y p z 1 Jetzt einfach nur merken: zum verstehen Youtube schauen

Grundtransformationen im 3D Translation Rotation Skalierung

Translation Eines Punktes T t P = 1 0 0 t x 0 1 0 t y 0 0 1 t z 0 0 0 1 p x p y p z 1 = p x + t x p y + t y p z + t z 1

Translation Eines Vektors T t v = 1 0 0 t x 0 1 0 t y 0 0 1 t z 0 0 0 1 v x v y v z 0 = v x v y v z 0

Rotation um x-, y-, z-achse um Winkel R x ( )= 1 0 0 0 0? cos? sin 0 0? sin? cos 0 0 0 0 1 R y ( )= cos 0 sin 0 0 1 0 sin 0 cos 0 0 0 0 1 R z ( )= cos sin 0 0 sin cos 0 0 0 0 1 0 0 0 0 1 O φ

Skalierung Kann zum Vergrößern oder Verkleinern verwendet werden S (s x, s y, s z )= s x 0 0 0 0 s y 0 0 0 0 s z 0 0 0 0 1 s x, s y, s z beschreiben Längenänderung in x-, y-, z-richtung Uniforme (isotrope) Skalierung: s x = s y = s z Nicht-uniforme = anisotrope

Mehr? Wolfgang Hürst / linear and affine transformations https://www.youtube.com/watch? v=4i2s5xhf24o https://www.youtube.com/watch? v=kaw7lxxmsb4 Online: http://www.mathe-online.at/

die gute Nachricht

Pair programming Agile software development: eine(r) programmiert, einer observiert/ begutachtet regelmässiges Wechseln Selber zweier-teams machen! wikimedia commons