Computergrafik 1 3D Rendering



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

Erinnerung. Arbeitsschritte der Computergraphik. Modellierung. Animation. Rendering. Ausgabemedium. Generierung


2D-Transformationen. Kapitel Translation. 6.2 Skalierung

Die Übereckperspektive mit zwei Fluchtpunkten

Computer-Graphik I Transformationen & Viewing

2.2 Projektionen und Kameramodelle

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

Computergrafik 1. 2D Rendering

Teil 1: Modellierung. Einleitung. 3D Szene Inhalt. Objekte und ihre Beschreibung

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

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

Softwareprojekt Spieleentwicklung

Das Mathematikabitur. Abiturvorbereitung Geometrie. Autor: Claus Deser Abiturvorbereitung Mathematik 1

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

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

Planare Projektionen und Betrachtungstransformation. Quelle: Angel (2000)

4. Kapitel 3D Engine Geometry

Repetitionsaufgaben: Lineare Funktionen

Mathematik 1: (ohne Taschenrechner) Korrekturanleitung

1. Sichtbarkeitsproblem beim Rendern einer dreidimensionalen Szene auf einer zweidimensionalen

MATHEMATIK 3 STUNDEN. DATUM: 8. Juni 2009

Grundlagen geometrisches Zeichnen - CAD. E1: Grundlagen des geometrischen Zeichnens (14)

3 Koordinatentransformationen

DAS ABI-PFLICHTTEIL Büchlein

Praktikum Schau Geometrie


Projektion. Ebene geometrische Projektionen

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

Gitterherstellung und Polarisation

Zeichen bei Zahlen entschlüsseln

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

Künstliches binäres Neuron

Funktionen (linear, quadratisch)

Mathematischer Vorkurs für Physiker WS 2009/10

Lineare Gleichungssysteme

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

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

Aufgaben des MSG-Zirkels 10b Schuljahr 2007/2008

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

Quadratische Funktionen (Parabeln)

n S n , , , , 167 Nach einem Jahr beträgt der Schuldenstand ca. 1177,09.

OECD Programme for International Student Assessment PISA Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

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

Konzepte der Informatik

Adobe Flash CS4»3D-Tool«

Algorithmen und Datenstrukturen Bereichsbäume

Definition und Begriffe

Hans Walser, [ a] Wurzeln aus Matrizen

Bulletin. Gebrochener Stab. Martin Lieberherr Mathematisch Naturwissenschaftliches Gymnasium Rämibühl, 8001 Zürich

Computer Graphik. Mitschrift von

3.1. Die komplexen Zahlen

Computergrafik Sommersemester 2004 Übungen

:= Modellabbildung. Bildsynthese (Rendering) Bildsynthese

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

Mediator 9 - Lernprogramm

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

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Pädagogische Hochschule Thurgau. Lehre Weiterbildung Forschung

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

Anleitung Typo3-Extension - Raumbuchungssystem

Excel Fortgeschrittene Techniken. Peter Wies. 1. Ausgabe, März 2013 EX2013F

( -1 2 ) -2. Gesamtschule Duisburg-Mitte. Abbildungen. Affine Abbildungen. 1. Spiegelung an den Koordinatenachsen A( 1 / 4 ) -> A'( -1 / 5 )

Mechanische Struktur. Digitalrechner (Steuerung, Regelung und Datenverarbeitung) Leistungsteil. Stellgrößen. Rückmeldungen (Lage, Bewegungszustand)

Linienland, Flächenland und der Hyperraum Ein Ausflug durch die Dimensionen

Abituraufgabe zur Stochastik, Hessen 2009, Grundkurs (TR)

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

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])

Überraschende Effekte mit 3D-Brillen (Surprising effects with 3D glasses)

Mathematik. UND/ODER Verknüpfung. Ungleichungen. Betrag. Intervall. Umgebung

3D-Algebra Version 2

Bildtransformationen. Geometrische Transformationen Grauwert-Interpolation

Outlook 2000 Thema - Archivierung

Computer Graphik II Tesselierung impliziter Kurven und Flächen

Optik: Teilgebiet der Physik, das sich mit der Untersuchung des Lichtes beschäftigt

3D-Sicht, Projektionen

Erstellen von x-y-diagrammen in OpenOffice.calc

Kapitel 0. Einführung. 0.1 Was ist Computergrafik? 0.2 Anwendungsgebiete

Nachhilfe-Kurs Mathematik Klasse 13 Freie Waldorfschule Mitte

