Präsentation herunterladen
Veröffentlicht von:Carlene Schillinger Geändert vor über 10 Jahren
1
Geometric Representation And Processing
2
Gliederung Grundlagen Direkte Darstellungsmethoden
Indirekte Darstellungsmethoden Topologie Hardwarestruktur Zusammenfassung Thomas Faltermeier
3
Grundlagen Geometrische Repräsentation ist die Darstellung eines ‚Körpers‘ am Computer durch mathematische Modelle Theoretisch muss der dargestellte Körper nicht real sein, die Darstellung eines realen Körpers hat jedoch den Vorteil, dass dieser feste Eigenschaften besitzt Grundlage für: Berechnung der geometrischen Eigenschaften Darstellung Weitergehende Anwendungen(z.B. Grafikeffekte) Berechnung physikalischer Eigenschaften nach weiterer Beschreibung mit Materialeigenschaften(z.B. Elastizität) Thomas Faltermeier
4
Definition starrer Körper
Translationsvariant(frei verschiebbar) Rotationsvariant(frei drehbar) Echte Dreidimensionale Strukturen, d.h. keine isolierten/frei baumelnden Punkte, Kanten oder Flächen Oberfläche teilt den Raum in Inneres und Äußeres auf Thomas Faltermeier
5
Darstellung – Was wollen wir?
Die Darstellungsmethode sollte Möglichst mächtig sein, d.h. möglichst viele Körper darstellen können Möglichst wenig Speicherplatz in Anspruch nehmen Einen Körper eindeutig beschreiben, d.h. jeder Repräsentant beschreibt einen Körper, jeder Körper wird durch einen Repräsentanten beschrieben Möglichst exakt sein, d.h. Annäherungen sollen vermieden oder möglichst exakt sein Thomas Faltermeier
6
Darstellung – Was wollen wir?
Möglichst hohe Effizienz der darauf angewendeten Algorithmen bieten Es gibt zwei wesentliche Schemen Direkte Darstellung Indirekte Darstellung Kanten und Ober- Volumenbeschreibung flächenbeschreibung Thomas Faltermeier
7
Gliederung Grundlagen Direkte Darstellungsmethoden
Indirekte Darstellungsmethoden Topologie Hardwarestruktur Zusammenfassung Thomas Faltermeier
8
Normzellenaufzählungsschema
Aufteilung des Raumes in ein Gitter gleich großer dreidimensionaler Zellen, sog. Voxel Je nachdem, ob die Zelle innerhalb oder außerhalb der zu beschreibenden Körpers liegt, wird diese ‚gefüllt‘, vergleichbar mit dem Zusammenbauen des Körpers mit identischen Klötzen Je kleiner die Voxel, desto genauer kann der Körper beschrieben werden Allerdings ist der Speicherbedarf für immer kleinere Voxel sehr hoch Thomas Faltermeier
9
Normzellenaufzählungsschema
Thomas Faltermeier
10
Octalbäume Mächtig wie die Normzellenaufzählung, jedoch bei deutlich geringerem Speicherbedarf Ausgangspunkt: Würfel, der den gesamten Körper umfasst Der Würfel wird nun so lange rekursiv in Würfel halber Kantenlänge unterteilt, bis sich diese innerhalb oder außerhalb des Körpers befinden(Annäherung), die Kantenlänge der Würfel ist also nicht fest vorgeschrieben Speicherung als Baum mit 8 Verästelungen Effizienz stark vom Testalgorithmus abhängig Thomas Faltermeier
11
Octalbäume Diese Methode funktioniert auch analog in jeder anderen
Dimension Thomas Faltermeier
12
Constructive Solid Geometry(CSG)
Körper wird mit Hilfe von Grundkörpern, sog. Primitiven, erstellt Anwendung der Operationen Speicherung als Binärbaum Nachteil: auch hier sind mehrere Repräsentanten möglich Steigerung der Effizienz: Häufig verwendete Objekte werden zu Primitiven und müssen nicht mehr jedes mal zusammengesetzt werden Thomas Faltermeier
13
Verschiebungsschema Ausgangspunkt: Fläche im Raum
Diese Fläche wird nun entlang eines Pfades bewegt oder um einen bestimmten Punkt gedreht Es entsteht ein Translationskörper, bzw. ein Rotationskörper Bsp.: Ein Kreis der um einen Punkt im Raum rotiert erzeugt einen Ring Thomas Faltermeier
14
Bsp.: Rotierende Sinuskurve
Thomas Faltermeier
15
Gliederung Grundlagen Direkte Darstellungsmethoden
Indirekte Darstellungsmethoden Topologie Hardwarestruktur Zusammenfassung Thomas Faltermeier
16
Drahtmodellschema Körper wird über seine Kanten beschrieben
Vorteil: Konstruktion von Körpern ist sehr einfach Nachteil: Eine eindeutige Repräsentation aus dem Drahtmodellschema ist nicht gewährleistet Thomas Faltermeier
17
Oberflächendarstellung
Darstellung des Körpers durch die Beschreibung seiner Oberfläche Zerlegung in eine endliche Menge von Teilflächen Im einfachsten Fall sind nur Polygone zugelassen, die nicht gekrümmt sind – also nur planare Flächen, zusäzlich befindet sich die Verbindungslinie zweier Punkte auf dem Polygon in diesem (keine Löcher in Polygone, keine konkaven Polygone) Rundungen müssen in diesem Fall angenähert werden, je genauer, desto größer wird die Datenmenge Thomas Faltermeier
18
Oberflächendarstellung
ABER: Flächen alleine ergeben noch keinen starren Körper Es müssen folgende Bedingungen erfüllt sein: Geschlossenheit keine Kantenunterbrechungen, keine echten Löcher in Teilflächen(richtiger Durchbruch ist in Ordnung), jede Fläche muss genau so viele Kanten wie Ecken besitzen, jeder Eckpunkt grenzt an die gleiche Menge an Kanten und Flächen an Orientierbarkeit: Beide Seiten einer Fläche müssen unterscheidbar sein {e1, e2, ... , en} sei die Menge aller Kanten Thomas Faltermeier
19
Oberflächendarstellung
Test auf Orientierbarkeit: Orientierung der Kanten gegen den Uhrzeigersinn Ist die Kantenorientierung zweier angrenzender Flächen unterschiedlich wird diese aus der Menge eliminiert Ist die Menge am Ende leer ist die Gesamtoberfläche orientierbar Oberfläche darf sich nicht selbst schneiden Teilflächen dürfen sich nicht selbst schneiden Schnitt zweier Teilflächen nur am Rand Kanten dürfen sich nicht selbst schneiden Zwei Kanten dürfen sich nur an den Enden schneiden Problem: Unterscheidung von hohlen und nicht zusammenhängenden Körpern nicht möglich Thomas Faltermeier
20
Oberflächendarstellung
21
Polygon Meshes Nun stellt sich die Frage, wie man diese Polygone abspeichern sollte, es gilt den besten Kompromiss zwischen Laufzeit und Speicherplatzverbrauch zu finden. Explizite Repräsentation Jedes Polygon wird durch seine Eckkoordinaten repräsentiert P = ((x1,y1,z1),...,(xn,yn,zn)) Wichtig: Sinnvolles abspeichern der Punkte, damit Kanten gezeichnet werden können, z.B. im/gegen Uhrzeigersinn Nachteil: Bei mehreren Polygonen werden Punkte doppelt gespeichert, gemeinsame Punkte und Kante werden nicht explizit als solche repräsentiert, bei Veränderungen müssen alle Polygone überprüft und geg. verändert werden Daher nur für ein einzelnes Polygon sinnvoll, oder falls keine Operationen mehr ausgeführt werden (auch Faulheit OK) Thomas Faltermeier
22
Polygon Meshes Pointers to a vertex list
Alle Eckpunkte werden in einer Liste gespeichert Polygonecken sind nur Verweise auf diese Liste Vorteil: Platzersparnis, jeder Punkt wird nur einmal gespeichert Einfaches Ändern der Koordinaten möglich ohne weitere Überprüfungen Nachteil: Flächen/Kanten die an einer gemeinsamen Ecke liegen müssen noch aufwändig gesucht werden Thomas Faltermeier
23
Polygon Meshes Pointer to an edge list
Ecken und Kanten werden in einer Liste gespeichert Polygone werden als Verweise auf die Kantenliste repräsentiert Jede Kante in der Liste hat zwei Verweise auf die Ecken, die sie definieren, sowie die Information zu welchen ein/zwei Polygonen sie gehört P = (E1,...,En) E = (V1,V2,P1,P2) V = (x,y,z) Thomas Faltermeier
24
Polygon Meshes Vorteile: Einfache Abspeicherung
Nachteile: Algorithmen können nicht sehr effizient integriert werden, da viele Überprüfungen nötig sind Speicherbedarf höher als nötig Thomas Faltermeier
25
Polygon Meshes Thomas Faltermeier
26
Gliederung Grundlagen Direkte Darstellungsmethoden
Indirekte Darstellungsmethoden Topologie Hardwarestruktur Zusammenfassung Topologie= Nachbarschaftsrelationen Geometrie=Ort der Eckpunkte Thomas Faltermeier
27
vef-Graph vv V x V :Punkte sind benachbart
Die Topologie berücksichtigt die Nachbarschafts- beziehungen von Punkten, Kanten und Flächen V: Menge aller Knoten/Ecken E: Menge aller Kanten F: Menge aller Flächen Müssen alle Relationen gespeichert werden? NEIN vv V x V :Punkte sind benachbart ve V x E :Punkt begrenzt Kante vf V x F :Punkt ist Ecke von Fläche ev E x V :Kante hat Punkt als Ecke ee E x E :Kanten sind benachbart ee‘ E x E :Kanten sind benachbart und begrenzen die selbe Fläche ef E x F :Kante begrenzt Fläche fv F x V :Fläche stößt an Punkt fe F x E :Fläche stößt an Kante ff F x F :Flächen sind benachbart Thomas Faltermeier
28
Winged-Edge Struktur Speicherung von: ev, ef, ee‘ also Eckpunkte der Kanten Flächen die diese Kanten begrenzen Benachbarte Kanten mit gleicher benachbarter Fläche Zusätzliche Abspeicherung: Knotenliste mit Verweis auf die Kante, die er begrenzt Flächenliste mit Verweis auf eine Kante, die sie begrenzt Alle anderen Relationen lassen sich daraus berechnen Diese Struktur ist dynamisch und somit bei der Implementierung von Algorithmen von Nachteil Thomas Faltermeier
29
Half-Winged-Edge Struktur
Es wird das selbe gespeichert wie bei der Winged-Edge Struktur mit Ausnahme der Relation ee‘ ee‘ wird durch die neue Relation ee‘‘ ersetzt: Speicherung der Kanten der entsprechenden Flächen, die e im Uhrzeigersinn folgen Bei diesem Beispiel als e2 und e3 Diese Struktur ist nun nicht mehr dynamisch und somit deutlich besser für die Implementierung geeignet Motivation: z.B. Laserscans sind verrauscht, glätten der Meshes verlangt betrachten der Nachbarecken, gute Datenstruktur , teures suchen fällt weg Thomas Faltermeier
30
Gliederung Grundlagen Direkte Darstellungsmethoden
Indirekte Darstellungsmethoden Topologie Hardwarestruktur Zusammenfassung Thomas Faltermeier
31
Hardwarestruktur Hardware verwendet keine Polygone sondern die wesentlich einfacheren Dreiecke, da nur eine begrenzte Anzahl an Rechenregistern zur Verfügung steht Dreieck ist immer planar Polygone müssen daher in solche zerlegt werden Die einfachste Möglichkeit wäre es jedes Dreieck einzeln zu speichern, Nachteile Analog wie bei Meshes Lösung: Triangel Strips und Triangle Fans Dreiecke -> weniger Soderfälle Sonderfälle teuer Thomas Faltermeier
32
Hardwarestruktur Triangle Strips: Ausgehend von einem Dreieck
Jedes neue Dreieck teil sich eine Kante mit dem vorhergehenden Vorteil: Es muss für jedes neue Dreieck nur ein einziger Punkt gespeichert werden Thomas Faltermeier
33
Hardwarestruktur Triangle Fans: Analog wie bei Strips
Allerdings besitzen alle Dreiecke noch einen gemeinsamen Punkt Es entsteht ein Fächer aus Dreiecken Thomas Faltermeier
34
Gliederung Grundlagen Direkte Darstellungsmethoden
Indirekte Darstellungsmethoden Topologie Hardwarestruktur Zusammenfassung Thomas Faltermeier
35
Zusammenfassung Es werden echte Körper dargestellt, da diese feste Eigenschaften besitzen Man stellt diesen entweder direkt oder indirekt dar, wobei jede Methode Vor- und Nachteile hat Nur mit der Darstellung lassen sich Algorithmen nicht effektiv implementieren, es muss die Topologie berücksichtigt werden Egal wie der Körper aufgebaut ist, auf Hardwareniveau muss alles auf Dreiecke zurückgeführt werden Thomas Faltermeier
36
Danke für die Aufmerksamkeit
Ende Danke für die Aufmerksamkeit
37
Quellen Foley, Van Dam, Feiner, Hughes: Computer Graphics: Principles and Practice, Addison-Wesley, 2nd edition in C Griebel, Bungartz, Zenger: Computer Graphik, Vieweg Verlag n.gif , Macks , ng , chrschn , March 27, 2007 holder has irrevocably released all rights 05_files/image008.jpg, Kevin Harris, 2005 Thomas Faltermeier
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.