4. Kapitel 3D Engine Geometry



Ähnliche Dokumente
Welche Lagen können zwei Geraden (im Raum) zueinander haben? Welche Lagen kann eine Gerade bezüglich einer Ebene im Raum einnehmen?

Aufgabe 1. Zunächst wird die allgemeine Tangentengleichung in Abhängigkeit von a aufgestellt:


Abituraufgabe zur analytischen Geometrie, Hessen 2013, B2, Grundkurs (TR)

2.2 Projektionen und Kameramodelle


Nachhilfe-Kurs Mathematik Klasse 13 Freie Waldorfschule Mitte

Nachhilfe-Kurs Mathematik Klasse 13 Freie Waldorfschule Mitte

DAS ABI-PFLICHTTEIL Büchlein

Lineare Gleichungssysteme

Formelsammlung zur Kreisgleichung

Repetitionsaufgaben: Lineare Funktionen

Funktionen (linear, quadratisch)

a' c' Aufgabe: Spiegelung an den Dreiecksseiten und Anti-Steinersche Punkte Darij Grinberg

A(3/1/2) B(6/2/2) C(5/9/4) D(1/4/3)

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.

Die Übereckperspektive mit zwei Fluchtpunkten

13. Lineare DGL höherer Ordnung. Eine DGL heißt von n-ter Ordnung, wenn Ableitungen y, y, y,... bis zur n-ten Ableitung y (n) darin vorkommen.

Wir gehen aus von euklidischen Anschauungsraum bzw. von der euklidischen Zeichenebene. Parallele Geraden schneiden einander nicht.

6.2 Scan-Konvertierung (Scan Conversion)

Grundregeln der Perspektive und ihre elementargeometrische Herleitung

Lineare Funktionen. 1 Proportionale Funktionen Definition Eigenschaften Steigungsdreieck 3

Computer Vision I. Nikos Canterakis. Lehrstuhl für Mustererkennung, Universität Freiburg

Eigenwerte und Eigenvektoren von Matrizen

3.2 Spiegelungen an zwei Spiegeln

(λ Ri I A+BR)v Ri = 0. Lässt sich umstellen zu

Tangentengleichung. Wie lautet die Geradengleichung für die Tangente, y T =? Antwort:

Elemente der Analysis I Kapitel 2: Einführung II, Gleichungen

Abitur - Grundkurs Mathematik. Sachsen-Anhalt Gebiet G1 - Analysis

Hauptprüfung Abiturprüfung 2014 (ohne CAS) Baden-Württemberg

Lineare Gleichungssysteme

Definition und Begriffe

Abiturprüfung Mathematik 2008 (Baden-Württemberg) Berufliche Gymnasien ohne TG Analysis, Aufgabe 1

3. Grundlagen der Linearen Programmierung

Lösungen zur Prüfung 2009: Pflichtbereich

( ) als den Punkt mit der gleichen x-koordinate wie A und der

Lineare Gleichungssysteme

Theoretische Grundlagen der Informatik WS 09/10

0, v 6 = , v 4 = span(v 1, v 5, v 6 ) = span(v 1, v 2, v 3, v 4, v 5, v 6 ) 4. span(v 1, v 2, v 4 ) = span(v 2, v 3, v 5, v 6 )

Abschlussprüfung Realschule Bayern II / III: 2009 Haupttermin B 1.0 B 1.1

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse Lösung 10 Punkte

9.2. DER SATZ ÜBER IMPLIZITE FUNKTIONEN 83

Klassenarbeit zu linearen Gleichungssystemen

Bei Konstruktionen dürfen nur die folgenden Schritte durchgeführt werden : Beliebigen Punkt auf einer Geraden, Strecke oder Kreislinie zeichnen.

2. Mathematik Olympiade 2. Stufe (Kreisolympiade) Klasse 7 Saison 1962/1963 Aufgaben und Lösungen

Rekursionen. Georg Anegg 25. November Methoden und Techniken an Beispielen erklärt

Computer Vision I. Nikos Canterakis. Lehrstuhl für Mustererkennung, Universität Freiburg,

Lichtbrechung an Linsen

Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen

Hinweise zur Kalibrierung von Kameras mit einer AICON Kalibriertafel

Basis und Dimension. Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren.

Zeichen bei Zahlen entschlüsseln

Monatliche Grundgebühr: 5,00 Zeitabhängige Nutzung: Feiertags/Sonntags: 0,04 /min

Der Zwei-Quadrate-Satz von Fermat

der Eingabe! Haben Sie das Ergebnis? Auf diesen schwarzen Punkt kommen wir noch zu sprechen.

