PowerPoint-Präsentation

Werbung
Seminar zur Geoinformation
Implementation von 3D Objekten
Referent:
Betreuer:
Alexander Linke
Dr. rer. nat. Thomas H. Kolbe
Motivation
Anwendungen für die Implementation 3 dimensionaler Objekte:
1.
Robotertechnik
2.
Simulation physikalischer Mechanismen
3.
Immersive Systeme
4.
CAD
5.
GIS
Anforderungen an Objekte
Vorraussetzungen:
1.
Unterscheidung zwischen Innen und Aussen
2.
Oberflächeninformationen
Darstellungsmöglichkeiten
Eine geeignete Repräsentationsmethode muss den folgenden
Kriterien genügen:
1.
Diversität
Es müssen viele Klassen von Objekten dargestellt
werden können
2.
Eindeutigkeit
Eine Darstellung darf nur auf einen Körper führen
3.
Genauigkeit
Vermeidung von Approximationen
4.
Sicherheit
Keine Möglichkeit sogenannte invalid solids zu
konstruieren
Darstellungsmöglichkeiten
5.
Kompaktheit und Effizienz
6.
Algorithmen
Implementierung effizienter Algorithmen soll
ermöglicht sein
Erzeugung eines Modells, welche alle diese Eigenschaften in
Sich vereinigt, ist nicht möglich.
Kompromiss erforderlich
Arbeiten mit dreidimensionalen Objekten
Operatoren – Regularized Boolean Set Operations
-
Dienen zur Erstellung neuer solids aus bereits vorhandenen
-
3D Eqivalent zur Mengenlehre
-
Regularized Boolean Set Operators liefern als Ergebnis immer einen
valid solid
-
3 Operationen:
-Vereinigung (Union)
-Differenz (Difference)
-Schnittmenge (Intersection)
Modelling Systems
Primitive Instancing
Sweep Representations
Boundary Representations
Constructive Solid Geometry
Modelling Systems
Primitive Instancing
Funktionsweise:
Modelliert wird mit Hilfe einfacher 3D Formen - Primitives
Komplexere Körper werden mit Hilfe von Parametern realisiert
Bsp.:
Zahnrad
Primitives:
Zylinderscheibe
Parameter:
Dicke
Durchmesser
Durchmesser Drehpunkt
Drehpunkt
Anzahl der Zähne
Modelling Systems
Sweep Representations
Funktionsweise:
Eine 2 dimensionale Fläche wird entlang einer Trajektorie geführt.
Der Überstrichene Raum ergibt den Körper
Bsp.:
Rechteck
Lineare Bewegung in Richtung der Flächennormalen ergibt einen
Quader
Rotation um eine Kante der Ebene ergibt einen Zylinder
Modelling Systems
Boundary Representations
Funktionsweise:
B-Reps beschreiben Objekte über ihre Oberflächengrenzen.
Die Primitive sind dabei:
•
Punkte (vertices)
•
Kanten (edeges)
•
Flächen (surfaces)
Modelling Systems
z
Kante (P6,P7)
y
Fläche (P1,P2,P3,P4)
X
Punkt (x,y,z)
Modelling Systems
Möglichkeit der Speicherung
Flächen und Kanten werden als Funktion ihrer Punkte abgelegt.
Um Wiederholung der Punktkoordinaten zu vermeiden, werden diese in einer Liste
abgelegt und die Punkte entsprechend indiziert.
Modelling Systems
Constructive Solid Geometry
Funktionsweise:
Modellierung von Körpern mit Hilfe von Primitives
Die Primitives sind valid solids, geometrisch einfache Körper,
Welche über Parameter für:

Translation

Rotation

Ausdehnung

Skalierung
In eine erwünschte Form gebracht werden.
Modelling Systems
Manche Systeme erlauben auch Halbräume neben valid solids.
Vorteil:
Vermeidung von redundanten Informationen
Nachteil: Das sich ergebende Objekt muss nicht mehr unbedingt
ein valid solid sein
Möglichkeit der Speicherung
Objekt wird in einem sogenannten CSG-Tree abgespeichert
Innere Knoten:
Regularized Boolean Set Operators, Form-Parameter
Blätter:
simple primitives
Ausgabe des Objekts
Kombination der Eigenschaften
der Blätter führt auf die EigenSchaften der Wurzel
Vergleich zwischen CSG und B - Rep
Kriterien für eine geeignete Repräsentationsmethode
1.
Diversität
2.
Eindeutigkeit
3.
Genauigkeit
4.
Sicherheit
5.
Kompaktheit und Effizienz
6.
Algorithmen
Vergleich zwischen CSG und B - Rep
1.
2.
Diversität
a)
B-Reps können eine weite Auswahl von Objekten darstellen.
Die Auswahl kann jedoch durch Ausschliessen von curved surfaces
erheblich reduziert werden
b)
CSG kann eine grosse Bandbreite Objekten darstellen
Eindeutigkeit
a)
B-Reps teilen Objekte in einzelne Tiles auf. Daher sind sie nicht
eindeutig
b)
CSG ermöglicht ebenfalls keine eindeutige Darstellung.
Es gibt immer mehrere Wege, ein Objekt zusammenzusetzen
Vergleich zwischen CSG und B - Rep
3.
Genauigkeit
a)
B-Reps können geschwungene Oberflächen (curved surfaces) nur
approximieren.

