3D-Sicht, Projektionen

Ähnliche Dokumente
Mathematische Grundlagen

Projektion. Ebene geometrische Projektionen

Computergrafik Sommersemester 2004 Übungen

3D-Transformationen. Kapitel Translation Skalierung

3D-Transformationen. Kapitel Translation Skalierung

Repräsentation und Transformation von geometrischen Objekten

Computergrafik 1 Transformationen

Lineare Algebra und Computer Grafik

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

Lineare (affine) Abbildung

Abbildung von Weltkoordinaten nach Bildkoordinaten

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

Projektionen von geometrischen Objekten

Teil 3 Abbildungen in der Ebene

3.1 Motivation. - Mit (mehreren) Koordinatentransformationen wird das Objektsystem in das Gerätesystem transformiert.

Transformationen im 3D-Raum

OpenGL Transformationen: Modeling

-dimensionale Darstellungen

2 Die Algebra der Matrizen

Kapitel 3: Geometrische Transformationen

Transformation - 3. Für "übliche" Anwendungen in der Geometrie ist es sinnvoll, bei Transformationen eine gleiche

Aufgaben zum Skalarprodukt

Transformation Allgemeines Die Lage eines Punktes kann durch einen Ortsvektor (ausgehend vom Ursprung des Koordinatensystems

2.2 Projektionen und Kameramodelle

Crash-Kurs Komplexe Zahlen

Einleitung 2. 1 Koordinatensysteme 2. 2 Lineare Abbildungen 4. 3 Literaturverzeichnis 7

14 MATHEMATISCHE GRUNDLAGEN DER COMPUTERGEOMETRIE. x y

Advanced Computer Graphics Erweiterung zur 6. Übung

Lineare Transformationen, Teil 1 Lösungen zu den Aufgaben. 1 E1 Ma 1 Lubov Vassilevskaya

Lösungen der Übungsaufgaben III

Koordinatensysteme und Clipping

Aufgabenskript. Lineare Algebra

Aufgabenskript. Lineare Algebra

Mathematik LK 12 M1, 4. Kursarbeit Matrizen und Stochastik Lösung )

2.3.1 Rechtshändiges und linkshändiges Koordinatensystem

Shader. Computer Graphics: Shader

ein geeignetes Koordinatensystem zu verwenden.

Vektoren - Einführung

Lineare (affine) Abbildung

Affine Koordinatentransformationen

VHDL - Grundlagen des Pointrenderings

Analytische Geometrie, Vektorund Matrixrechnung

Kapitel 2: Mathematische Grundlagen

2.3.4 Drehungen in drei Dimensionen

Algebra 4.

Mathematische Grundlagen

Vektoren und Matrizen

Mathematische Grundlagen, Räume, Koordinatensysteme, Projektionen

Abitur 2016 Mathematik Geometrie V

Grundlagen der Vektorrechnung

Helmuts Kochrezept Nummer 5:

Aufgabenskript. Lineare Algebra

Theoretische Physik 1, Mechanik

Mathematik I für MB und ME

Abitur 2010 Mathematik GK Geometrie VI

Einführung Vektoralgebra VEKTORRECHNUNG. Prof. Dr. Dan Eugen Ulmet. Hochschule Esslingen. October 6, 2007

Lösbarkeit linearer Gleichungssysteme

4. Übungsblatt zur Mathematik II für BI, MaWi, WI(BI), AngGeo

Lösungsvorschlag zum zweiten Übungsblatt

09. Lineare Abbildungen und Koordinatentransformationen

Grundwissen Jahrgangsstufe 9. Lösungen. 144c 6 + = ( d)² 144c6 + = ( d)². Berechne ohne Taschenrechner: a) 2,

Algebra Für welche reellen Zahlen m hat das folgende Gleichungssystem nur die triviale

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

Übungen zu Computergrafik

Planare Projektionen und Betrachtungstransformation. Quelle: Angel (2000)

Lineare Funktionen. Aufgabe 1. Sei f R 2 R definiert durch. x 1 + 3x Beweisen Sie ausführlich, dass f linear ist.

IV. Affine Abbildungen

Was ist Robotik? Robotik heute:

Übung: Computergrafik 1

Komplexe Zahlen. (a, b) + (c, d) := (a + c, b + d) (a, b) (c, d) := (a c b d, a d + b c)

Kapitel 1. Koordinaten im Raum. 1.1 Schrägbilder - Kavalier-Perspektive Koordinaten

3D-Darstellungen mit Maxima

8. Projektionsarten und Perspektive

8. Elemente der linearen Algebra 8.1 Der euklidische Raum R n

Kapitel 3. Transformationen

3 Koordinatentransformationen

Definition von R n. Parallelverschiebungen in R n. Definition 8.1 Unter dem Raum R n (n N) versteht man das kartesische Produkt R R... R (n-mal), d.h.

