75
Computergraphik Grundlagen VI. Geometrische Modellierung Prof. Stefan Schlechtweg Hochschule Anhalt Fachbereich Informatik

Computergraphik Grundlagen - mttcs. · PDF file2 Inhalt – Lernziele 1. Geometrische Modlle Geometrie Topologie Forderungen an Geometrierepräsentationen Klassifikation von

Embed Size (px)

Citation preview

Computergraphik Grundlagen

VI. Geometrische Modellierung

Prof. Stefan Schlechtweg Hochschule Anhalt

Fachbereich Informatik

2

Inhalt – Lernziele

1. Geometrische Modlle   Geometrie   Topologie   Forderungen an

Geometrierepräsentationen   Klassifikation von Modellen   Geometrische Modellierung

2. Boundary Representations   Polygonale Modelle   Freiformkurven und –flächen   Umwandlung Freiformflächen in

Polygonnetze 3. Kameramodell 4.  Lichtquellen 5.  Zusammenfassung

  Begrifflichkeiten aus dem Bereich der geometrischen Modellierung kennen

  Einordnung der verschiedenen Modellierungstechniken vornehmen können

  Polygonnetze als wichtigste Modellklassen kennen

  Freiformkurven und –flächen überblicksartig kennen

  Parameter der Beschriebung von Lichtquellen und Kameras kennen

  Bezug der Modellierung zur Rendering-Pipeline herstellen können

3

lokal → Welt

Lokale Koordinaten

Modellierung der Geometrie

einzelner Objekte

Weltkoordinaten

Plazierung der Objekte

Plazierung der Lichtquellen

Plazierung der Kamera

Beleuchtungs- berechnung

Kamerakoordinaten

Entfernen verdeckter Rückseiten

Normalisierte Projektionskoordinaten

Clipping gegen Sichtkörper

(Normalisierte) Bildschirm- koordinaten

Rasterkoordinaten

Entfernen verdeckter Modellteile

Shading

Entfernen verdeckter Modellteile Tr

ansf

orm

atio

n in

Kam

erak

oord

inat

en

Viewing-Transformation

Proj

ektio

n

Rastertransformation

Rasterung

4

1.  Geometrische Modelle

  Definition: Darstellung von 3D-Objekten durch mathematisch-analytische Methoden am Computer

  Grundlage für –  Berechnung geometrischer Eigenschaften

(Volumen, ...) –  graphische Darstellung –  weitergehende graphische Anwendungen –  Berechnung des physikalisch-geometrischen

Verhaltens der Körper nach einer weiteren Attributierung mit physikalischen Eigenschaften bzw. Materialparametern

5

1.  Geometrische Modelle

  Geometrische Objekte sind Objekte der realen oder theoretischen Welt, die durch ihre geometrischen und topologischen Eigenschaften beschrieben sind: –  Geometrische Eigenschaften beschreiben die präzise

Form eines Objekts und die konkrete Lage in einem Bezugssystem.

–  Topologische Eigenschaften definieren die fundamentale Objektstruktur, die bei kontinuierlichen Transformationen invariant ist.

6

1.  Geometrische Modelle 1.1. Geometrie

  Die Geometrie (griech. „Landmessung“) ist ein Teilgebiet der Mathematik. –  Die Euklidische Geometrie ist die klassische, uns vertraute Geometrie der Ebene

oder des Raums, die schon Euklid in „Den Elementen“ dargelegt hat: Elementare Konstrukte sind: Punkt, Linie, Gerade, Ebene, Winkel, Parallelen u.a. Sie ist essentiell für die Computergraphik

–  Affine Geometrie: Es gilt zwar das euklidische Parallelenaxiom, aber Abstand und Winkel haben keine Bedeutung. Inbegriff der unter affinen Abbildungen invarianten geometrischen Eigenschaften

–  Projektive Geometrie: Zu jeder Klasse paralleler Geraden kommt ein so genannter unendlich ferner Punkt hinzu; alle diese Punkte bilden die unendlich ferne Gerade. Zwei Geraden schneiden sich stets in einem Punkt: Zwei parallele Geraden schneiden sich in ihrem gemeinsamen Fernpunkt, eine gewöhnliche Gerade und die Ferngerade schneiden sich im Fernpunkt der Geraden.

–  Nichteuklidische Geometrie: hier gilt das Parallelenaxiom nicht Man unterscheidet elliptische und hyperbolische Geometrien.

7

  Modelle werden über geometrische Verhältnisse zwischen Punkten, Linien, Flächen definiert

  geometrische Verhältnisse entsprechen dem Axion-System der zugrundeliegenden Geometrie

  Verschiedene Beschreibungen führen zu verschiedenen Modellierungssystemen bzw. Modelltypen

1.  Geometrische Modelle 1.1. Geometrie

8

  untersucht die Eigenschaften geometrischer Körper (d. h. topologischer Räume), die durch Verformungen mit Homöomorphismen (Dehnen, Stauchen, Verbiegen, Verzerren, Verdrillen ) nicht verändert werden.

  wichtigste Begriffe hier –  Mannigfaltigkeit: ein topologischer Raum, der lokal einem