Lineare Funktionen. 1 Proportionale Funktionen Definition Eigenschaften Steigungsdreieck 3

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Probematura Mathematik

Mah Jongg - Ein Spiel für 4 Spieler

Darstellungsformen einer Funktion

Übungen zum Ferienkurs Lineare Algebra WS 14/15

ACDSee 9 Foto-Manager

Tel.: Fax: Ein Text oder Programm in einem Editor schreiben und zu ClassPad übertragen.

Shader. Computer Graphics: Shader

4. Mathematik Olympiade 2. Stufe (Kreisolympiade) Klasse 8 Saison 1964/1965 Aufgaben und Lösungen

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

5. Lineare Funktionen

Computergraphik I. Scan Conversion: Lines & Co. Einordnung in die Pipeline. G. Zachmann Clausthal University, Germany zach@tu-clausthal.

1 Arbeit und Energie. ~ F d~r: (1) W 1!2 = ~ F ~s = Beispiel für die Berechnung eines Wegintegrals:

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

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

Lineare Gleichungssysteme

3.2 Spiegelungen an zwei Spiegeln

VON GRUND AUF RICHTIG AUFBAUEN

Transkript:

Computergrafik 3D Rendering Hearn/Baker 5.9-6,7.-9,7. Based on material b Werner Purgathofer and Dieter Schmalstieg

Creating an Illusion The environment The imaging process = rendering The camera 2

Rendering Pipeline Model World Scene View Projection Rasteriation Image Model Transformations View Transformations 3

Themen Einführung in 3D Objekt Representationen Polgonnete, Volumnsmodelle 3D Model Transformationen 3D Viewing Racasting Darstellung als Projektionsmatrix 3D Clipping 4

Mögliche 3D-Objektrepräsentation Graphische Senen beinhalten solide geometrische Objekte Bäume, Blumen, Wolken, Felsen, Wasser Repräsentationen Oberfläche Innenmodelle, volumetrische Modelle Proedurale Modelle Phsikalisch basierte Modelle Oberflächenmodelle Boundar Repräsentation (B-Reps) Raumaufteilungsmodelle (Space-Partitioning Models) 5

Polgonnet Bestimmung der Polgonfläche, welche das innere Objekt umhüllt. Boundar Representation B-rep Gitterartige Darstellung eines Zlinders, hintere versteckte Linien entfernt 6

Vertex Liste Polgonnet: Datenstrukturen Vertex (,,) (,,) (,,) 8 (,,) 5 6 (,,) (,,) 7 (,,) (,,) (,,) (,,) (,,) (,,) (,,) (,,) 2 (,,) 3 7

Polgonnet: Datenstrukturen Polgon - Vertex Liste Vertex (,,) (,,) (,,) (,,) (,,) (,,) (,,) (,,) Index 2 3 2 6 7 3 5 (,,) 3 (,,) (,,) (,,) (,,) 2 (,,) 7 (,,) 6 8

Polgonnet: Datenstrukturen Facet Edge - Vertex Liste Vertex (,,) (,,) Edge,, 3 Facet 5 (,,) 3 (,,) (,,) 7 (,,) (,,) 2, 3 2 (,,) (,,),2 2,6 3 2 (,,) (,,) (,,) 6 (,,) 6,7 4 2 (,,) 3,7 5 (,,),5 6 9

Polgonnet Effiiente Datenstruktur für Oberflächen Triangle Strip n-2 Dreiecke für n Eckpunkte Quadrilateral Mesh (n-)x(m-) Vierecke

Polgonflächen: Ebenengleichung Ax + B + C + D Ebenenparamter A,B,C,D Normale = (A,B,C) = Beispiel: x-=

Vorderansicht und Rückansicht des Polgons Rückseite = Polgonseite, welche ins innere des Objektes eigt Vorderseite = Polgonseite, welche nach aussen eigt hinter einer Polgon Ebene = sichtbar für die Polgon-Rückseite vor einer Polgonebene = sichtbar für die Polgon- Vorderseite vorne hinten 2

Vorder- und Rückseite eines Polgons Ax + B + C + D = für Punkte auf der Fläche < für Punkte dahinter > für Punkte davor wenn () rechtsgewundenes Koordinatensstem (2) Polgonpunkte gegen den Uhreigersinn angeordnet sind V, V 2, V 3 gegen den Uhreigersinn => Normalvektor N = (V 2 - V ) x (V 3 - V ) 3