b)
4.
Genaue Darstellung erfordert hohen Rechenaufwand
CSG ermöglicht eine akkurate Darstellung
Sicherheit
a)
B-Reps sind für eine Validierung denkbar schlecht geeignet.


b)
Inkonsistenz der Datenstruktur der Punkte, Kanten
und Flächen
Flächen und Kannten können sich schneiden
CSG ist einfach zu validieren
Vergleich zwischen CSG und B - Rep
4.
Sicherheit
a)
b)
B-Reps sind für eine Validierung denkbar schlecht geeignet.

Mögliche Inkonsistenz der Datenstruktur der Punkte,
Kanten und Flächen

Flächen und Kannten können sich schneiden
CSG ist einfach zu validieren

primitives sin valid solids

regularized boolean set operators erzeugen nur
valid solids

nur die Syntax des CSG-Trees muss überprüft werden
Vergleich zwischen CSG und B - Rep
5.
Kompaktheit und Effizienz
Unterscheidung zwischen berechneten (B-Rep) und nicht berechneten
(CSG)Modellen.
Unberechnete Modelle enthalten noch auszuwertende Informationen

Berechnung vor der Durchführung einer Operation
Berechnete Modelle sind bereits nach Durchführung einer Operation voll
ausgewertet
a)
B-Reps können können sofort auf alle Informationen zugreifen
Manche Operationen dauern jedoch erheblich länger (Bsp.:
Punkt innerhalb Körper ?)
b)
Bei CSG muss der gesamte Tree bei jeder Berechnnung voll
durchlaufen und ausgewertet werden.

Boolean Operations und Transformationen
können schnell aufgenommen werden
Vergleich zwischen CSG und B - Rep
6.
Algorithmen
Sowohl für B-Reps als auch für CSG existieren effiziente Algorithmen um
eine Darstellung von so kodierten Objekten zu erzeugen.
Überführung der Modelle
Constructive Solid Geometry
Nicht möglich !
Boundary Representations
Überführung der Modelle
Umwandlung eines CSG Objekts in ein B-Rep Objekt
Umwandlung erfolgt über die sukzessive Umwandlung der in den Blättern des
CSG-Trees gespeicherten Primitives in Polyheder.

Koordinaten der Punkte für das B-Rep Objekt sind in Form
der die Primitives definierenden Parameter gespeichert.

Man erhält dann die Punkte, Kannten und Flächen.
Umwandlung eines B-Reps in ein CSG Objekt ist nicht möglich.

CSG ist nicht eindeutig, ein Algorithmus hat keine
Möglichkeit festzustellen, welche Anordnung die
Richtige ist
Überführung der Modelle
Beispiel für die mangelnde Eindeutigkeit eines CSG Modells
Berechnung von Boolean Set Operations
1.
Hintergrund
Ray Tracing
Normalerweise angewandt für visible surface Operationen
Vorgehenseise:
-Wählen eines Projektionszentrums
-zwischen Bild und P-Zentrum wird ein Gitter
geschoben, Anzahl Maschen entspricht Anzahl
Pixel
Für jedes Pixel wird nun eine Gerade in Parameterform vom P-Zentrum in und
durch das Bild gestreckt.
Wird ein Objekt geschnitten, wird der Wert des Faktors t der Geradengleichung
registriert.

Man erhält 3D Informationen in 1D Schreibweise (entlang der Geraden)
Berechnung von Boolean Set Operations
Berechnung von Boolean Set Operations mittels Ray Tracing Methode
Zum ersten Mal eingesetzt von Goldstein und Nagel
Funktionsweise:
-Aus einfachen Objekten per Boolean Set Operative produzierte
Kombinationen werden ray traced.
-Man erhält für jedes Objekt Werte für t für den Ein- und Austritt
des Strahls. Jeder t Wert definiert den Beginn einer Strecke, in
der der Strahl entweder innerhalb oder ausserhalb des Objekts
ist.
-Für jeden Strahl erfolgt einzeln die Berechnung der Boolean
Set Operatives auf dem 1 D Strahl.
-Eine Kombination von Objekten kann so in eine Überlagerung
der Strecken umgewandelt werden, die der Strahl im Inneren
der Objekte durchläuft
Berechnung von Boolean Set Operations
Kombination von Ray – Objekt Streckenlisten:
Links
Rechts
t
t
L vereinigt mit R
t
t
t
t
Berechnung von Boolean Set Operations
Der Algorithmus durchwandert die CSG Hierarchie für jeden Strahl und wertet dabei die
Schnittpunkt Knoten aus (ergeben sich aus den für t registrierten Werten)
Funktion CSG Combine:
-zwei Schnittpunktlisten, die nach aufsteigenden Werten
für t geordnet sind
-merging der Listen indem der Schnittpunktknoten mit
dem nächst grösseren Wert für t herausgenommen wird.
-der Status des Strahls wird (innen – aussen) wird durch
Flags gesetzt
-ob die Strecke an dem Schnittpunkt in dem combined
Object verläuft wird durch eine Verknüpfungstabelle
bestimmt.
Berechnung von Boolean Set Operations
Verknüpfungstabelle
Links
Innen
Innen
aussen
aussen
Rechts
innen
aussen
innen
aussen


innen
innen
innen
aussen
innen
aussen
aussen
aussen
aussen
innen
aussen
aussen
Danke für ihre Aufmerksamkeit
Herunterladen