gewöhnlichen Euklidischen Raum Rn gleicht. Im Ganzen muss die Mannigfaltigkeit nicht einem Rn entsprechen (nicht zu ihm homöomorph sein).

–  Genus: Geschlecht = Anzahl der „Löcher“ in einer Fläche bzw. definiert als die maximale Anzahl von möglichen Schnitten, so dass die Fläche nach dem Schnitt immer noch zusammenhängend ist.

1.  Geometrische Modelle 1.2. Topologie

9

1.  Geometrische Modelle 1.2. Topologie

  Kugel: Genus 0   Torus: Genus 1   Doppeltorus: Genus 2

10

1.  Geometrische Modelle 1.3. Forderungen an Geometrierepräsentationen

  Mächtigkeit (sinnvolle Menge von Objekten modellierbar)   Eindeutigkeit (Was wird repräsentiert? Jeder Körper hat

genau eine Darstellung.)   Vollständigkeit   Genauigkeit (Approximation des Objektes)   Effizienz (Darstellung, Speicherplatz)   Abgeschlossenheit (Transformationen, Boolesche

Mengenoperationen)   weitere Forderungen:

–  unmöglich, eine ungültige Repräsentation herzustellen –  einfach, eine gültige Repräsentation herzustellen

11

  2D-Modelle –  beschreiben geometrische Objekte in 2D –  werden für Anwendungen in der Ebene verwendet

(Grundrisse, ebene Pläne etc.), bei denen die 3. Dimension entweder nicht gegeben bzw. nicht relevant ist.

–  Werden 3D-Objekte mit 2DModellen dargestellt, sind Zusatzinformationen notwendig, z.B.:

•  zusätzliche Angabe von Tiefenwerten oder •  Verwendung mehrerer 2DModelle (Risse) zur Beschreibung

eines 3D-Objekts.

1.  Geometrische Modelle 1.4. Klassifikation von Modellen

12

  2,5D-Modelle –  modellieren 3D-Objekte durch eine Beschreibung in 2D und –  eine zusätzliche Angabe für die Interpretation in 3D. –  Die Zusatzinformation kann z.B ein Verschiebevektor oder eine

Rotationsachse sein. –  Die 2D- Objekte werden entsprechend dieser Angaben im 3D-Raum

rotiert oder verschoben. Sie überstreichen dabei einen gewissen Teilraum in 3D (sogenannte Rotations- oder Translationskörper).

–  Dieser entspricht dem gewünschten 3D-Objekt.

1.  Geometrische Modelle 1.4. Klassifikation von Modellen

13

  3D-Modelle –  definieren Objekte in 3D durch Abstraktion der

wesentlichen geometrischen Eigenschaften. –  Wir unterscheiden 3 verschiedene Modellformen:

•  Drahtmodelle: beschreiben Objekte durch Konturlinien •  (Ober-)Flächenmodelle: beschreiben Objekte durch

Randflächen •  Volumenmodelle: beschreiben Objekte als Körper

1.  Geometrische Modelle 1.4. Klassifikation von Modellen

14

1.  Geometrische Modelle 1.4. Klassifikation von Modellen

Volumenmodelle

• Primitive Instancing • Constructive Solid Geometry • Sweep-Körper • Raumunterteilung – Zelldekomposition – Voxelmodelle – Octrees – BSP-Trees • ...

Oberflächenmodelle

High-Level Datenstrukturen

• Polygonnetze • Freiformflächen • Implizite Oberflächen • ...

• Szenengraphen • Skelette • applikationsspezifisch • ...

15

1.  Geometrische Modelle 1.5. Geometrische Modellierung

Quelle: Holger Theisel, Uni Magdeburg, Vorlesung Computergraphik

16

2.  Boundary Representations

  Eine Boundary Representation (b-rep) ist eine Graphenstruktur, die begrenzende Oberflächenteile eines Körpers und ihre Lage zueinander topologisch beschreibt.

  Im Gegensatz zu anderen Körpermodellen, sind Flächen, Kanten und Punkte explizit im Modell vorhanden.

  Eine Boundary Representation beschreibt ein Objekt durch seine Hülle

17

2.  Boundary Representations

  B-Rep baut Körper aus folgenden Elementen auf: –  Schale (shell): ist eine aus Einzelteilen (Facetten)

zusammengesetzte, zusammenhängende Oberfläche. –  Fläche (Facette): ist begrenzt von einer oder mehreren

Konturen. –  Kontur (loop): ist eine abgeschlossene orientierte Folge von

Kanten –  Kante (edge): ist ein orientiertes Geraden- (Kurven-) Stück,

begrenzt durch zwei –  Knoten (vertices).

18

2.  Boundary Representations

Quelle: Holger Theisel, Uni Magdeburg, Vorlesung Computergraphik

19

2.  Boundary Representations 2.1. Polygonale Modelle

  Ein Objekt wird durch ein Gitter aus polygonalen Facetten angenähert und beschrieben.

Original-Objekt Oberflächen polygonale Oberfläche

Eckpunkte, Kanten Polygone

20