Grundwissen Jahrgangsstufe 9. Lösungen. Berechne ohne Taschenrechner: a) 2, a) = -1, b) = = = 4000

Übungsblatt 04 Grundkurs IIIa für Physiker, Wirtschaftsphysiker und Physik Lehramt

Computer Graphik (CS231) Projektübungsblatt 3

Transkript:

Transformationen, deren Matrix als letzte Zeile nicht die Form: [... ] hat, gehören zur allgemeineren Klasse der perspektivischen Transformationen. Perspektivische Projektion von Punkten (,,z i ) auf ( *, *,) in der Projektionsebene z= mit Proj.zentrum ( Augenpunkt ) bei z=n (N>) in einem Rechts(koordinaten)system: */ = */ = N/(N-z i ) Versuch der Bildung eines Matrizenprodukts: N N - N = z i N N N-z i = (ähnliche Dreiecke) (N-z i ). * (N-z i ). * (N-z i ). (N-z i ). z N x y ( *, *,) (,,z i ) view plane

Konzept-Erweiterung: Homogene Koordinaten [,,z i,] T als Darstellung v. Punkt-Familien [w.,w.,w. z i,w] T, w : Wechsel von kartesischen zu homogenen Koordinaten durch W C Anhängen einer (oder einer y anderen Zahl, mit der zuvor alle Punkt-Koordinaten multipliziert wurden). Wechsel von homogenen zu kartesischen Koordinaten durch Division durch die letzte Komponente ( perspektivische Division, auch: Homogenisieren, engl. homogenize) und Weglassen dieser letzten Komponente. Geometrische Deutung 2D-Fall: Punkt C (x, y) wird in homog. Koord. als Gerade C (x h, y h, w h ) mit x h =w h. x, y h =w h. y dargestellt. x

Nebeneffekt der Homogenisierung: Gesamtskalierung /s = z i z i /s Homogenisierung s s sz i aufgrund d. Konvention zur Homogenisierung wirkungsgleich mit der Verwendung separater (aber einheitlicher) Skalierungsfaktoren s s s = z i s s sz i

Proj. Trf. Begriffliche und rechnerische Trennung: Die (hier: perspektivische) Projektion reduziert die Anzahl von Objekt-Dimensionen; die perspektivische Transformation verformt Objekte zur Vorbereitung einer Projektion (s.u.). N N N - N z i = N N N-z i perspekt. Division N /(N-z i ) N /(N-z i ) = * * Namensgebung: Koordinaten homogen, denn sie ermöglichen auch Perspektive als Matrizen-Multiplikation i.d. Grafik-Pipeline. -/N = z i -z i /N perspektivische Division N /(N-z i ) N /(N-z i ) = * *

Übung Übung: Im Konsole-Fenster sollen mit ASCII-Zeichen geladene 3D-Drahtmodelle (wire frame) dargestellt werden; sie sollen um die x-, y- und z-achsen drehbar und bei veränderlichem Projektionszentrum darstellbar sein. WireCullFill().exe

Anmerkungen zur Perspektive: Die perspektivische Division bewirkt, daß weiter entfernte Objekte (z i groß) in der Projektion kleiner erscheinen. y Verschiebung d. Projektionszentrums (N) verändert die Abbildungs-Unterschiede zwischen nah und fern. z x Verschiebung der Proj.ebene entlang der z-achse (auf z ) verändert nur den Abb.-Maßstab. (Dreiecke bleiben ähnlich.) Auslassen der perspektiv. Transformation erzeugt Parallelprojektion (orthograph. P., engl. orthographic p.); das entspricht einer Abb. mit Proj.zentr. im Unendlichen. N /(N-z i ) N /(N-z i ) = * *

Weitere Anmerkungen zur Perspektive: Gerade Linien und ebene Flächen werden als solche abgebildet: Punkt-Kollinearität und -Komplanarität bleiben erhalten; Teilungsverhältnisse von Strecken und Flächen bleiben dagegen nicht erhalten. Parallele Linien, die auch parallel zur Projektionsebene liegen, werden als Parallelen abgebildet; sonst laufen sie in einem Punkt zusammen, dem jeweil. Fluchtpunkt (engl. vanishing point). Geraden, die das Projektionszentrum enthalten, werden auf Punkte projiziert. Ebenen, die d. Proj.zentrum enthalten, werden auf Geraden projiziert. z x y

Häufige Anwendungen in künstlerischen und technischen Darstellungen: Ein- / Zwei- / Dreipunktperspektive (meist abweichend von der exakten Perspektive) Bild: http://mathworld.wolfram.com/perspective.html

In Praxis und Literatur meist verbreitetes Paradigma: Perspektivische Projektion v. Punkten (,,z i ) auf ( *, *,-N) i.d. Projektionsebene z= -N (N>) mit Projektionszentrum am Koordinaten-Ursprung eines Rechts(koordinaten)systems: */ = */ = N / (-z i ) Verwendung homogener Koordinaten: N N N - = z i N N Nz i -z i z y N ( *, *,-N) (,,z i ) perspektivische Division N /(-z i ) N /(-z i ) Nz i /(-z i ) -z i /(-z i ) = * * -N x Zur Darstellg: z i *= setzen! view plane