Plotten von Linien ( nach Jack Bresenham, 1962 )

Fit in Mathe. Juni 2014 Klassenstufe 9. Lineare Funktionen

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis

Geometrische Optik. Ausserdem gilt sin ϕ = y R. Einsetzen in die Gleichung für die Brennweite ergibt unmittelbar: sin 2 ϕ

Handout 6. Entwicklung von Makros

Fachschaft Mathematik und Informatik (FIM) LA I VORKURS. Herbstsemester gehalten von Harald Baum

Geometrie Klasse 5 Basiswissen und Grundbegriffe der Geometrie

VON GRUND AUF RICHTIG AUFBAUEN

1. Sichtbarkeitsproblem beim Rendern einer dreidimensionalen Szene auf einer zweidimensionalen

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.

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

3. LINEARE GLEICHUNGSSYSTEME

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

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

Adobe Flash CS4»3D-Tool«

Rekursionen (Teschl/Teschl )

Lösung. Prüfungsteil 1: Aufgabe 1

Kurzeinweisung. WinFoto Plus

Mathematik: Mag. Schmid Wolfgang Arbeitsblatt 3 1. Semester ARBEITSBLATT 3 RECHNEN MIT GANZEN ZAHLEN

Computer Graphik. Mitschrift von

Gegeben ist die Funktion f durch. Ihr Schaubild sei K.

Hauptprüfung Abiturprüfung 2015 (ohne CAS) Baden-Württemberg

Vorkurs Mathematik Übungen zu Differentialgleichungen

Die reellen Lösungen der kubischen Gleichung

Satz 25 A sei eine (n n)-matrix über K

Um über FTP Dateien auf Ihren Public Space Server - Zugang laden zu können benötigen Sie folgende Angaben:

5. Übung zum G8-Vorkurs Mathematik (WiSe 2011/12)

Wie Sie mit Mastern arbeiten

x 2 2x + = 3 + Es gibt genau ein x R mit ax + b = 0, denn es gilt

Mathematik für Informatiker II. Beispiellösungen zur Probeklausur. Aufgabe 1. Aufgabe 2 (5+5 Punkte) Christoph Eisinger Sommersemester 2011

Keine Disketteneinreichung ab 1. Februar 2014

Gitterherstellung und Polarisation

V 2 B, C, D Drinks. Möglicher Lösungsweg a) Gleichungssystem: 300x y = x + 500y = 597,5 2x3 Matrix: Energydrink 0,7 Mineralwasser 0,775,

Umgekehrte Kurvendiskussion

Division Für diesen Abschnitt setzen wir voraus, dass der Koeffizientenring ein Körper ist. Betrachte das Schema

Darstellende Geometrie Übungen. Tutorial. Übungsblatt: Perspektive - Rekonstruktion

Komplexe Zahlen und Wechselstromwiderstände

Mathematischer Vorkurs für Physiker WS 2009/10

Also kann nur A ist roter Südler und B ist grüner Nordler gelten.

WS 2009/10. Diskrete Strukturen

Name: Klasse: Datum: Klassenarbeit Wachstumsvorgänge Kl10-Gruppe B

Repetitionsaufgaben Wurzelgleichungen

Entladen und Aufladen eines Kondensators über einen ohmschen Widerstand

Im Jahr t = 0 hat eine Stadt Einwohner. Nach 15 Jahren hat sich die Einwohnerzahl verdoppelt. z(t) = at + b

Ergänzungen zum Fundamentum

Transkript:

15.11.2007 Mathematics for 3D Game Programming & Computer Graphics 4. Kapitel 3D Engine Geometry Anne Adams & Katharina Schmitt Universität Trier Fachbereich IV Proseminar Numerik Wintersemester 2007/08 Prof. Schulz

: 4. Kapitel 3D Engine Geometry Gliederung 4.1 Geraden im 3D-Raum 4.2 Ebenen im 3D-Raum 4.3 Der View Frustum 4.4 Perspektivisch-korrekte Interpolation 4.5 Projektionen 2

4.1 Geraden im 3D- Raum 4.1 Geraden im 3D-Raum Eine Gerade durch den Punkt S in Richtung V ist definiert durch: P(t) = S + tv mit t Für S = P1 und V = P2 P1 und t [0,1] gilt: P(t) = (1-t)P1 + tp2, wobei dies der Strecke zwischen den Punkten P1 und P2 entspricht. 3

4.1 Geraden im 3D- Raum 4.1.1 Abstand zwischen Punkt und Gerade 4

