Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
1
Geometric Representation
Wintersemester 2005/06
2
Gliederung Grundlagen: Geometric Representation
Direkte Darstellungsschemata Indirekte Darstellungsschemata Topologische Struktur Datenstrukturen in der Hardware
3
Definition: Geometric Representation
Geometric Representation ist die Darstellung von 3D Objekten durch mathematische (bzw. „informatische“) Modelle am Computer. Dargestellt werden reale oder virtuelle Objekt Legt die Grundlage für: Berechnung geometrischer Eigenschaften (Volumen,…) Graphische Darstellung Weitergehende Graphische Anwendungen (Spiegelungseffekte, Schattierung, usw.) Berechnung des physikalisch-geometrischen Verhaltens der Körper nach einer weiteren Attributierung der Körper mit physikalischen Eigenschaften bzw. Materialparameter
7
Definition Solid („starre Körper“)
Durchgehende Oberfläche, die den Raum teilt: in das Innere, die Oberfläche selbst, das Äußere Translations und rotationsinvariant Echt dreidimensionale Strukturen Keine isolierten Punkte Keine isolierten oder baumelnden Kanten und Flächen
8
Ziele bei der Wahl eines Schemas
Darstellung = Solid Es sollte entweder leicht zu überprüfen sein, ob die Darstellung ein Solid ist, oder generell unmöglich kein Solid zu implementieren. Exaktheit Bei Komplexen Strukturen sind nur Annäherungen möglich. Kompaktheit Die Beschreibung sollte möglichst wenig Speicherplatz benötigen.
9
Ziele bei der Wahl eines Schemas
Mächtigkeit Das Darstellungsschema soll möglichst viele Körper darstellen können. Eindeutige Abbildung Kein Repräsentant soll zwei Körper beschreiben Kein Körper soll durch zwei Repräsentanten beschrieben werden. Effizienz Die Algorithmen sollten möglichst wenig Rechnerleistung beanspruchen
10
Gliederung Grundlagen: Geometric Representation
Direkte Darstellungsschemata Indirekte Darstellungsschemata Topologische Struktur Datenstrukturen in der Hardware
11
Normzellen-Aufzählungsschema
Raum wird in ein Gitter gleichgroßer Zellen aufgeteilt: Geleichgroße Zellen: Voxel (volume elements; analog zu Pixel) Meist Würfel der Kantenlänge h
12
Normzellen-Aufzählungsschema
Anders als bei Pixel werden keine Farbinformationen gespeichert sondern ob der Würfel innerhalb des Körpers ist Effizienter Test: Ist ein Punkt innerhalb oder außerhalb? Erreichbare Genauigkeit ist abhängig von Würfelkante h Bei kleinem h: sehr genau Problem: hoher Speicherbedarf
13
Oktalbäume (Octrees) Vermeidet den enormen Speicherplatz des Aufzählungsschemas Wahl eines ausreichend großen den Körper umschließenden Würfels. Unterteilung des Würfels in vier Würfel der halben Kantenlänge bis der jeweilige Würfel ganz: Innerhalb (in) oder Außerhalb (off) des zu beschreibenden Körpers ist, oder bis die gewünschte Tiefe (Genauigkeit) erreicht ist: auf der Oberfläche (on) Datenstruktur: Baum
14
Oktalbäume (Octrees) Analog zu Octrees, gibt es für Flächen Quadtrees:
15
CSG-Schema (Constructive Solid Geometrie)
Auf vorgegebene Grundkörper (Primitive) Werden die Mengenoperationen *, *, * angewendet. Speicherung: Binärbaum, Knoten sind Mengenoperationen Blätter sind die Primitiven Besonders für interaktive Programme geeignet Problem: Nicht eindeutig darstellbar
16
CSG-Schema (Constructive Solid Geometrie)
17
Gliederung Grundlagen: Geometric Representation
Direkte Darstellungsschemata Indirekte Darstellungsschemata Topologische Struktur Datenstrukturen in der Hardware
18
Drahtmodellschema Definition des Körpers über seine Kanten
Kanten können gerade oder gekrümmt sein Sehr einfache Realisierung Nachteil: Mehrdeutigkeit
19
Oberflächendarstellung
Körper wird über seine Oberfläche dargestellt: Aufteilung in eine endliche Zahl von Einzelflächen Passendes Schema muss gefunden werden: Einzelflächen können Polygone sein Einzelflächen können gekrümmt sein Sehr mächtiges Schema, wenn gekrümmte Flächen zugelassen sind Problem: Zusätzliche Informationen müssen gespeichert werden Bei Polygonen: Um Kurven anzunähern sind viele Polygone notwendig Problem: Speicherplatz
20
Voraussetzungen für Solids
Oberflächendarstellungen sind nicht immer Solids, es müssen drei weitere Voraussetzungen erfüllt sein: Oberfläche des Körpers muss geschlossen sein d.h. sie darf keine Löcher haben (erlaubt sind Löcher die durch den ganzen Körper hindurchgehen) Die Oberfläche muss orientierbar sein d.h. bei jeder Teilfläche muss eindeutig festgelegt werden, welche Seite auf der Innenseite des Körpers ist und welche auf der Außenseite.
21
Voraussetzungen für Solids
Die Oberfläche darf sich nicht selbst schneiden. Dieses Kriterium ist nur erfüllt, wenn vier Unterkriterien zutreffen: Jede einzelne Teilfläche darf sich nicht schneiden Je zwei Teilflächen dürfen sich nur an ihrem Rand nicht in ihrem Inneren schneiden Eine Kante darf sich nicht selbst schneiden Kanten dürfen sich nur an ihren Eckpunkten schneiden
22
Polygon Meshes Explicit Representation
Jedes Polygon wird über die Koordinaten seiner Eckpunkte (Knoten) gespeichert Reihenfolge der Knoten: Wie beim Zeichnen Am besten immer im Uhrzeigersinn P = ((x1,y1,z1),…,(xn,yn,zn)) Sinnvoll bei einem Polygon Problem bei Polygon Meshes: Redundanz
23
Polygon Meshes Pointers to a vertex list
Knoten werden in einer Liste gespeichert (vertex list) Ecken des Polygons werden als Zeiger auf die vertex list gespeichert Pointers to an edge list Kanten werden in einer Liste gespeichert (edge list) Kanten des Polygon werden als Zeiger auf die edge list gespeichert Eckpunkte der Kanten werden als Zeiger auf die vertex list gespeichert
24
Gliederung Grundlagen: Geometric Representation
Direkte Darstellungsschemata Indirekte Darstellungsschemata Topologische Struktur Datenstrukturen in der Hardware
25
Polygon Meshes – Topologische Struktur
Mithilfe der letzten drei Schemata ist die Speicherung von dreidimensionalen Objekten relativ einfach Problem: Algorithmen können nicht effizient ausgeführt werden Lösung: Topologische Struktur Das Darstellungsschema muss so beschaffen sein, dass die Beziehungen zwischen den Knoten (Vertex = V), Kanten (Edge = E) und Flächen (Face = F) berücksichtigt werden
26
Winged-Edge-Datenstruktur
Gespeicherte Relationen für Kanten: Die Eckpunkte jeder Kante Die Flächen an die die Kante stößt Für jede Kante die vier benachbarten Kanten mit denen die Kante eine gemeinsame Fläche besitzt Punktliste, pro Punkt eine Kante die er begrenzt Flächenliste, pro Fläche eine Kante an die sie stößt
27
Winged-Edge-Datenstruktur
28
Half-Winged-Edge-Datenstruktur
Basiert auf der Winged-Edge-Datenstruktur Änderung: Es werden nicht alle benachbarten Kanten gespeichert, die eine gemeinsame Fläche mit E haben Es werden nur die zwei Ecken gespeichert die in Bezug auf die gemeinsame Fläche im Uhrzeigersinn zu der Kante e stehen In diesem Fall also e2 und e3
29
Gliederung Grundlagen: Geometric Representation
Direkte Darstellungsschemata Indirekte Darstellungsschemata Topologische Struktur Datenstrukturen in der Hardware
30
Datenstrukturen in der Hardware
Datenschemata in der Hardware: Polygon Meshes Aber: es werden nur Dreiecke verwendet Mögliche Datenstrukturen: Triangle Lists Alle Dreiecke werden explizit abgespeichert Problem: hoher Speicherbedarf Triangle Strips Triangle Fans
31
Triangle Strips Das erste Dreieck wird vollständig gespeichert
Alle weiteren Dreiecke teilen sich mit dem vorhergehenden Dreieck eine Kante Es muss jeweils nur ein weiterer Punkt gespeichert werden Rotation des ersten Dreiecks wird festgelegt, nachfolgende Dreiecke besitzen gegenläufige Rotation Die Triangle Strips werden aneinandergehängt um ein Objekt darzustellen
32
Triangle Fans Das erste Dreieck wird vollständig gespeichert
Alle weiteren Dreiecke teilen sich mit dem vorhergehenden Dreieck eine Kante Es muss jeweils nur ein weiterer Punkt gespeichert werden Rotation des ersten Dreiecks wird festgelegt, nachfolgende Dreiecke besitzen die gleiche Rotation Alle Dreiecke besitzen einen gemeinsamen Punkt
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.