Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Multiskalige Repräsentation von Geländemodellen

Ähnliche Präsentationen


Präsentation zum Thema: "Multiskalige Repräsentation von Geländemodellen"—  Präsentation transkript:

1 Multiskalige Repräsentation von Geländemodellen
Meik Kühnen

2 Überblick Allgemeines Probleme Lösungsansätze Meik Kühnen

3 Motivation Echtzeitdarstellung von 3D Geländemodellen für jederman
Meik Kühnen

4 Was möchte man erreichen?
Beispiele Durchstreifen eines Geländes zum planen einer Wanderung 3D Simulatoren für Piloten Entwicklung 3D- Strategien beim Militär 3D animierte Wettervorhersage Meik Kühnen

5 Bisherige Anwendungsgebiete
3D Computer Spiele Filme (Bsp: Herr der Ringe) Meik Kühnen

6 Allgemeines Darstellung von 3D Geländemodellen Verwendungszweck
Polygonbasierte Darstellung (TIN oder GRID) Annäherung des Höhenfeldes durch Polygonbildung Verwendungszweck Visuelle Sichtbarmachung von Geländeunebenheiten Meik Kühnen

7 Erzeugung von 3D Geländemodellen
1.) durch Triangulation des Höhenfeldes 2.) Belegung der so ermittelten Dreiecke mit Texturen 3.) Zeichnung von Objekten innerhalb des Geländes Beispiele: Wasserflächen, Gebäude, Vegetation 4.) Steigerung der Realitätsnähe durch Dunst-, Schatteneffekte Meik Kühnen

8 Probleme Große Menge an Daten => sehr langsam
Niedrige Framerate => sehr langsam Artefakte beim plötzlichen Annähern an ein Objekt Sichtbarkeit der Objekt* * Siehe Vortrag T. Eicker Meik Kühnen

9 Lösung Multiskalige Darstellung von Geländemodellen 26.06.2003
Meik Kühnen

10 Multiskalig Multiskalig heißt, daß des Systems nicht an eine bestimmte räumliche Skala und Auflösung gebunden ist, sondern eine Anwendung in allen Skalenbereichen (Mikro-, Meso- und Makroskala) mit entsprechend unterschiedlicher räumlicher Auflösung möglich ist. Quelle: Meik Kühnen

11 Anforderung an den Algorithmus
Unterschiedliche Level of Ditail (LoD) für unterschiedlich weit entfernte Objekte Schnelles rendering (digitale Berechnung) der sichtbaren Polygone Schnelle Berechnung der Sichtbarkeit Geringer Speicherbedarf Meik Kühnen

12 Algorithmen Große Anzahl von Algorithmen Beispiele:
Lindström Algorithmus Röttger Algorithmus ROAM (real-time optimally adapting meshes) Diamond Algorithmus Diamond Algorithmus Meik Kühnen

13 Diamond Algorithmus Allgemeine Struktur v2
alle Dreiecke zeigen nur nach Oben oder Unten n1 c n3 a b d Scheitelpunkte aller Dreiecke sind im Uhrzeigesinn sortiert v1 v3 n2 alle Dreiecke haben genau 3 Nachbarn alle Dreiecke haben genau 4 Kinder Meik Kühnen

14 Diamond Algorithmus 2 Mechanismen für Änderung der LoD
split = aufspalten Meik Kühnen

15 Diamond Algorithmus 2 Mechanismen für Änderung der LoD
split = aufspalten merge = verschmelzen Meik Kühnen

16 Diamond Algorithmus Diamond Algorithmus benutzt 4 Warteschlangen (queues) -SplitAbove -SplitBelow -MergeAbove -MergeBelow Above und Below gibt an, welche Priorität ein Objekt gegenüber der Zielpriorität hat, d.h. ob es über oder unterhalb einer bestimmten LoD liegt. Meik Kühnen

17 Erzeugen der queues begin
reset mesh and queues cull, prioritize and enqueue the primary triangles end else begin pass through SplitBelow, reevaluate priority and requeue item to SplitAbove if necessary (SplitAbove will start-out empty) pass through MergeAbove, reevaluate priority and requeue item to MergeBelow is necessary (MergeBelow will start-out empty) end Merge all items in MergeBelow queue Split all items in SplitAbove queue Durchlaufe sb, bewerte Priorität neu und füge bei bedarf item in sa überschreiten Sie durch SplitBelow, bewerten Sie Priorität neu und requeue Einzelteil zu SplitAbove wenn notwendig Meik Kühnen