2.  Boundary Representations 2.1. Polygonale Modelle

  Komponenten eines polygonalen Modells: –  Position der Eckpunkte (Knoten, Vertices) –  Informationen über en Zusammenhang der Eckpunkte

– Kanten, –  Flächen –  zusätzliche Daten, wie Normalen,

Ebenengleichungen, . . .   Repräsentation

–  Wahl der Repräsentation von den auszuführenden Operationen beeinflußt

–  es gibt keine „100%ig“ beste Repräsentation

21

2.  Boundary Representations 2.1. Polygonale Modelle

  Ein geometrischer Graph G = (V,E) ist ein geordnetes Paar (V,E) wobei V eine nichtleere, endliche Teilmenge des R3 und E eine Menge von Verbindungsstrecken von Punkten aus V ist.

  Ein Polygon ist ein geometrischer Graph G = (V,E) mit –  V = v0, . . . , vn−1 –  E = (v0, v1), (v1, v2), . . . , (vn−2, vn−1)

  Ein Polygon heißt –  eben, falls alle Kanten in einer Ebene liegen, –  geschlossen, falls v0 = vn−1 –  einfach, falls gilt: Der Schnitt zweier Kanten ist entweder leer

oder eine Ecke und jede Ecke gehört zu höchstens zwei Kanten.

22

2.  Boundary Representations 2.1. Polygonale Modelle

  Ein Polygonnetz ist eine Menge M von endlich vielen, geschlossenen,

  ebenen und einfachen Polygonen mit folgenden Eigenschaften: –  Die inneren Polygongebiete von je zwei Polygonen aus M haben

keine gemeinsamen Punkte. –  Je zwei Polygone aus M haben entweder keinen Punkt oder eine

Ecke oder eine ganze Kante gemeinsam. –  Jede Kante eines Polygons aus M gehört zu höchstens zwei

Polygonen aus M. –  Die Menge aller Kanten, die nur zu einem Polygon aus M

gehören ist entweder leer (M heißt dann geschlossen) oder bildet selbst ein einziges, geschlossenes, einfaches Polygon

23

2.  Boundary Representations 2.1. Polygonale Modelle

24

2.  Boundary Representations 2.1. Polygonale Modelle 2.1.1. Repräsentation von Polygonnetzen

  Repräsentation von Polygonnetzen – explizite Repräsentation – Zeiger in eine Knotenliste – Zeiger in eine Kantenliste – weitere und spezielle Repräsentationen, wie

z. B. winged edge Repräsentation

25

P1 (0,0,0)-(1,0,0)-(1,1,0)-(0,1,0) P2 (0,0,0)-(0,0,-1)-(0,1,-1)-(0,1,0) P3 (0,0,0)-(1,0,0)-(1,0,-1)-(0,0,-1) P4 (1,0,0)-(1,0,-1)-(1,1,-1)-(1,1,0) P5 (0,1,0)-(1,1,0)-(1,1,-1)-(0,1,-1) P6 (0,0,-1)-(1,0,-1)-(1,1,-1)-(0,1,-1)

2.  Boundary Representations 2.1. Polygonale Modelle 2.1.1. Repräsentation von Polygonnetzen

  explizite Repräsentation: Angabe der Koordinaten der Eckpunkte –  jeweils x-, y-, z-Koordinatentripel –  Verbindung der Eckpunkte zu einem Polygon wird implizit hergestellt:

•  Verbinde den i-ten Punkt mit dem (i+1)-ten •  Verbinde den letzten mit dem ersten zum Schließen des Polygons

26

2.  Boundary Representations 2.1. Polygonale Modelle 2.1.1. Repräsentation von Polygonnetzen

  sehr aufwendige und fehleranfällige Art der Modellierung   nur sinnvoll für kleinere Objekte   Probleme:

–  hoher Aufwand bei manueller Erstellung –  Daten werden mehrfach gespeichert

P1 (0,0,0)-(1,0,0)-(1,1,0)-(0,1,0) P2 (0,0,0)-(0,0,-1)-(0,1,-1)-(0,1,0) P3 (0,0,0)-(1,0,0)-(1,0,-1)-(0,0,-1) P4 (1,0,0)-(1,0,-1)-(1,1,-1)-(1,1,0) P5 (0,1,0)-(1,1,0)-(1,1,-1)-(0,1,-1) P6 (0,0,-1)-(1,0,-1)-(1,1,-1)-(0,1,-1)

27

v1 (0,0,0) v2 (1,0,0) v3 (1,1,0) v4 (0,1,0) v5 (0,0,-1) v6 (1,0,-1) v7 (1,1,-1) v8 (0,1,-1)

2.  Boundary Representations 2.1. Polygonale Modelle 2.1.1. Repräsentation von Polygonnetzen

  Zeiger in eine Knotenliste –  x-, y-, z-Koordinatentripel aller Eckpunkte werden extra gespeichert –  Verbindung der Eckpunkte zu einem Polygon wird über Indizes in die Liste der

Eckpunkte hergestellt:   Merkmale

–  speicherplatzsparend, da Knoten nur einmal gespeichert –  einfache Transformationen –  geteilte Kanten doppelt gespeichert

