Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Geometric Representation

Ähnliche Präsentationen


Präsentation zum Thema: "Geometric Representation"—  Präsentation transkript:

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

4

5

6

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


Herunterladen ppt "Geometric Representation"

Ähnliche Präsentationen


Google-Anzeigen