Kurven und gekrümmte Oberflächen Definiert durch mathematische Funktionen (impliit, expliit, parametrisch) Z.B definiert durch Gleichungen 2. Grades (quadratisch) Kugel, Ellipsoid, Ring, Paraboloid, Hperboloid, Vorgeben von Datenpunkten (Oberflächen-Approximation) Polgonale Approximation (Tesselation) des Polgonnetes Dreiecke Vierecke... (Flächen?!) 4

Volumsmodelle Constructive Solid Geometr (CSG) Bool sche Mengenoperationen auf 3D- Objekten Vereinigung, Schnittmenge, Differen Volumsrepresentation Octree Simon Chorle 5

CSG-Datenstruktur Jedes Objekt ist aus einfachen Modellen mit Mengen-operationen aufgebaut Datenstruktur: Binärbaum Rekursive Evaluierung 6

Octree Beispiel (c) Yoshifumi Kitamura 7

3D Transformationen Zulett 2D Transformationen Translation, Rotation, Skalierung, Scherung, etc. Darstellung als 3x3 Matrix Gemischte Transformationen, Kommutativität, Assoiativität Alle Konepte können direkt in 3D angewendet werden + Projektionen 3D à 2D 8

9 3D Translation () Translationsvektor (t x, t, t ) = ʹ ʹ ʹ x t t t x x P t t t T P x = ʹ ),, ( x t t t x x + = ʹ + = ʹ + = ʹ,,

3D Translation (2) Objekte werden versett indem die Eckpunkte versett werden Inverse: - T ( t, t, t ) = T (- t,- t,- t x x ) 2

3D Rotation: Winkelorientierung Rotationsachse positiver Winkel Rotation gegen Uhreiger 2

22 3D Rotation um Hauptachse (-Achse) x x x = ʹ + = ʹ - = ʹ θ θ θ θ cos sin sin cos - = ʹ ʹ ʹ cos sin sin cos x x θ θ θ θ P R P = ʹ ) ( θ Inverse: R x - (θ) = R x (-θ) = R xt (θ)

23 - = ʹ ʹ ʹ cos sin sin cos x x θ θ θ θ P R P x = ʹ ) ( θ 3D Rotation um Hauptachse (x-achse)

24 - = ʹ ʹ ʹ cos sin sin cos x x θ θ θ θ P R P = ʹ ) ( θ 3D Rotation um Hauptachse (-Achse)

Allgemeine Rotationen Als Kombination von Rotationen um Hauptachsen: R(α, β,γ) = R x (α) R (β) R (γ) Kompliiert u editieren, Reihenfolge? Änderung eines Winkels von den anderen abhängig Als beliebige Rotationsachse + Winkel R(r,θ) r = Allgemeiner und Intuitiver θ! " a b c $ % Drehachse Winkel 25

3D Rotation um eine beliebige Achse Die Rotationsachse (gestrichelte Linie) ist definiert durch den Punkt P 2. r = P 2 P 2 =! " a b c $ % 26

3D Rotation um eine beliebige Achse Anfangsposition. rotiere P 2 auf -Achse 2. rotiere Objekt um -Achse 3. rotiere Achse ur Ursprungsrichtung 27

3D Rotation um eine beliebige Achse Schritt : Rotation sodass r mit -Achse übereinstimmt (erledigt mit 2 Rotationen) Rx(a): r x-ebene R(b): r -Achse r a: b: α β r 28

29 3D Rotation um eine beliebige Achse Schritt a: r 2 2 c b d + = = ʹ r = (,b,c) ʹ ),, ( c b a r = - = / / / / ) ( d c d b d b d c R x α α cos α = c/d α d b c r r r

3D Rotation um eine beliebige Achse Schritt b: r ʹ = r ʹ = r ʹ ʹ = (,b,c) d (a,, d) cos β = d sin β = -a β d a x r r R ( β ) = d - a a d 3

3D Rotation um eine beliebige Achse Schritt 2: r abgestimmt mit -Achse Rotation um -Achse R ( θ ) = cos θ - sin θ sin θ cos θ 3

3D Rotation um eine beliebige Achse Schritt 3: Rotation aus Schritt rückgängig R(r,θ) = R x (α) R (β) R (θ) R (β) R x (α) Schritte: 3a 3b 2 b a 32

3D Rotation: Achse parallel ur x-achse Urspr. Objekt- Position 2. Rotation durch Winkel θ.translation Rotationsachse um die x- Achse: T 3.Translation Rotationsachse an originale Position:T- T R ( θ ) = T R ( θ ) x - 34

3D Rotation um eine beliebige Achse Anfangsposition. versete P um Ursprung 2. Rotiere um allgemeine Achse 3. Versete Achse ur Ursprungsposition 35

36 3D Skalierung um Ursprung Verdopple die Objektgröße und entferne es vom Ursprung = ʹ ʹ ʹ x s s s x x P S P = ʹ

37 3D Skalierung mit beliebigem Fixpunkt ),, ( ),, ( ),, ( F F F x F F F x T s s s S x T - - -. T 2. S 3. T -

38 3D Skalierung mit beliebigem Fixpunkt ),, ( ),, ( ),, ( f f f x f f f x T s s s S x T - - - - - - ) ( ) ( ) ( f f f x x s s s s x s s

3D Spiegelung Spiegelung um Punkt Linie (8 Rotation) Ebene,.B., x-ebene: RF P'(a,b,-c) P(a,b,c) RF = - Spiegelung an x-ebene 39

3D Scherung Beispiel: relative Scherung ur -Achse mit a=b= b SH = a b a 4

Dreidimensionales Viewing Überblick über Konepte des 3D-Viewing 3D Viewing Pipeline 3D Sichtkoordinaten-Parameter Transformation Weltkkord. à Sichtkoord. Projektive Transformation Orthogonale und Parallel-Projektion Perspektivische Projektion Viewport-Transformationen, Bildschirmkoord. 4

3D-Darstellungsmethoden Darstellungsebene Koordinatensstem für einen bestimmten Blickpunkt auf eine 3D-Sene 42

3D Aneige: Parallel-Projektion 4 parallele Projektionsansichten eines Objektes, welche die relativen Verhältnisse aus verschiedenen Sichtpositionen eigen. 43

3D Aneige: Perspektivische Projektion 44

Drahtgitter-Darstellung Drahtgitter-Darstellung von 3 Objekten (unsichtbare Linien wurden entfernt). Jedes Objekt in der Sene ist definiert durch ein Net von Koordinatenpunkten, welche dann als Drahtgitter- oder Oberflächen-Modell dargestellt werden. 45

3D-Darstellung: Tiefeneindruck = or? Idee: Intensitäten mit wachsender Distan verringern 46

3D-Darstellung: Sichtbarkeit Sichtbare Linien und Flächenidentifiierung = or! 47

3D-Darstellung: Tiefeneindruck + Sichtbarkeit Nur sichtbare Linien Intensitäten werden mit wachsender Distan verringert 48

3D-Darstellung: Oberflächen Eine realistische Raumaneige wird mit Ra-Tracing erreicht; Anwendung von Perspektivischer Projektion Texture Mapping BeleuchtungsSimulation 49

Andere 3D-Darstellungsmethoden Auseinander geogene Darstellung (exploded view) Beispiel: Turbine 5

Andere 3D Aneigemethoden Ausschneiden (Cutawa) Beispiel: Farbkodierte Darstellung eines Rasenmähermotors, welche die Struktur und Verbindung der internen Komponenten eigt 5

3D Aneige: Stereoskopie 2 Bilder (x linkes, x rechtes Auge) Head Mounted displas (HMD) oder Monitor mit Shutter Glasses 52

3D-Viewing: Kamera-Definition Ähnlich dem Fotografieren Einbindung von Kameraposition Kameraorientierung Fenster (Öffnung) der Kamera 53

3D-Sichtkoordinaten () Sichtkoordinatensstem u = v x n (positive x v -Achse) Distan der Sichtebene Rechtsdrehendes Darstellungssstem definiert mit den Einheitsvektoren u, v, und n Position der Sichtebene entlang der v Achse 54

3D-Sichtkoordinaten (2) Darstellung des Referenpunkts Anfang des Sichtkoordinatensstems Kameraposition oder Betrachtungspunkt Rechtsdrehendes Sichtkoord. sstem mit Achsen x,,, relativ ur Weltkoord. Sene 55

3D-Sichtkoordinaten (3) Normalvektor N der Sichtebene (= positive v -Achse, Punkte um Betrachter) N=(,,) N=(,,) 56

3D-Sichtkoordinaten (4) Wähle Up-Vektor V (positive v -Achse) Wähle beliebigen Up-Vektor und stelle ihn senkrecht auf den Normalvektor N Oft: wähle V entlang der w Achse gewünschte Richtung 57

3D-Sichtkoordinaten (5) Berechnung von u, v, n aus Normalvektor N und Up- Vektor V n = N N Normalisieren von N u = V n V v = n u u normal auf Up-Vektor V und n v normal auf u und n (automatisch in die Richtung V) 58

3D-Sichtkoordinaten (6) M WC, VC = R R R x T verbindet Kamerakoordinaten mit Weltkoordinaten durch Translation/Rotation 59

3D-Sichtkoordinaten (7) Orientierung der Sichtebene für einen speiellen Ansichtspunkt P, relativ um Sichtkoord.- Ursprung P 6

3D-Sichtkoordinaten (8) Ansicht einer Sene aus verschiedenen Richtungen mit einem fixen Sichtreferenpunkt 6

3D-Sichtkoordinaten (9) Bewegen in einer Sene, indem man die Position des Sichtreferenpunktes verändert 62

Projektionen Parallel-Projektion: parallele Linien, Einhalten von relativen Verhältnissen Perspektivische Projektion: Projektionsentrum, realistische Darstellung 63

Parallel-Projektion () orthographische Projektion schräge Projektion Orientierung des Projektionsvektors V p 64

Grundriss Parallel-Projektion (2) Aufrisses Seitenrisses orthographische Projektion eines Objektes isometrische Projektion eines Würfels 65

Cavalier-Projektion Tiefe des Würfels in Projektion gleich wie Höhe und Breite 66

Cabinet Projektion Tiefe des Würfels in Projektion wie halbe Höhe / Breite 67

Perspektivische Projektion Sichtebene Projektions- Referenpunkt Perspektivische Projektion von gleichgroßen Objekten mit verschiedenen Distanen von der Sichtfläche 68

Modelierung als Pinhole Camera Keine radiale Vererrung Kein Depth of Field 69

Eigenschaften perspektivische Projektion Parallele Linien parallel ur Sichtebene Abbildung auf parallele Linien Parallele Linien nicht parallel ur Sichtebene Abbildung auf konvergente Linien; Fluchtpunkt (vanishing point) Linien parallel ur Koordinatenachse Hauptfluchtpunkte (principle vanishing point -, 2 oder 3) Speialfälle: vp = or prp = 7

Fluchtpunkte -Punkt Persp. Proj. 2-Punkt Persp. Proj. Perspektivenansichten principle vanishing points eines Würfels für verschiedene Richtungen der Sichtebene relativ ur Hauptachse des Objekts. 7

Clipping Window Auswahl des sichtbaren Bereichs als Clipping Window In der Bildebene Kann entlang von Z v verschoben sein Clipping Window 72

Racasting für Orthographische Projektion Sichtkoordinaten mit definiert: P, x v, v, v Viewplane durch Größe: w,h Auflösung in Pixel: u,v Abstand w Pixel: w/u, h/v Position eines Pixels: p i,j = C + x v (iw/u w/2 + w/(2u)) + v (jh/v h/2 + h/(2v)) d C w, u h, v Projektionsrichtung: d 73

Racasting für Perspektivische Projektion Projektionsentrum: P Sichtkoordinaten mit definiert: C, x v, v, v Viewplane durch Größe: w,h Auflösung in Pixel: u,v d C h, v P Abstand w Pixel: w/u, h/v Position eines Pixels: p i,j = C + x v (i w/u w/2 + w/(2u)) + v (j h/v h/2 + h/(2v)) w, u Projektionsrichtung: d = p i,j - P 74

Darstellung als Projektionsmatrix Punkt in 3D: P = (x,,,) wird auf Punkt in 2D p = (u,v,,) projeiert. p = M proj P Einheitliche Darstellung der Projektion als Teil der Rendering Pipeline. Zusammenfassung mit Modell- und Sichttransformationen p = M proj M wc,vc M model P 75

Orthographische Parallel-Projektion x p = x p = p = M parallel = 76

77 Schräge Parallel-Projektion φ φ sin cos p L L x x p + = + = = tan sin tan cos α φ α φ M parallel α α / tan / tan L L = =

Andere Konfiguration mit Bildebene im Ursprung (,, prp ) x Perspective Projection prp x p = P(x,,) x x p : x = prp : ( prp - ) x p = x Ζ prp prp - p = prp prp - p = 78

79 h!!! Ableitung der Perspektive (3) - = prp prp p - x prp prp = x p prp prp h - = - = / x h x prp h h h = x / h = / h

Modell Koord. 3D Viewing Pipeline Modell Transformation Welt Koord. Sicht Transformation Projektions Koord. Projektive Transformation Sicht Koord. Normalisierung Transformation und Clipping normalisierte Koord. Viewport Transformation Geräte Koord. Allgemeine 3D-Transformationspipeline, von Modellkoordinaten bis u Gerätekoordinaten 8

Modeling projection Projection equations Compute intersection with PP of ra from (x,,) to COP Derived using similar triangles We get the projection b throwing out the last coordinate: 8

Perspective Projection Projection is a matrix multipl using homogeneous coordinates: This is known as perspective projection The matrix is the projection matrix Can also formulate as a 4x4 divide b third coordinate divide b fourth coordinate 82

3D Clipping Auswahl des sichtbaren Bereichs einer Sene in 3D! Clipping Window in View plane Near und Far plane in Z Richtung Definiert View Volume Normalisierung des View Volumes Clipping im Normalisierten View Volume Clipping Window 83

Orthogonale Projektion Far plane View Volume Near plane View volume definiert durch Clipping Window Near and Far clipping plane 84

85 = M parallel x p = x p = p =! 3D Clipping nach der Projektion! Modifiieren Projektionsmatri, sodass erhalten bleibt

Normalisierung () 86

Normalisierung (2) [x min, x max ] è [-,] [ near, far ] è [-,] [ min, max ] è [-,] 2 x max x min x max + x min x max - x min x M N = 2 max min max + min max - min 2 far near far + near far - near 87

Far clipping plane at far Perspektivische Projektion Near clipping plane at near Frustum beschrieben durch Clipping window od. Field-of-View Angle Near and far clipping planes 88

89 Erhalten von Z Persp. Proj. mit d = near Erhalten von Z durch Eintrag in 4. Spalte! => near / x near! " $ % = near! " $ % x! " $ % x near near! " $ % x near! " $ % = near! " $ % x! " $ % x near near near! " $ %

9 Erhalten von Z Persp. Proj. mit d = near Erhalten von Z durch Eintrag in 4. Spalte! Besser als lineare Transf. (s,t) x near! " $ % = near! " $ % x! " $ % x near near! " $ % x s + t near! " $ % = s t near! " $ % x! " $ % x near near (s + t ) near! " $ %

Perspektivische Projektion mit 9

Perspektivische Projektion mit Linien durch das Projektionsentrum werden u parallelen Linien im Viewvolume. 92

Perspektivische Projektion mit! " x min min near $ % 93

Normalisierung () 94

Normalisierung (2) [x min, x max ] è [-,] [ min, max ] è [-,] 2 x max x min x max + x min x max - x min x M N = 2 max min max + min max - min 95

Normalisierung (3) " $ $ M n M proj = $ $ $ $ 2 x max + x min x max x min x max x min 2 max + min max min max min % ' " % ' $ ' ' $ s t ' ' $ ' = ' $ ' ' $ near ' " $ $ $ $ $ $ $ $ 2 x max x min x max + x min x max x min near 2 max + min max min max min near s t near % ' ' ' ' ' ' ' ' 96

Bedingungen an s,t Ersete mit near und far Gleichungssstem für s,t! "! " s t $! " near % s t $! " near % near far $! = % "! $ = % " s near + t s far + t far near $ % $! ~ % "! ~ " $ % $ % s near + t = s far + t = far near s = far + near far near t = 2 far near far near 97

Perspektivische Proj + Normalisierung " $ $ $ $ M n M proj = $ $ $ $ $ $ 2 x max x min x max + x min x max x min near 2 max min + max min max min near far + near far near near 2 far near far near % ' ' ' ' ' ' ' ' ' ' 98

Clipping Warum normalisieren? Einfacher Vergleich an Clipping Ebenen x < -, x >, < -, >, < -, > Vor Division durch h! Division wird nur für sichtbare Punkte berechnet. (x n, n, n,h n ) = M N M proj M wc,vc M model P x n < -h n, x n > h n, n < -h n, n > h n, n < -h n, n > h n 99

3D Clipping in Normalisierten Koordinaten Erweiterung von 2D Clipping auf 3D. Gleicher Algorithmus für Linien Polgone.

3D Clipping Kompliierter für Körper (B-Reps) Flächen müssen konstruiert werden!

Nach clipping -> Screen coordinates Normalisierte Koordinaten ~ Clipping Window Transformiert u Viewport in Window oder Screen 2