P1 1-2-3-4 P2 1-5-8-4 P3 1-2-6-5 P4 2-6-7-3 P5 4-3-7-8 P6 5-6-7-8

28

v1 (0,0,0) v2 (1,0,0) v3 (1,1,0) v4 (0,1,0) v5 (0,0,-1) v6 (1,0,-1) v7 (1,1,-1) v8 (0,1,-1)

2.  Boundary Representations 2.1. Polygonale Modelle 2.1.1. Repräsentation von Polygonnetzen

  Zeiger in eine Kantenliste –  x-, y-, z-Koordinatentripel aller Eckpunkte werden extra gespeichert –  Kanten werden über Indizes in die Liste der Eckpunkte gespeichert –  Polygone über Kanten definiert

P1 1-2-3-4 P2 5-9-6-4 P3 6-3-7-10 P4 7-2-8-11 P5 8-1-5-12 P6 9-10-11-12

e1 (4,8,a,b) e2 (8,7,a,c) e3 (7,3,a,d) e4 (3,4,a,e) e5 (4,1,b,e) e6 (3,2,e,d) e7 (7,6,d,c) e8 (8,5,c,b) e9 (1,2,e,f) e10 (2,6,d,f) e11 (6,5,c,f) e12 (5,1,b,f)

29

2.  Boundary Representations 2.1. Polygonale Modelle 2.1.2. Zusammenfassung

  Vorteile polygonaler Modelle –  relativ einfache Erzeugung –  einfache Darstellung der Objekte –  einfache Handhabung bei Berechnungen –  weit verbreitet – „kleinster gemeinsamer Nenner“ bei 3D-

Modellen

  Nachteile polygonaler Modelle –  Polygonale Modelle approximieren die Oberfläche eines

„runden“ Objektes nur –  Je genauer diese Approximation sein soll, um so mehr Polygone

werden benötigt – speicheraufwendig

30

2.  Boundary Representations 2.2. Freiformkurven und -flächen

  Linienzüge bzw. Polygone sind stückweise lineare Approximationen für Kurven bzw. Flächen. –  sehr hohe Anzahl an Eckpunkten für genaue

Repräsentation notwendig –  interaktive Manipulation sehr schwierig

  → Suche nach kompakteren und einfacher zu manipulierenden Repräsentationen

  → stückweise polynomiale Kurven bzw. Flächen

31

  explizite Repräsentation: y = f(x); z = f(x) –  nicht mehrere Werte für ein x möglich –  nicht rotationsinvariant –  keine Kurven mit vertikalen Tangenten beschreibbar

  implizite Repräsentation: f(x, y, z) = 0 –  Gleichungen liefern u.U. zu viele Lösungen (Kreis →

Halbkreis) –  aber: effiziente Bestimmung, ob Punkt auf Kurve liegt

2.  Boundary Representations 2.2. Freiformkurven und -flächen

32

  parametrische Repräsentation: x = f(t); y = f(t); z = f(t) –  Darstellung einer Kurve durch eine stückweise polynomiale

Kurve –  jedes Segment der Kurve durch drei Funktionen x, y und z

gegeben –  diese drei Funktionen: Polynome in t –  jede Steigung erlaubt –  stückweise polynomiale

Approximation einer Kurve

2.  Boundary Representations 2.2. Freiformkurven und -flächen

33

2.  Boundary Representations 2.2. Freiformkurven und –flächen 2.2.1. Interpolation von Kurven

  gegeben: Punktfolge p0, p1, ..., pn ∈ ℜ3

  gesucht: Kurve in Parameterdarstellung, die die Punktfolge durchläuft   Jedem Kurvenpunkt pi wird ein Parameterwert ti zugeordnet mit

–  ti< ti+1 ( i = 0, ..., n-1), –  t0 definiert den Anfang des gewünschten Parameterintervalls und –  tn das Ende.

  Eine Kurve x(t) über einem Parameterintervall lässt sich darstellen durch

  hierbei gilt: –  x(ti)=pi

–  fi bilden eine Basis und –  ai ∈ ℜ3

34

2.  Boundary Representations 2.2. Freiformkurven und –flächen 2.2.2. Bézier-Kurven

  Basis sind Bernstein-Polynome:   hier ist:

–  t Parameter (0 ≤ t ≤ 1) –  n Grad der Bezierkurve –  bi Kontrollpunkte aus ℜ2 oder ℜ3 mit (0 ≤ i ≤ 1) –  Bi

n(t) Bernsteinpolynom vom Grad n über dem Intervall [0, 1]

35

  Bernstein-Polynome

2.  Boundary Representations 2.2. Freiformkurven und –flächen 2.2.2. Bézier-Kurven

36

2.  Boundary Representations 2.2. Freiformkurven und –flächen 2.2.2. Bézier-Kurven

  Bézier-Kurven verschiedenen Grades

Grad 2

Grad 5

Grad 15

37