Sichtvolumen (engl. view volume) eines Grafik-Systems: (R-L)F/N Darstellung nur für Objektpunkte innerhalb eines Pyramidenstumpfs (engl. pyramid frustum) mit Deck- und Grundflächen bei z=-n (near) und z=-f (far); N,F R, >. (R,T,-N) (L,B,-N) z y Trapezförmige Seitenflächen werden bestimmt durch d. Projektionszentrum bei (,,) u. (OpenGL:) durch das Rechteck mit Ecken bei (L, B, -N) und (R, T, -N). (L, B R, meist <; R, T R, meist >) x z=-n (T-B)F/N z=-f viewing volume (@ z=-n): (L)eft, (R)ight, (B)ottom, (T)op

Nutzung der perspekt. Trf. für den Zuschnitt von Objekten an den Sichtvolumen-Grenzen eines Grafik-Systems (Clipping): Einführung einer Pseudo-Tiefe (engl. pseudodepth) für Objekt-Punkte mit Werten zwischen - (z i =-N) und + (z i =-F). N N N a b - z i = N N az i +b -z i (-an+b)/n=- (-af+b)/f=+ N N -(F+N) -2FN F-N F-N - Pseudo-Tiefe wächst proportional zur eingestellten Nah- Grenze N und reziprok zu z i (für entfernte Objekte ungenau): F >> N F+N F-N F (az i +b)/(-z i ) = -a + b/(-z i ) = (F+N)/(F-N) + 2FN/[z i (F-N)] + 2N / z i d.h.: kurzsichtige Systeme (N klein) verdecken evtl. falsch! z-fighting

Ähnliche Rechnung: Einführung eines kanonischen Sichtvolumens (engl. canonical view volume) mit Werten zwischen - u. + in allen Dimensionen u. mit der Trf.-Matrix: 2N R L R+L R L 2N T B T+B T B -(F+N) -2FN F-N F-N - Hintergrund: Da Ebenen, die das Proj.zentrum enthalten, auf Geraden projiziert werden, genügt (nach der Trf.) ein Vergleich der transform. Koordinaten mit den Geraden, die das transf. Sichtvolumen begrenzen. Vorteil des kanon. Sichtvolumens: Koord. transformierter Objektpunkte werden geprüft auf <( *, *,z i *)<. Trf. des Sicht-Pyramidenstumpfs in einen Würfel; das ist eine Verformg., die bei d. Window-Viewport-Trf. aufgehoben wird.

Übung Übung (Forts.): Erweiterung des Programms zur Konsole-Darstellung eines 3D-Drahtmodells um die wahlweise Ausblendung abgewandter Objektflächen (Flächenmodell solid model). WireCullFill(2).exe

Orientierung einer Objektfläche mit den Eckpunkten P,P 2,P 3 (bei Draufsicht: gegen den Uhrzeigersinn angeordnet) gegenüber dem Augenpunkt E: E Nach außen gerichtete Normale n: n = (P 3 P 2 ) x (P P 2 ) P 3 θ n Winkel zwischen der Normalen und dem Verbindungsvektor vom Eckpunkt P 2 zum Augenpunkt E: cos θ = n (E P 2 ) / ( n. E P 2 ) P P 2 -n n (E P 2 ) -9 θ 9 sichtbare Fläche n (E P 2 ) < 9 < θ < 27 nicht sichtbare (Rück-)Fläche

3D-Sicht, A propos: Projektionen R. cosθ ( r =) Zur Erinnerung: Verwendung des Skalarprodukts zweier Vektoren zur Berechnung des Winkels θ zwischen ihnen: x B = R cosφ y B = R sin φ x B = r cos(φ+θ) y B = r sin (φ+θ) x B x B = x B x B + y B y B y B y B = R cosφ r cos(φ+θ) + R sin φ r sin (φ+θ) = r R cos θ cosθ = [x B y B ] [x B y B ] T r R Das Skalarprodukt r. R. cosθ eines Einheitsvektors r ( r =) mit einem bel. Vektor R ist gleich der Länge der Projektion des Vektors R auf die Achse des Einheitsvektors r. y B y B θ φ r R B x B x B B cos(α±β) = cosα cosβ Ŧ sinα sinβ sin(α±β) = sinα cosβ ± cosα sinβ

Beispiel zur Sichtbarkeit einer Objektfläche: Eckpunkte P = [,, ] T, P 2 = [,, ] T und P 3 = [,, ] T Augenpunkt E = [,, ] T : n = (P 3 P 2 ) x (P P 2 ) = x = = n (E P 2 ) = [,, ] = Die Fläche ist sichtbar! z E n y P (Gegenprobe mit E = [,,-] T!) P 2 P 3 x