Multiskalige Repräsentation von Geländemodellen

Slides:



Advertisements
Ähnliche Präsentationen
Kantenbasierte Verfahren
Advertisements

Geometrische Datenstrukturen Haozhe Chen Aaron Richardson.
Suche in Texten (Stringsuche )
Kapitel 5. Stacks und Queues
Synonyme: Stapel, Keller, LIFO-Liste usw.
Wasserfall-Ansätze zur Bildsegmentierung
Lösung 6.3 Denksportaufgabe
Lösung 5.1Schleifen 1.while (x < 5)if (x < 5) thenwhile Bif B then { do {{do { x = x + 1; x = x + 1; A A }}}} while (x < 5) while B do {x = x + 1;do {A.
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik Algorithmische Probleme in Funknetzwerken IX Christian Schindelhauer
Gliederung Motivation / Grundlagen Sortierverfahren
On a Buzzword: Hierachical Structure David Parnas.
Genetische Algorithmen
Heuristiken Automatic Problem Solving Institut für Informatik
WS Algorithmentheorie 01 – Divide and Conquer (Segmentschnitt) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (21 – Kürzeste Wege) T. Lauer.
Geometrisches Divide and Conquer
Heaps und Priority Queues
Computergrafik Vom Dreieck zum Ego-Shooter Olaf Müller
Displacement Mapping Dynamische Generierung detaillierter Geometrien
Beispielrelation Buchbestellungen H = Menge der bedeutenden Ziele = {a, d} Schwelle T = 4 Stichprobe S = {a, b, a, a, a, a} mit s = |S| = 6 N = Anzahl.
Von Huiyu Li. 1.Anwendungsideen Zwei Arten von digitaler Bildbearbeitung in der Architektur 1.1 Veränderung: Existierende Bilder werden durch Bildbearbeitung.
Algorithmus zur Zerlegung in 3NF (1)
Modellierung von Baumstrukturen mit einem einzigen Polygonnetz
Kapitel 2: Datenstrukturen
Vortrag über Graphen Von Jörg Hendricks.
BSP Binary Space Partitioning
Ortsbasierte Sichtbarkeitsanalyse mit digitalen Geländemodellen auf mobilen Endgeräten Roland J. Graf Fachhochschule Salzburg.
Collision Detection.
Chair of Software Engineering Einführung in die Programmierung Prof. Dr. Bertrand Meyer Lecture 13: (Container-)Datenstrukturen.
Effiziente Algorithmen
Chair of Software Engineering Einführung in die Programmierung Prof. Dr. Bertrand Meyer Lecture 13: (Container-)Datenstrukturen.
Erzeugen von Karten, Layern und Legenden
Computergraphische Visualisierungs- verfahren für 3D-Stadtmodelle
Effiziente Algorithmen
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Theorie Praktische Beispiele
Medizinische Visualisierung
Theorie Praktische Beispiele
LOD Levels of Detail Oliver Gassner Christian Troger.
Theorie Praktische Beispiele
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik Algorithmische Probleme in Funknetzwerken VIII Christian Schindelhauer
Constraint Delaunay Triangulations
Institut für Informationssysteme Technische Universität Braunschweig Institut für Informationssysteme Technische Universität Braunschweig Verdrängung von.
Programmiersprachen II Vorbesprechung Klausur Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
Spärliche Kodierung von Videos natürlicher Szenen Vortragender: Christian Fischer.
Was ist eigentlich… Big Data?
Das ABC der Statistik DIE SÄULENDIAGRAMME
Erkennung von Fassaden
Seminar im Fach Geoinformation IV
Generierung von Flächenrepräsentationen aus Punktdaten
You need to use your mouse to see this presentation
Ein Sohn fragt den Vater
Sichtbar – Mit den Augen wahrnehmbar.
Gerhard Gröger Proseminar Geoinformation II WS 2003/2004
Glas und Design Von der Idee zur Flasche
I use this as a starter, often at the start of a revision lesson at the end of a topic . Students work in pairs. Give each pair a copy of the blank grid.
Glas und Design Von der Idee zur Flasche
Ein Sohn fragt den Vater
Ein Sohn fragt den Vater
Wiederholung TexPoint fonts used in EMF.
Übungen Übungsanmeldung Übungskorrektur
GIS - Aufbaukurs Wintersemester 2008/09 Session 3
Ein Sohn fragt den Vater
Ein Sohn fragt den Vater
Ein Sohn fragt den Vater
Glas und Design Von der Idee zur Flasche
DB2 – SS 2019 von Baum allgemein bis B*-Baum
DB2 – SS 2019 von Baum allgemein bis B*-Baum
 Präsentation transkript:

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

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

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

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 26.06.2003 Meik Kühnen

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

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 26.06.2003 Meik Kühnen

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 26.06.2003 Meik Kühnen

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 26.06.2003 Meik Kühnen

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

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:http://www.pik-potsdam.de/cp/ragtime/hydro/arcegmo/doku/arceg_3.htm 26.06.2003 Meik Kühnen

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 26.06.2003 Meik Kühnen

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

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 26.06.2003 Meik Kühnen

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

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

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. 26.06.2003 Meik Kühnen

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 26.06.2003 Meik Kühnen

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 26.06.2003 Meik Kühnen

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 26.06.2003 Meik Kühnen

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

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

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

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

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

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

Ergebnis Nachher ca 3.400 Polygone 26.06.2003 Meik Kühnen

Danke für Ihre Aufmerksamkeit 26.06.2003 Meik Kühnen

26.06.2003 Meik Kühnen

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: www.galileodesign.de/glossar 26.06.2003 Meik Kühnen

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:www.hardware-guide.de/hardware/know-how/Lexikon 26.06.2003 Meik Kühnen

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:www.glossar.de/glossa 26.06.2003 Meik Kühnen