2.  Boundary Representations 2.2. Freiformkurven und –flächen 2.2.2. Bézier-Kurven

  Eigenschaften von Bézierkurven: –  Grad: Der Grad der Bézierkurve ist abhängig von der Zahl der Polygonpunkte (n Punkte ergeben den Grad

n -1). –  Globale Modifikationen: Die Modifikation eines Polygonpunktes wirkt sich global auf die Bézierkurve aus. –  Einfluß von Kontrollpunkten: bi hat den größten Einfluß auf x(t) bei t = i/n. –  Symmetrie: Es ist unerheblich, ob wir die Bézierpunkte mit b0, b1, ..., bn oder mit bn, bn-1, ..., b0 bezeichnen.

Die Kurven stimmen überein, sie werden nur in unterschiedlicher Richtung durchlaufen. –  Affine Invarianz: Die Bézierkurve ist unter affinen Abbildungen invariant. –  Verhalten in den Eckpunkten: Kontrollpolygon und Bézierkurve stimmen in Anfangs- und Endpunkt überein.

Das erste und letzte Segment des Kontrollpolygons verläuft in Anfangs- und Endpunkt tangential zur Bézierkurve. Die inneren Bézierpunkte werden i.allg. nur approximiert.

–  Beschränkte Schwankung (variation diminishing property): Keine Gerade schneidet die Bézierkurve öfter als das entsprechende Kontrollpolygon.

–  Graderhöhung: Bei fortgesetzter Graderhöhung konvergiert das Kontrollpolygon gegen die Bézierkurve. –  Konvexe-Hüllen-Eigenschaft: Eine ebene Bézierkurve liegt ganz innerhalb der konvexen Hülle des

zugehörigen Kontrollpolygons.

38

  Bei komplexen Formen wird eine größere Zahl von Bézierpunkten benötigt. Mit jedem Bézierpunkt erhöht sich der Grad um 1.

  Um den Grad niedrig zu halten und trotzdem keine Begrenzung bezüglich der Kontrollpunkte zu haben, ist es notwendig, einzelne Bézier-Kurven-Elemente aneinander zu fügen.

  So erhalten wir eine Bézier-Spline-Kurve.   Benachbarte Spline-Elemente müssen dieselbe Ordnung haben und gewisse

Anschlußbedingungen einhalten, um einen stetigen Übergang zu garantieren.   Bei einer kollinearen Ausrichtung der Anschlußkanten der Kontrollpolygone ist ein

G1-stetiger Übergang garantiert

2.  Boundary Representations 2.2. Freiformkurven und –flächen 2.2.3. Bézier-Spline-Kurven

39

2.  Boundary Representations 2.2. Freiformkurven und –flächen 2.2.4. Übergangs-Bedingungen und Stetigkeit

  geometrische Stetigkeit beschreibt bei einer zusammengesetzten Kurve, wie ein Kurvenstück ins nächste übergeht

  Abgeleitet aus mathematischen Bedingungen:

wenn Dann heißt der Übergang Das bedeutet geometrisch

f(b)=g(b) C0-stetig, d.h. die 0-te Ableitung ist am Übergang stetig

Kurve macht keinen Sprung

f‘(b)=g‘(b) C1-stetig Gleiche Tangenten am Verbindungspunkt, Kurve hat keinen Knick

f‘‘(b)=g‘‘(b) C2-stetig gleiche Krümmung, gleicher Schmiegkreis am Verbindungspunkt

f(n)(b)=g(n)(b) C(n)-stetig je höher der Grad der Stetigkeit, desto „glatter“ (weniger bemerkbar) ist der Übergang.

40

2.  Boundary Representations 2.2. Freiformkurven und –flächen 2.2.4. Übergangs-Bedingungen und Stetigkeit

  Definition der geometrischen Stetigkeit:

wenn dann heißt der Übergang

der Endpunkt des einen Kurvenstücks mit dem Startpunkt des zweiten zusammenfällt

G0-stetig

der Übergang ist G0-stetig und die beiden Kurvenstücke am Verbindungspunkt den gleichen Tangenteneinheitsvektor haben

G1-stetig

der Übergang ist G1-stetig und die beiden Kurvenstücke am Verbindungspunkt • beide die Krümmung Null haben oder • die gleiche Krümmung und die gleiche Schmiegebene Haben

G2-stetig

41

  zwei aneinander hängende Kurvensegmente sind: –  G0 stetig ⇔ verbunden –  G1 stetig ⇔ Steigungen stimmen überein (Tangentenvektoren) –  Gn stetig ⇔ n-ten Ableitungen stimmen in Richtung überein –  Cn stetig (parametrische/mathematische Stetigkeit) ⇔ n-te

Ableitungen stimmen in Richtung und Länge überein

2.  Boundary Representations 2.2. Freiformkurven und –flächen 2.2.4. Übergangs-Bedingungen und Stetigkeit

42

  Nachteile der Bézier-Kurven: –  keine lokale Kontrollierbarkeit, d.h. die Veränderungen eines

Bézierpunktes verändern das ganze Segment. –  hoher Polynomgrad, d.h. bei komplexen Formen wird eine größere Zahl

von Bézier-Punkten benötigt. Mit jedem Bézier-Punkt erhöht sich der Grad um 1.

  Lösung: B-Spline-Kurven –  B-Spline-Kurven verwenden als Basisfunktionen B-Spline-Funktionen. –  günstige Eigenschaften:

