• Keine Ergebnisse gefunden

Computergraphik Grundlagen

N/A
N/A
Protected

Academic year: 2022

Aktie "Computergraphik Grundlagen"

Copied!
75
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Computergraphik Grundlagen

VI. Geometrische Modellierung

Prof. Stefan Schlechtweg Hochschule Anhalt Fachbereich Informatik

(2)

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

Transformation in Kamerakoordinaten

Viewing-Transformation

Projektion

Rastertransformation Rasterung

(4)

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)

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)

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)

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)

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)

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)

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)

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)

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 R

3

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)

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)

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)

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)

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)

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)

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)

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)

–  Bin(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)

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)

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)

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)

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)

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)

46

2.  Boundary Representations

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

  B-Spline:

  Konvexkombination der Kontrollpunkte P

i

mit den B- Spline-Basisfunktionen N

i

  Allgemeines Parameterintervall: t ∈ [a,b]

  Das Parameterintervall wird unterteilt in Abschnitte [t

0

,t

1

], [t

1

,t

2

], …,[t

n–1

,t

n

] → Knotenvektor

T = (t

0

,t

1

,t

2

,…,t

n

) (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)

48

2.  Boundary Representations

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

  Beispiel:

–  gegeben sind 6 Kontrollpunkte P

0

, ... , P

5

. 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)

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)

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)

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

Transformation in Kamerakoordinaten

Viewing-Transformation

Projektion

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)

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)

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)

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)

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)

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

Transformation in Kamerakoordinaten

Viewing-Transformation

Projektion

Rastertransformation Rasterung

(65)

  unterschiedliche Charakteristika durch verschiedene Modelle

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

4. Lichtquellen

(66)

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)

68

4.  Lichtquellen

4.3. Gerichtete Lichtquellen

  directional light

  Position im Unendlichen

  paralleler Lichteinfall

  keine Attenuation, d.h.

konstante Intensität

IL=I0 d

I0

(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)

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)

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)

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

Referenzen

ÄHNLICHE DOKUMENTE

a) Zeige, dass und sich schneiden und bestimme den Schnittpunkt. b) Bestimme eine Parameterdarstellung der Ebene durch die beiden Geraden.. Bestimme außerdem

[r]