18 Split Splitting of a tri:
if tri enqueued, dequeue (from SplitAbove) if parent enqueued, dequeue (from a Merge queue) if a neighbour is less refined (bigger) then tri, then split the neighbour if a neighbour's parent is enqueued, dequeue (from a Merge queue) generate child triangles from tri cull and prioritize children, enqueue into SplitAbove/SplitBelow as appropriate if tri is mergeable, enqueue (into MergeAbove) falls Tri in eine Warteschlange eingereiht, aus der Warteschlange nehmen (von SplitAbove) falls Elternteil in eine Warteschlange eingereihte, aus der Warteschlange nehmen (von einer Mischenwarteschlange) falls ein Nachbar weniger verfeinert (grösseres) als Tri ist, spalten Sie dann den Nachbar, falls das Elternteil eines Nachbars in eine Warteschlange eingereiht wird, aus der Warteschlange nehmen (von einer mergewarteschlange) erzeugen Kinddreiecke von Tri auswählen und Priorität geben der Kinder, in eine Warteschlange einreihen in SplitAbove/SplitBelow wo es passt, wenn Tri mergeable, in Warteschlange einreihen (in MergeAbove) wenn tri´s Kinder haben aber keine Enkelkinder sind sie mergeable Meik Kühnen

19 Merge Merging of a tri: if children enqueued, dequeue (from a Split queue) dequeue tri (from MergeBelow) correct neighbour child pointers if necessary delete children from tri if a neighbour's parent can now merge, enqueue (into the appropriate Merge queue) if tri's parent can now merge, enqueue (into appropriate Merge queue) enqueue tri (into SplitBelow) Wenn Kind in Warteschlange, entferne es aus splitqueue Entferne tri aus MergeBelow Koregiere Nachbar Kind Zeiger falls notwendig Entferne Kinder aus tri, verschmelze die Kinder Wenn Eltern des Nachbarn nun verschmelzen können, reihe es in passende Warteschlange (entweder mergeabove/mergebelow) ein Wenn Eltern der tris nun verschmelzen können, reihe sie in passende Warteschlange Meik Kühnen

20 Last but not least Letzte wichtige Schritt:
generieren und rendern der Maschen Meik Kühnen

21 Generieren und Rendern
Zwei Faktoren sind zu beachten - Ausrichtung der Dreiecke (tri orientation) - Dreiecksverbindung (tri connectivity) Meik Kühnen

22 tri orientation Problem:
Orientierung der Dreiecke (wichtig, um zu wissen in welche Richtung gedreht wird) Lösung: Neuordnung der Scheitelpunkte Meik Kühnen

23 tri connectivity Problem: Stelle an der LoD wechselt Lösung:
Zusätzliche Dreiecke Meik Kühnen

24 tri connectivity Scheitelpunkte der neu gebildeten Dreiecke sind dabei Scheitelpunkte von Nachbardreiecken und daher bekannt Meik Kühnen

25 Ergebnis Vor Einsetzen des Algorithmuses ca. 62.500 Polygone
Meik Kühnen

26 Ergebnis Nachher ca Polygone Meik Kühnen

27 Danke für Ihre Aufmerksamkeit
Meik Kühnen

28 Meik Kühnen

29 Texturen Texturen sind den Flächen eines Objekts zugewiesene Oberflächeneigenschaften. Eine Textur besteht aus verschiedenen Texturkanälen wie Farbe, Relief oder Glanzlicht. In den meisten Kanälen können neben Farbe auch Bilder (bitmap, jpeg, usw.) verwendet werden. Auf diese Weise können Materialen wie Holz, Marmor oder Glas erstellt werden. Texturen sind den Flächen eines Objekts zugewiesene Oberflächeneigenschaften. Eine Textur besteht aus verschiedenen Texturkanälen wie Farbe, Relief oder Glanzlicht. In den meisten Kanälen können neben Farbe auch Bilder (bitmap, jpeg, usw.) verwendet werden. Auf diese Weise können Materialen wie Holz, Marmor oder Glas erstellt werden. Quelle: Meik Kühnen

30 Framerate Bei der Beurteilung der 3D-Leistung von Grafiken wird mit der Framerate angegeben, wieviele Bilder pro Sekunde die Grafikkarte darstellen kann. Bei weniger als etwa 20 Bildern (Frames) pro Sekunde werden Bewegungen nicht mehr als flüssig wahrgenommen. Das Fernsehbild hat 25 Frames pro Sekunde. Quelle: Meik Kühnen

31 Artefakte Artefakte sind Bildfehler, die durch eine verlustbehaftete Kompression entstehen. Sie unterscheiden sich je nach Kompressions-Verfahren. Am bekanntesten sind die unschönen blockartigen Bildfehler, die bei der JPEG- sowie MPEG-Kompression auftreten. Quelle: Meik Kühnen


Herunterladen ppt "Multiskalige Repräsentation von Geländemodellen"

Ähnliche Präsentationen


Google-Anzeigen