•  Der Grad des Polynoms kann unabhängig von der Anzahl der Kontrollpunkte gewählt werden und

•  Kontrollpunkte bestimmen den Verlauf der Kurve nur in einem lokalen Bereich der gesamten Kurve.

2.  Boundary Representations 2.2. Freiformkurven und –flächen 2.2.5. B-Spline-Kurven

43

2.  Boundary Representations 2.2. Freiformkurven und –flächen 2.2.5. B-Spline-Kurven

  Eine B-Spline-Funktion der Ordnung k ist ein segmentweise definiertes Polynom vom Grad (k -1), das an den Segmentübergängen im allgemeinen Ck-2 stetig ist.

  Normalisierte B-Spline-Funktionen Nik der Ordnung k vom Grad k-1

lassen sich dann bei gegebenem Trägervektor T = (t0, t1, ..., tn+k) wie folgt definieren:

  Das heißt: B-Spline-Funktionen der Ordnung k werden aus B-Spline-Funktionen der Ordnung k-1 abgeleitet.

44

2.  Boundary Representations 2.2. Freiformkurven und –flächen 2.2.5. B-Spline-Kurven

B-Spline-Basisfunktionen vom Grad 0

Quelle: Stefan Lang, Skript zur Vorlesung Computerintensive Verfahren in der Statistik, Uni München, 2004

45

2.  Boundary Representations 2.2. Freiformkurven und –flächen 2.2.5. B-Spline-Kurven

B-Spline-Basisfunktionen vom Grad 1 und 2

Quelle: Stefan Lang, Skript zur Vorlesung Computerintensive Verfahren in der Statistik, Uni München, 2004

46

2.  Boundary Representations 2.2. Freiformkurven und –flächen 2.2.5. B-Spline-Kurven

  B-Spline:

  Konvexkombination der Kontrollpunkte Pi mit den B-Spline-Basisfunktionen Ni

  Allgemeines Parameterintervall: t ∈ [a,b]   Das Parameterintervall wird unterteilt in Abschnitte [t0,t1],

[t1,t2], …,[tn–1,tn] → Knotenvektor T = (t0,t1,t2,…,tn) (monoton steigend).

  Wir verwenden T = (0, 1, 2, …, n)   Uniforme Splines: Knoten äquidistant

47

2.  Boundary Representations 2.2. Freiformkurven und –flächen 2.2.5. B-Spline-Kurven

  Die „Mischfunktionen“ Ni haben einen endlichen Träger, d.h. im Beispiel wird der Punkt p(t) nur durch die Kontrollpunkte P0, P1, P2 beeinflusst

48

2.  Boundary Representations 2.2. Freiformkurven und –flächen 2.2.5. B-Spline-Kurven

  Beispiel: –  gegeben sind 6 Kontrollpunkte P0, ... , P5. Man erhält

die folgenden Segmente: •  Q3 gewichtet durch P0, P1, P2, P3 mit B0, B1, B2, B3 •  Q4 gewichtet durch P1, P2, P3, P4 mit B1, B2, B3, B4 •  Q5 gewichtet durch P2, P3, P4, P5 mit B2, B3, B4, B5

Quelle: G. Domnik, Uni Paderborn, Vorlesung Computergraphik

49

2.  Boundary Representations 2.2. Freiformkurven und –flächen 2.2.5. B-Spline-Kurven

  Eigenschaften vom B-Spline-Kurven   jeder Punkt Pi wird durch eine individuelle B-Spline-Basisfunktion gewichtet,

die nur in den Intervallen ti, ti+1, …, ti+k von Null verschieden ist. Daraus resultiert lokale Verformbarkeit der Kurve durch lokalen Einfluss eines Punktes.

  jedes Segment einer B-Spline-Kurve der Ordnung k liegt in der konvexen Hülle der dem Segment zugeordneten k aufeinanderfolgenden Stützpunkte.

  Endpunkt-Interpolation   Affine Invarianz   Das Kontrollpolygon ist eine stückweise lineare Approximation an die Kurve.

Je geringer der Grad, desto näher liegt die Kurve an dem Kontrollpolygon.   … (weiter in Computertgraphik II)

50

  Erweiterung des Kurvenansatzes auf Flächen –  gegeben: eine stückweise polynomiale Kurve F(u)

vom Grad n

–  gegeben: zweite stückweise polynomiale Kurve G(v) vom Grad m

2.  Boundary Representations 2.2. Freiformkurven und –flächen 2.2.6. Freiformflächen

51

  Tensorproduktfläche S(u, v) beschrieben durch:

  Interpretation als „Kurve von Kurven“   andere Notation:

2.  Boundary Representations 2.2. Freiformkurven und –flächen 2.2.6. Freiformflächen

52

  Abtasten der Oberfläche nach einem Gitternetz   Unterteilung der Fläche in Dreiecke

2.  Boundary Representations 2.2. Freiformkurven und –flächen 2.2.7. Umwandlung Freiformflächen in Polygonnetze

Quelle: Matthias Georgi, TU Darmstadt

