Teil 1: Modellierung Einleitung 3D Szene – Inhalt

Teil 1: Modellierung
Objekte
und ihre Beschreibung
Teil 1: Modellierung
Helwig Hauser
Einleitung
Computergraphik: 3D sehr wichtig
u photo-realistic rendering
u Computer-Animation, Modellierung
u Visualisierung, Virtual Reality
Ansatz:
u per rendering wird eine 3D-Szene
dargestellt
Frage: Beschreibung der Szene?
Teil 1: Modellierung
Helwig Hauser
3D Szene – Inhalt
Virtuelle Welt:
u Objekte als Abbild wirklicher Objekte:
Architektur, Objekte des tägl. Lebens, …
u Oberflächen: eben, uneben, fraktal
u Volumensobjekte: innere Struktur
u real-3D objects: Fraktale wie Wolken, …
Aber wie beschreiben?
Helwig Hauser
Teil 1: Modellierung
1
3D Szene – Beschreibung
Modellierung:
u Virtuelle 3D Welt – soll dargestellt werden
u Szene-Beschreibung (Graph-Form)
u Teile:
t
t
t
t
t
Objekte – 0D, 1D, 2D, 3D
Objekt-Attribute
Transformationen
Beleuchtung
Kamera
Teil 1: Modellierung
Helwig Hauser
In der Szene: Objekte
Einfache Objekte
u Primitiva: Punkt (0D), Liniensegment (1D),
Bézier-Kurve (1D), Dreieck (2D),
Patch (2D), Voxel (3D), …
Komplexe Objekte: z.B.:
u Sammel-Objekte: Poly-Linie (1D),
Mesh (2D), Volumsdatensatz (3D), …
u Transformierte Objekte: sweeps, …
u Kombinierte Objekte: CSG, …
Helwig Hauser
Teil 1: Modellierung
Objekte – Überblick
Basis: Punkte, Liniensegmente, etc.
Diskrete Approximation: meshes
Erweiterung: terrains, fraktale Gebirge
Modellierung durch sweeps
Modellierung durch soft objects
Modellierung: Partikelsysteme
Helwig Hauser
Teil 1: Modellierung
2
Basis: Punkte im 3D
Start im 3D: Punkt:
u Darstellung: vektoriell → x = (x1, x2, x3)T
Unterschied Punkt ⇔ Vektor
u Vektor = translationsinvariant
u Vektor = (End-)Punkt q – (Start-)Punkt p
= q – p = (q1 – p1, q2 – p2, q3 – p3)T
=v
= (v1, v2, v3)T
u Liniensegment: durch p und q
oder p und v gegeben
Teil 1: Modellierung
Helwig Hauser
WH (CGR3): Meshes
Basis:
u Dreieck, Viereck
u Infos: Eckpunkte, Normale(n), Nachbarn
Sehr oft in Verwendung: Meshes:
u Liste von Dreiecken bzw. ∆-strips
u BRep (WH): Punkte → Kanten → Flächen
u Winged-Edge DS (WH): Kante++
Aspekte: Speicherplatz, Berechnungen
Teil 1: Modellierung
Helwig Hauser
Datenstruktur: ∆-strip
13 Punkte:
11 Dreiecke
p2
p9
p11
p7 p5
p1
p3
p4
p13
p12
Helwig Hauser
p10
p8
p6
Teil 1: Modellierung
3
Quadrilateral Mesh
5*4 Punkte:
12 Vierecke!
p11
p12
p13
p14
p21
p22
p15
p31
p32
p23
p33
p24
p25
p35
p41
p42
p43
p34
p44 p
45
Teil 1: Modellierung
Helwig Hauser
BRep: Beispiel
Mesh:
u Dreieck S1
u Viereck S2
6 Kanten:
u 1 gemeinsam
5 Eckpunkte
u 2 gemeinsam
Helwig Hauser
Teil 1: Modellierung
Objekte – Überblick
Basis: Punkte, Liniensegmente, etc.
Diskrete Approximation: meshes
Erweiterung: terrains, fraktale Gebirge
Modellierung durch sweeps
Modellierung durch soft objects
Modellierung: Partikelsysteme
Helwig Hauser
Teil 1: Modellierung
4
Terrains
Definition:
u Basis-Gitter (2D),
pro Gitter-Punkt: 1 Höhenwert
Mögliche Erweiterung:
u Farbinformationen
u Texturen
Teil 1: Modellierung
Helwig Hauser
VRML-Beispiel: terrain (1)
geometry ElevationGrid {
xDimension 5
zDimension 5
xSpacing 2
zSpacing 2
height [ 2, 2, 3, 2, 2,
1, 1, 2, 1, 1,
1, 1, 2, 1, 1,
2, 2, 3, 2, 2,
2, 2, 3, 2, 2 ]
}
Teil 1: Modellierung
Helwig Hauser
VRML-Beispiel: terrain (2)
5*5
Terrain
Helwig Hauser
Teil 1: Modellierung
5
Fraktale Gebirge (1)
1D-Beispiel: Koch-Kurve
u Initiator: Startpolygon
u Generator: Ersetzungsregel
Fraktales Gebirge:
u Generator + Zufallszahlen
u Initiator: 1 Dreieck oder 2
u Generator:
jede Kante i. d. Mitte teilen,
Mittelpunkt per Zufallszahl verschieben
Teil 1: Modellierung
Helwig Hauser
Fraktales Gebirge (2)
Pro Schritt:
u 1 Dreieck →
4 Dreiecke
Stopp wenn:
u Unterteilung fein
genug
Helwig Hauser
Teil 1: Modellierung
Beispiel: Fraktales Gebirge
Helwig Hauser
Teil 1: Modellierung
6
Objekte – Überblick
Basis: Punkte, Liniensegmente, etc.
Diskrete Approximation: meshes
Erweiterung: terrains, fraktale Gebirge
Modellierung durch sweeps
Modellierung durch soft objects
Modellierung: Partikelsysteme
Teil 1: Modellierung
Helwig Hauser
Sweeps
Idee:
u 2D Kontur + Transformation
Formen:
u
u
u
u
u
translational sweep
rotational sweep
conical sweep
spherical sweep
general cylinder
Teil 1: Modellierung
Helwig Hauser
Translational Sweep
Definition:
u 2D-Kontur + Translation entlang Pfad
Helwig Hauser
Teil 1: Modellierung
7
Rotational Sweep
Definition:
u 2D-Kontur + Rotation um Achse
Teil 1: Modellierung
Helwig Hauser
Conical Sweep
Definition:
u 2D-Kontur + Verjüngung zu Punkt hin
Teil 1: Modellierung
Helwig Hauser
Spherical Sweep
Definition:
u Kugel (o.Ä.) + sweep entlang Pfad
Helwig Hauser
Teil 1: Modellierung
8
General Cylinder
Definition:
u 2 2D-Konturen + Verbindung dazwischen
Teil 1: Modellierung
Helwig Hauser
Sweeps – Repräsenation
Idee = nur Modellierung —
Analytische Form:
u abhängig von Defintion (evtl. nicht-trivial)
u abhängig von notwendigen Operationen
Approximation:
u Mesh = tesselation = Zerteilung in kleine
Flächenteile → Approximation durch ∆
Helwig Hauser
Teil 1: Modellierung
Objekte – Überblick
Basis: Punkte, Liniensegmente, etc.
Diskrete Approximation: meshes
Erweiterung: terrains, fraktale Gebirge
Modellierung durch sweeps
Modellierung durch soft objects
Modellierung: Partikelsysteme
Helwig Hauser
Teil 1: Modellierung
9
Soft Objects (1)
Definition:
u Schlüsselpunkte,
Einflußfunktion
sowie Iso-Wert
→ Iso-Fläche
Schlüsselpunkt
Soft Object
Einflußradius
Teil 1: Modellierung
Helwig Hauser
Soft Objects (2)
C (r ) = 2
C(r)
magic
R r
r3
r2
− 3 2 +1
3
R
R
oder
r6
r4
r2
+ b 4 + c 2 +1
6
R
R
R
a = −0.4 b = 1.8 c = −2.4
C (r ) = a
Einfluß-Funktion fällt mit Entfernung r
Iso-Wert magic definiert Objekt
Helwig Hauser
Teil 1: Modellierung
Beispiel: Soft Objects
Repräsentation? Analytisch? Dreiecke?
Helwig Hauser
Teil 1: Modellierung
10
Objekte – Überblick
Basis: Punkte, Liniensegmente, etc.
Diskrete Approximation: meshes
Erweiterung: terrains, fraktale Gebirge
Modellierung durch sweeps
Modellierung durch soft objects
Modellierung: Partikelsysteme
Teil 1: Modellierung
Helwig Hauser
Partikelsysteme (1)
Definition:
u Meist große Menge von Punkten
u charakteristisches Aussehen pro Partikel
u Verhalten von Partikel
Anwendungen:
u Feuer, Rauch, etc.
u Partikel-sweeps: natürliche Objekte
Teil 1: Modellierung
Helwig Hauser
Partikelsysteme (2)
Pro Partikel:
u Eigenschaften:
t Geometrische Repräsentation (einfach!)
t Farbe, Transparenz
u Bewegung:
t Richtung, Geschwindigkeit
t Lebensdauer
Global:
u Anwendung von Zufallszahlen
Helwig Hauser
Teil 1: Modellierung
11
Partikelsysteme: Ablauf
Pseudo-Code:
u
u
u
u
Wenn Lebensdauer abgelaufen: löschen,
Sonst Partikeldaten auf neuen Stand.
Evtl. neue Partikel erzeugen
Alle aktuellen Partikel darstellen
Auch hierarchisch möglich:
u Wald-System → Baum-System → Blätter
Teil 1: Modellierung
Helwig Hauser
Beispiel: Partikelsysteme
Teil 1: Modellierung
Helwig Hauser
WH (CGR3): CSG
Per boolschen Operationen:
Primitiva → komplexe Objekte:
u logisches UND2:
u logisches ODER2:
u MINUS2:
A-B
Helwig Hauser
Durchschnitt
Vereinigung
„Wegschneiden“
A∩B
A∪B
Teil 1: Modellierung
12