4.1 Geraden im 3D- Raum 4.1.2 Abstand zwischen zwei Geraden 5

Beweis: 4.1 Geraden im 3D- Raum Partielle Ableitungen: Matrixschreibweise: 6

Ergebnis: 4.1 Geraden im 3D- Raum Werte für t1 und t2 wieder in f(t1,t2) einsetzen, Wurzel ziehen Abstand der beiden Geraden i) =0 Geraden sind parallel ii) iii) Ist f(t1,t2)=0 Schnittpunkt Sonst Geraden sind windschief 7

4.2 Ebenen im 3D- Raum 4.2 Ebenen im 3D-Raum Ebenengleichung ist gegeben durch: N*(Q-P)=0 Andere Darstellungsform: Ax + By + Cz + D = 0, mit (A, B, C) = N und D= -N*P 8

4.2 Ebenen im 3D- Raum gibt den Abstand von der Ebene zu einer parallelen Ebene, die durch den Ursprung geht, wieder d = N*Q + D; d ist, wenn N normiert ist, der Abstand der Ebene zu einem bel. Punkt Q i) d=0, Q liegt in der Ebene ii) d>0, Q liegt auf der pos. Seite der Ebene iii) d<0, Q liegt auf der neg. Seite der Ebene 9

4.2 Ebenen im 3D- Raum Ebene kann auch als 4D Vektor aufgefasst werden: <N,D> = (x, y, z, D) <N,D> entspricht N*Q + D = 0, wobei die Gleichung für alle Q, die in der Ebene liegen, erfüllt ist Abstand d = N*Q + D kann man nun auch schreiben als: d = <N,D>*Q (Q liegt in der Ebene wenn d =<N,D>*Q = 0) Beachte: Q muss in einen 4D Vektor umgewandelt werden und erhält dabei die w-koordinate 1. 10

4.2 Ebenen im 3D- Raum 4.2.1 Schnittpunkt Gerade - Ebene Geg.: Gerade: P(t) = S + tv und Ebene: N*Q + D = 0 N*P(t) + D = 0 für t lösen i) N*V = 0 Gerade ist parallel zur Ebene ii) N*S + D = 0 Gerade liegt in der Ebene iii) Sonst t in Geradengleichung einsetzen liefert den Schnittpunkt In 4D: wobei L=<N, D> 11

4.2 Ebenen im 3D- Raum 4.2.2 Schnittpunkt dreier Ebenen Drei bel. Ebenen sind gegeben durch: L1=<N1,D1>, L2= <N2,D2>, L3=<N3,D3> L1*Q = 0 L2*Q = 0 Lösen der Gleichungen liefert Q L3*Q = 0 wenn M invertierbar: 12

4.2 Ebenen im 3D- Raum Zwei nicht-parallele Ebenen L1 und L2 schneiden sich in einer Geraden Berechnung der Schnittgeraden: Richtungsvektor der Geraden steht senkrecht auf den beiden Normalenvektoren V=N1*N2 Punkt Q der Geraden durch Konstruktion einer Ebene L3 =<V,0> und anschließender Berechnung des Schnittpunktes der drei Ebenen: P(t)= Q+tV 13

4.3 Der View Frustum 4.3 Der View Frustum View Frustum entspricht dem, was eine Kamera sehen würde, wenn sie durch ein Fenster schaut Camera space (= eye space) ist das Koordinatensystem mit Kamera im Ursprung, die y-achse zeigt nach oben, die x-achse nach rechts und die z-achse (in OpenGL) entgegen der Kamerablickrichtung 14

4.3 Der View Frustum 4.3.1 Sichtfeld Projektionsebene: Ebene, parallel zur near/far plane, die im Abstand e (Brennweite) zur Kamera liegt und vom view frustum bei fest vorgegebenen x- und y-koordinaten geschnitten wird Horizontales Sichtfeld: α: horizontaler Sichtfeld-Winkel 15

4.3 Der View Frustum aspect ratio beschreibt das Bildseitenverhältnis eines Bildschirms a:= Höhe/Breite Vertikales Sichtfeld: β: vertikaler Sichtfeld-Winkel 16

Anmerkung: 4.3 Der View Frustum Die Normalenvektoren der sechs frustum planes zeigen ins Innere des view frustums. Die right, left, bottom und top planes gehen durch den Ursprung D = 0 Near plane: der Normalenvektor zeigt in Kamerablickrichtung D = -n Far plane: der Normalenvektor zeigt entgegengesetzt zur Kamerablickrichtung D = f 17