53

  Vorteile von parametrischen Kurven und Flächen –  erlauben mehrere Werte für einen Wert von x oder y –  unendliche Anstiege können repräsentiert werden –  lokale Kontrolle –  interpolieren oder approximieren die Kontrollpunkte –  rechenzeiteffizient –  einfache interaktive Veränderbarkeit der Kurve (lokale Kontrolle) –  Transformationen durch Transformationen der Kontrollpunkte

einfach   Nachteile:

–  Algorithmen komplexer als bei Polygonnetzen –  kaum Hardware-Unterstützung

2.  Boundary Representations 2.2. Freiformkurven und –flächen 2.2.8. Zusammenfassung

54

lokal → Welt

Lokale Koordinaten

Modellierung der Geometrie

einzelner Objekte

Weltkoordinaten

Plazierung der Objekte

Plazierung der Lichtquellen

Plazierung der Kamera

Beleuchtungs- berechnung

Kamerakoordinaten

Entfernen verdeckter Rückseiten

Normalisierte Projektionskoordinaten

Clipping gegen Sichtkörper

(Normalisierte) Bildschirm- koordinaten

Rasterkoordinaten

Entfernen verdeckter Modellteile

Shading

Entfernen verdeckter Modellteile Tr

ansf

orm

atio

n in

Kam

erak

oord

inat

en

Viewing-Transformation

Proj

ektio

n

Rastertransformation

Rasterung

55

3.  Kameramodell

  virtuelle Kamera wird in Weltkoordinaten plaziert

  wichtig für nachfolgende Koordinatentransformationen – Weltkoordinaten → Kamerakoordinaten

benötigt Position und Blickrichtung der Kamera

– Kamerakoordinaten → folgende benötigen interne Kameraparameter

56

3.  Kameramodell

Quelle: Canon

Quelle: www.astroselbstbau.de/digitala_schnitt.jpg Quelle: http://demetrii.naos-group.info/images/hassi.jpg

57

3.  Kameramodell

  Reale Kamera als Orientierung und Metapher für den Viewing-Prozess.

  Parameter realer Kameras: –  Position –  Blickrichtung –  Brennweite –  Tiefenschärfe –  Art des Objektivs (Weitwinkel, Tele) bestimmt den

Öffnungswinkel → Projektionen sind teilweise nicht planar.

  Parameter der entstehenden Bilder: –  Größe (Breite, Höhe, bzw. Breite und Seitenverhältnis) –  Typische Werte für Seitenverhältnis: 4:3 (Fernsehen), 16:9 –  Auflösung

58

3.  Kameramodell

  In der Computergraphik wird ein vereinfachtes Kameramodell genutzt: –  Position – Punkt (Koordinaten in 3D) –  Blickrichtung – Vektor (Koordinaten in 3D)

  Bildspezifikation: –  Größe des Viewports in der Sichtebene (Pixel)

  Zusätzlich: –  Schnittebenen, die die dargestellte Szene auf solche Objekte

begrenzen, die hinter einer ersten Ebene (near) und vor einer zweiten (far) liegen.

•  Spezifikation als Abstände von der Kamera in Blickrichtung. •  Objekte, die eine Ebene schneiden, müssen geclippt werden.

59

3.  Kameramodell

  Orientierung der Kamera durch zwei Angaben spezifiziert: –  Blickrichtung

•  Angabe eines Zielpunktes, •  Berechnung der Richtung aus Zielpunkt – Position •  Richtung, in die die Kamera „schaut“ •  Spezifikation durch einen Vektor in 3D

–  up vector •  bestimmt die Rotation der Kamera um die Blickrichtung •  Projektion des up vectors muß in der Ebene senkrecht zur

Blickrichtung liegen, d. h. Blickrichtung und up vector dürfen nicht kollinear sein

60

3.  Kameramodell

  Öffnungswinkel der Kamera –  analog zur Auswahl des Objektivs beim Photographieren –  bestimmt die Stärke der perspektivischen Verzerrung

•  keine Verzerrung – Parallelprojektion •  sehr starke Verzerrung – Weitwinkellinsen

  eigentlich zwei Öffnungswinkel im view frustum: horizontal und vertikal

  sollten übereinstimmen (Spezifikation eines Winkels, der andere kann aus Seitenverhältnis berechnet werden)

61

3.  Kameramodell

  Zusammenhang zwischen Öffnungswinkel und Brennweite:

Quelle: http://web.canon.jp/Imaging/enjoydslr/p_2_013.html

62

3.  Kameramodell

  Der Sichtkörper –  engl.: „view volume“ –  Sichtkörper enthält alles, was vom COP (oder DOP) aus sichtbar

ist (= was die Kamera sieht) –  normalerweise ein Kreiskegel → teure Berechnungen,

insbesondere beim Clipping von Objekten gegen eine Kegeloberfläche

–  Approximation durch Pyramide(nstumpf) –  die Ausgabe ist sowieso rechteckig –  Clipping durch Lösen eines linearen Gleichungssystems –  Pyramide(nstumpf) = view frustum

63

3.  Kameramodell

  Blickrichtung der Kamera: z-Achse   Sichtebene: xy-Ebene   Warum die Schnittebenen?

