seminar zur geoinformation implementation von 3d objekten referent:alexander linke betreuer:dr. rer....
TRANSCRIPT
Seminar zur Geoinformation
Implementation von 3D Objekten
Referent: Alexander Linke
Betreuer: 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 folgendenKriterien 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 zukonstruieren
5. Kompaktheit und Effizienz
6. Algorithmen Implementierung effizienter Algorithmen sollermöglicht sein
Darstellungsmöglichkeiten
Erzeugung eines Modells, welche alle diese Eigenschaften inSich 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 einenvalid solid
- 3 Operationen: -Vereinigung (Union)-Differenz (Difference)-Schnittmenge (Intersection)
Modelling Systems
Primitive Instancing
Constructive Solid Geometry
Boundary Representations
Sweep Representations
Primitive Instancing
Modelling Systems
Funktionsweise: Modelliert wird mit Hilfe einfacher 3D Formen - Primitives
Komplexere Körper werden mit Hilfe von Parametern realisiert
Bsp.: Zahnrad Primitives: Zylinderscheibe
Parameter: DickeDurchmesserDurchmesser DrehpunktDrehpunktAnzahl der Zähne
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 einenQuader
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
Modelling Systems
X
y
z
Punkt (x,y,z)
Kante (P6,P7)
Fläche (P1,P2,P3,P4)
Möglichkeit der Speicherung
Flächen und Kanten werden als Funktion ihrer Punkte abgelegt.
Um Wiederholung der Punktkoordinaten zu vermeiden, werden diese in einer Listeabgelegt und die Punkte entsprechend indiziert.
Modelling Systems
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 unbedingtein 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 Eigenschaftender Blätter führt auf die Eigen-Schaften 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. Diversität
a) B-Reps können eine weite Auswahl von Objekten darstellen.Die Auswahl kann jedoch durch Ausschliessen von curved surfaceserheblich reduziert werden
b) CSG kann eine grosse Bandbreite Objekten darstellen
2. Eindeutigkeit
a) B-Reps teilen Objekte in einzelne Tiles auf. Daher sind sie nichteindeutig
b) CSG ermöglicht ebenfalls keine eindeutige Darstellung.Es gibt immer mehrere Wege, ein Objekt zusammenzusetzen
3. Genauigkeit
a) B-Reps können geschwungene Oberflächen (curved surfaces) nurapproximieren.
Genaue Darstellung erfordert hohen Rechenaufwand
b) CSG ermöglicht eine akkurate Darstellung
Vergleich zwischen CSG und B - Rep
4. Sicherheit
a) B-Reps sind für eine Validierung denkbar schlecht geeignet.
Inkonsistenz der Datenstruktur der Punkte, Kantenund Flächen
Flächen und Kannten können sich schneiden
b) CSG ist einfach zu validieren
4. Sicherheit
a) 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
b) CSG ist einfach zu validieren
primitives sin valid solids
regularized boolean set operators erzeugen nurvalid 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 vollausgewertet
a) B-Reps können können sofort auf alle Informationen zugreifenManche Operationen dauern jedoch erheblich länger (Bsp.:Punkt innerhalb Körper ?)
b) Bei CSG muss der gesamte Tree bei jeder Berechnnung volldurchlaufen und ausgewertet werden.
Boolean Operations und Transformationenkönnen schnell aufgenommen werden
Vergleich zwischen CSG und B - Rep
Vergleich zwischen CSG und B - Rep
6. Algorithmen
Sowohl für B-Reps als auch für CSG existieren effiziente Algorithmen umeine Darstellung von so kodierten Objekten zu erzeugen.
Überführung der Modelle
Constructive Solid Geometry
Boundary Representations
Nicht möglich !
Überführung der Modelle
Umwandlung eines CSG Objekts in ein B-Rep Objekt
Umwandlung erfolgt über die sukzessive Umwandlung der in den Blättern desCSG-Trees gespeicherten Primitives in Polyheder.
Koordinaten der Punkte für das B-Rep Objekt sind in Formder 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 keineMöglichkeit festzustellen, welche Anordnung dieRichtige 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 unddurch das Bild gestreckt.Wird ein Objekt geschnitten, wird der Wert des Faktors t der Geradengleichungregistriert.
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
Links Rechts
L vereinigt mit R
t t
t t
t
t
Kombination von Ray – Objekt Streckenlisten:
Berechnung von Boolean Set Operations
Der Algorithmus durchwandert die CSG Hierarchie für jeden Strahl und wertet dabei dieSchnittpunkt 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
aussenaussenaussenaussenaussen
aussenausseninneninnenaussen
innenausseninnenaussenInnen
ausseninneninneninnenInnen
RechtsLinks
Danke für ihre Aufmerksamkeit