4.4 Perspektivisch-korrekte Interpolation 4.4 Perspektivisch-korrekte Interpolation Die Eckpunkte von z. B. Dreiecken enthalten neben der Lage auch Informationen über Farben und Textur (sog. Vertexattribute) auch diese Informationen müssen richtig interpoliert werden Damit Texturen nicht verzerrt werden, verläuft die Interpolation bei modernen Grafikkarten nicht linear 18

4.4 Perspektivisch-korrekte Interpolation 4.4.1 Tiefeninterpolation 19

4.4 Perspektivisch-korrekte Interpolation Beschreibung der Dreiecksseite als Gerade: ax + bz = c Strahlensatz liefert: p / x = -e / z Geg.: <x1,z1> <x2,z2> Endpunkte der Dreiecksseite <p1,-e> <p2,-e> Schnittpunkte mit projection plane p3=(1-t)p1 + tp2 interpolierte x-koordinate auf der Projektionsebene (t e [0,1]) Ges.: interpolierter Wert von z3 20 Kehrwert der z-koordinate kann linear interpoliert werden

4.4 Perspektivisch-korrekte Interpolation 4.4.2 Vertexattribute-Interpolation Vertexattribute können linear interpoliert werden: Seien z1 und z2 Eckpunkte mit zugeordneten Attributen b1 und b2, b3 ist das interpolierte Attribut zum interpolierten Wert z3 aus und folgt: Grafikprozessoren berechnen zuerst den linear interpolierten Wert 1/z, dann dessen Kehrwert, der dann mit dem linear interpolierten Wert b/z multipliziert wird. 21

4.5 Projektionen 4.5 Projektionen Wir wollen die 3D-Szene auf 2D-Bildschirm abbilden es wird eine Gerade vom Ursprung zum Punkt P konstruiert; Schnittpunkt der Gerade mit Projektionsebene liefert das Bild von Punkt P x- und y-koordinaten des Bildpunktes kann man berechnen durch: und für die z-koordinate erhalten wir immer e um sinnvolle Tiefeninformationen zu erhalten erfolgt Umwandlung in homogene 4D-Koordinaten 22

4.5 Projektionen 4.5.1Perspektivische Projektionen View frustum wird in homogeneous clip space umgewandelt Homogeneous clip space ist ein Würfel mit dem Ursprung im Mittelpunkt, der auf der x-,y- und z-achse von 1 bis 1 reicht 23

Umwandlung der Koordinaten 4.5 Projektionen Geg: normierter Punkt P =(Px,Py,Pz,1) im view frustum die auf die near plane projizierten x- und y- Koordinaten von P sind: und mit und Umwandlung der x-, y- und z-koordinaten durch: 24

Herleitung von z : 4.5 Projektionen Geg.: Für z soll folgende Zuordnung gelten: -n -1 und -f 1 und Durch Umformen erhält man: und Dies liefert die Gleichung für z : 25

4.5 Projektionen Der Punkt P = <x, y, z > ist äquivalent zum normierten 4D Punkt P = <-x Pz, -y Pz, -z Pz, -Pz > im homogeneous clip space, mit,, Dies liefert uns eine 4x4-Matrix Mfrustum, die einen beliebigen Punkt P aus dem view frustum in einen normierten Punkt P im homogeneous clip space wandelt: 26

4.5 Projektionen Spezialfall: MInfinite Es ist möglich, ein view frustum zu konstruieren, bei dem die Tiefe (=f) nicht bekannt ist: Dies erlaubt uns, einen Punkt mit w-koordinate 0 richtig zu übertragen: Q = <Qx,Qy,Qz,0> Minfinite*Q= 27

4.5 Projektionen 4.5.2 Parallelprojektionen keine perspektivische Verzerrung 28 Da keine perspektivische Verzerrung stattfindet, können die Koordinaten linear interpoliert werden:

4.5 Projektionen,, Dies liefert uns die Matrix Mortho: 29

4.5 Projektionen 4.5.3 Extrahieren der Frustum Planes Umwandlung vom homogeneous clip space zum camera space Geg.: L: Ebene im camera space L : Ebene im homogeneous clip space M: Mfrustum(M ist orthogonal) Die Umwandlung der Ebenen erfolgt also durch folgende Gleichungen: near = M4 + M3 far = M4 - M3 left = M4 + M1 bottom = M4 + M2 right = M4 - M1 top = M4 - M2 30

: 4. Kapitel 3D Engine Geometry Quellen: Eric Lengyel: Mathematics for 3D Game Programming & Computer Graphics, 2nd edition, Charles River Media, Inc., Higham, Massachusetts, 2004 31

Vielen Dank für Ihre Aufmerksamkeit!