–  Near-Ebene verhindert, dass Objekte die sehr nahe an der Kamera sind, alles verdecken und das Objekte hinter der Kamera berücksichtigt werden.

–  Far-Plane verhindert, dass weit entfernte und damit im Bild sehr kleine Objekte Rechenaufwand beanspruchen.

64

lokal → Welt

Lokale Koordinaten

Modellierung der Geometrie

einzelner Objekte

Weltkoordinaten

Plazierung der Objekte

Plazierung der Lichtquellen

Plazierung der Kamera

Beleuchtungs- berechnung

Kamerakoordinaten

Entfernen verdeckter Rückseiten

Normalisierte Projektionskoordinaten

Clipping gegen Sichtkörper

(Normalisierte) Bildschirm- koordinaten

Rasterkoordinaten

Entfernen verdeckter Modellteile

Shading

Entfernen verdeckter Modellteile Tr

ansf

orm

atio

n in

Kam

erak

oord

inat

en

Viewing-Transformation

Proj

ektio

n

Rastertransformation

Rasterung

65

  unterschiedliche Charakteristika durch verschiedene Modelle

  Berechnung der einfallenden Lichtintensität/-farbe in Abhängigkeit von Entfernung und Einfallswinkel

4.  Lichtquellen

66

4.  Lichtquellen 4.1. Ambientes Licht

  Grundhelligkeit der Szene   entsteht durch Mehrfachreflexion und Streuung des

Lichts   unabhängig vom Material

67

4.  Lichtquellen 4.2. Punktlichtquellen

  strahlt in alle Richtungen gleichmäßig   harte Schatten   keine Entsprechung in der Realität, Annahme:

Lichtquelle an endlicher Position aber unendlich klein

  Attenuation: Intensität nimmt quadratisch mit der Entfernung ab

68

4.  Lichtquellen 4.3. Gerichtete Lichtquellen

  directional light   Position im Unendlichen   paralleler Lichteinfall   keine Attenuation, d.h.

konstante Intensität I L = I 0

d I 0

69

4.  Lichtquellen 4.4. Spotlight

  kegelförmig begrenzte Punktlichtquelle   Intensität nimmt ab mit

–  Entfernung von der Lichtquelle –  Entfernung von der Mittelachse des Kegels

  Modellierung eines Scheinwerfers   harte Schatten (da ähnliche Eigenschaften

wie PLQ)

70

4.  Lichtquellen 4.5. Flächige Lichtquelle

  genau begrenzte Fläche strahlt Licht parallel in eine Richtung ab

  „Lichtstrahlen“ parallel   Attenuation   erzeugt weiche Schatten

71

  Punktförmige Lichtquellen erzeugen harte Kontraste. Objekte sind entweder im Schatten oder im Licht; keine weichen Übergänge.

  Flächenhafte Lichtquellen führen zu weicheren Übergängen. Objekte können in einem Halbschatten sein. In der CG werden sie durch mehrere punktförmige Lichtquellen angenähert.

Quelle: Angel (2000)

4.  Lichtquellen 4.6. Punktförmige und flächenhafte Lichtquellen

72

  Abschwächung (attenuation) –  Intensität des Lichtes wird mit wachsender Entfernung zur

Lichtquelle kleiner (physikalisch: I ~ 1/d²) –  In der CG hat sich eine geringere Abschwächung

(I ~ 1/(a+bd+cd²)) als günstig erwiesen. a, b und c müssen geeignet gewählt werden. Oft: a=0, b =1, c=0)

  Farbe –  Lichtquellen haben eine Farbe. Diese wird als RGB-Tripel

angegeben. –  Verhalten der Lichtstrahlen hängt von der Wellenlänge ab. –  Annäherung: betrachten nur R-, G- und B-Anteile.

4.  Lichtquellen 4.7. Weiter Aspekte

73

4.  Lichtquellen 4.8. Zusammenfassung

  häufig verwendete Approximation: Punktlichtquelle: –  einfach zu berechnen –  Limitationen gegenüber realen Lichtquellen

  alle anderen Lichtquellen müßten eigentlich über globale Modelle simuliert werden –  Schattenwurf –  Interaktion miteinander

  häufig Annäherung möglich, dann aber ohne reale „Effekte“

  Positionierung und Bestimmung weiterer Parameter der Lichtquellen (Orientierung, etc.) erfolgen in Weltkoordinaten

74

5.  Zusammenfassung

  Modellierung als Grundlage für die Bilderzeugung   Darstellung der Realität (oder eines Konzeptes) im Computer derart, daß

die Daten zur Bilderzeugung genutzt werden können   Geometrische Modelle

–  Boundary Representations –  Volumenmodelle –  Geometrie und Topologie

  Kameramodell   Lichtquellen   Weitere Bestandteile im Modell werden in Computergraphik II behandelt:

–  Animation –  Texturen und Materialien –  Physikalische Eigenschaften der Objekte –  …

75

Video: Lifted

  2006 Vorfilm vor „Ratatouille“   Enthält Soundeffekte aus

Starwars und MacOS X

  Oscar-Nominierung 2007