Erinnerung

Werbung
Erinnerung

Arbeitsschritte der Computergrafik
Modellierung
Animation
Generierung
Rendering
Ausgabemedium
Modellierung
Szenenbeschreibungen
 Liste aller Objekte zusammen mit den
zugehörigen geometrischen Transformationen

Hierarchische Szenenbeschreibung
sehr oft Baumstruktur (oder gerichteter,
azyklischer Graph: Szenengraph, scene
graph)
Wird von vielen Graphik-APIs benutzt, wie Open
Inventor, Java3D, VRML, OpenGL | Performer,
OpenSceneGraph
Modellierung
Hierarchische Szenenbeschreibung
Die Wurzel beschreibt
die gesamte Szene.
Innere Knoten sind z.B.
Transformationsknoten,
Gruppierungsknoten.
Blätter des Baumes
sind Geometrieknoten,
Lichter.
Modellierung
Hierarchische Szenenbeschreibung
Die Gesamttransformation
für ein Blatt ergibt sich aus
der Multiplikation der
Transformationsmatrizen
auf dem Weg von der
Wurzel zu diesem
Blatt
Modellierung
Hierarchische Szenenbeschreibung
Beispiel Auto
Auto
Transf. Transf. Transf. Transf. Transf.
Geom. Geom.
Rad
Rad
Geom. Geom.
Rad
Rad
Geom.
Karosserie
Modellierung
Hierarchische Szenenbeschreibung
Modellierung
Java3D:
http://java3d.dev.java.net/
Modellierung
Hierarchische Szenenbeschreibung
Objekthierarchie Java3D
SceneGraphObject
Node
Leaf
..
Background
Fog
Light
Shape3D
Sound
...
Modellierung
Solid modeling mit constructive solid
geometry (CSG)
Modellierung mit Hilfe der boole´schen
Operatoren A ∪ B,A∩ B,A∖B
Genauer: regularisierte (regularized) boole
´sche Operationen
deren Ergebnis nur Volumina sein dürfen.
(was gibt es sonst noch?)
Modellierung
Solid modeling mit constructive solid
geometry (CSG)
3dimensionale, volumetrische Objekte
werden mit diesen Operatoren verknüpft.
->
Repräsentation und
Konstruktionsbeschreibung
Modellierung
Solid modeling, CSG
Macht dort Sinn,
wo aus vorgefertigten
Teilen andere
zusammengesetzt
werden.
Keine gute generische
Konstruktionsmethode.
Modellierung
Solid modeling, CSG
Datenstruktur:
Baum mit dreidim.
Objekten als Blätter,
Operationen als
innere Knoten.
Wurzel beschreibt
Gesamtobjekt
Modellierung
Solid modeling, CSG
Zur Darstellung können
z.B. Dreiecksnetze
benutzt werden.
Für jede Operation muß
das Dreiecksnetz
geändert werden.
Modellierung
Solid modeling, b-reps
Viele CSG-Systeme benutzen intern sog.
boundary representations (b-reps).
Beschreibung über Ecken, Kanten, Flächen
Polyeder(Polyhedron): Ein Volumen, das
durch Polygone begrenzt ist, deren Kanten
jeweils Teil einer geraden Anzahl an
Polygonen sind.
Modellierung
Solid modeling, b-reps
Eulers Formel: Sei V die Anzahl der Ecken
eines Polyeders, E die Anzahl der Kanten
und F die Anzahl der Flächen. Dann gilt:
V-E+F=2
Siehe Würfel: V=8, E=12, F=6
Tetraeder: V=4, E=6, F=4
Modellierung
Solid modeling mit sweeps
Einfache, auch 2dim.
Objekte werden durch
den Raum bewegt und
das dabei umschlossene
Volumen ergibt das zu
modellierende Objekt.
Modellierung
Volumina
Einige bildgebende Verfahren (CT, MR,
…) produzieren Meßwerte in einem
Volumen -> Volumendatensatz
Modellierung
Datenstrukturen für Volumina
Voxel:
Der gesamte Raum wird in einzelne,
kubische Elemente (Voxel=volume element,
wie: pixel=picture element) unterteilt.
Unterteilungstiefe ist abhängig von
gewünschter Genauigkeit.
Voxel werden als zu einem Objekt gehörig
oder nicht zugehörig gekennzeichnet.
CSG-Operationen->Operationen auf Voxeln
Modellierung
Datenstrukturen für Volumina
 Voxel:
Modellierung
Datenstrukturen für Volumina
 Octree:
Der gesamte, würfelförmige Raum wird
wird rekursiv in 8 kongruente Unterwürfel
aufgeteilt. Oktanten werden als einem
Objekt zugehörig oder nicht zugehörig
gekennzeichnet.
Adaptive Datenstruktur.
Modellierung
Datenstrukturen für Volumina
 Octree:
Modellierung
Datenstrukturen für Volumina
 Octree:
Baumstruktur, 2dimensionales Beispiel
Modellierung
Datenstrukturen für Volumina
 Octree:
Weitere Anwendung z.B. in der effizienten
Rekonstruktion von Oberflächen aus
Volumendaten beim Marching Cubes –
Verfahren oder für die schnelle Bestimmung
des Schnittes eines (Seh-) Strahles mit
Szeneobjekten beim Raytracing.
Übung

Informieren Sie sich bei
http://java3d.dev.java.net/
über Java3D
1.
Installieren Sie Java3D (soweit nicht schon
vorhanden (P:)) und übersetzen und starten
Sie das HelloJava3D/HelloUniverse Programm
(Installationshinweise finden Sie auf der
Webseite der Veranstaltung)
1.
Ändern Sie das Programm so, daß der Würfel
sich um die x-Achse dreht (statt y-Achse). Tip:
Benutzen Sie dazu eine Methode des
Herunterladen