Algorithmische Geometrie: Delaunay Triangulierung (Teil 1)

Ähnliche Dokumente
10 Delaunay Triangulierung

Algorithmische Geometrie: Delaunay Triangulierung (Teil 2)

Algorithmische Geometrie: Rest Lokalisierung von Punkten; Voronoi Diagramme (1/2)

2. Triangulation ebener Punktmengen. 3. Definition und Eigenschaften der Delaunay Triangulation

Delaunay-Triangulierungen

Geradenarrangements und Dualität von Punkten und Geraden

Geradenarrangements und Dualität von Punkten und Geraden

Geradenarrangements und Dualität von Punkten und Geraden

Algorithmische Geometrie: Voronoi Diagramme (Teil 2)

Distanzprobleme in der Ebene

Algorithmische Geometrie: Arrangements und

Algorithmische Geometrie

Voronoi-Diagramme und Delaunay-Triangulierungen

Algorithmische Geometrie, SoSe 2005 Skriptmitschrift vom 29. April 2005

Grundlagen zur Delaunay-Triangulierung und zur konvexen Hülle. zum Begriff des Voronoi-Diagramms (vgl. auch Vorlesung "Algorithmische Geometrie"):

Übungsblatt 7 - Voronoi Diagramme

Dualität + Quad-trees

Algorithmische Geometrie: Lineare Optimierung (I)

Vorlesung Algorithmische Geometrie Konvexe Hülle in R 3

Voronoi-Diagramme. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK

9 Arrangements und Dualität

Das Voronoi Diagramm. 1. Definition. 2. Eigenschaften. 3. Größe und Speicherung. 4. Konstruktion. 5. Verwendung

Übersicht. Begriffserklärung Motivation / Anwendungen Drei Algorithmen Zusammenfassung Fragen Quellen. Triangulierung von Steffen Ernst 2

Voronoi-Diagramme INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie

Geometrische Algorithmen Einige einfache Definitionen: Ist ein Punkt in einem Polygon? Punkt-in-Polygon-Problem. Das Punkt-in-Polygon-Problem

Algorithmische Geometrie: Abfragen Orthogonaler Bereiche

Zusammenfassung Voronoi Diagramme

Klausur. 18. Juli 2008, 10:15-12:15 Uhr. Name:... Matrikelnummer:... Anzahl beschriebener Blätter (ohne Aufgabenblatt):... D(p) : Y = p x X + p y

Geometrie 2. Julian Fischer Julian Fischer Geometrie / 30

Vorlesung Algorithmische Geometrie Konvexe Hülle im R 3

(1) Geometrie. Vorlesung Computergraphik 3 S. Müller U N I V E R S I T Ä T KOBLENZ LANDAU

Algorithmische Geometrie: Schnittpunkte von Strecken

Es sei P ein einfaches Polygon in der Ebene; P habe n Ecken. Hilfssatz: Zu jedem einfachen Polygon mit mehr als 3 Ecken existiert eine Diagonale.

Algorithmische Geometrie: Einstimmung

Quad-trees. Benjamin Niedermann Übung Algorithmische Geometrie

Polygontriangulierung

Optimales Routing. Paul Kunze

Übung Computergrafik 3

Algorithmische Geometrie 8. Voronoidiagramme und Delaunaytriangulierung

Was bisher geschah. 1. Zerlegung in monotone Polygone 2. Triangulierung der monotonen Teilpolygone

Geometrische Algorithmen Voronoi-Diagramme. Lernmodul 7: Geo-Algorithmen und -Datenstrukturen - Voronoi-Diagramme

Übungen zur Vorlesung Algorithmische Geometrie

Einführung & Konvexe Hülle

Übung Computergrafik 3

Quadtrees und Meshing

Triangulierung von einfachen Polygonen

Quadtrees und Meshing

Quadtrees und Meshing

2.4. Triangulierung von Polygonen

Quadtrees und Meshing

Mathematische Probleme, SS 2016 Freitag $Id: convex.tex,v /05/13 14:42:55 hk Exp $

Vorlesung Geometrische Algorithmen Generierung von Nicht-uniformen Netzen Sven Schuierer

Durchschnitte und Sichtbarkeit

Computer-Graphik I Verallgemeinerte Baryzentrische Koordinaten

Polygontriangulierung

KARL-FRANZENS-UNIVERSITÄT GRAZ. Seminar aus Reiner Mathematik. Die Museumswächter. Krupic Mustafa Wintersemester 2013/14

für n-elementige Punktmenge jedenfalls Ω(n log n), da mit VD die konvexe Hülle in linearer Zeit bestimmbar.

Überblick. Kap. 1.4: Minimum Weight Perfect Matching. 1.3 Blüten-Schrumpf Algorithmus für Maximum Matching

Jurij-Andrei Reichenecker 21. Juni Tessellationen

Aufgabensammlung zur algorithmischen Geometrie

Naiver Algorithmus für Hamiltonkreis

Geometrische Algorithmen

5. Bäume und Minimalgerüste

Hallo Welt für Fortgeschrittene

Anwendungen der WSPD & Sichtbarkeitsgraphen

Der Satz von Pick. Alexandra Zimmer

Polygontriangulierung

Voronoi Diagrams, Delaunay Triangulations and Alpha Shapes Nils Kubera (6kubera)

Einführung & Konvexe Hülle

Hallo Welt! für Fortgeschrittene. Geometrie I. Philipp Erhardt. 19. Juli Philipp Erhardt Geometrie I 19. Juli / 27

6. Planare Graphen und Färbungen

5. Gitter, Gradienten, Interpolation Gitter. (Rezk-Salama, o.j.)

Algorithmen II Vorlesung am

Geometrie 1. Christian Bay Christian Bay Geometrie / 46

Lernmodul 2: Geoobjekte und ihre Modellierung - Dreiecksnetze

Lineare Programmierung

6. Übung zur Linearen Optimierung SS08

12. Flächenrekonstruktion aus 3D-Punktwolken und generalisierte Voronoi-Diagramme

Triangulierungen von Punktmengen und Polyedern

Algorithmen II Vorlesung am

Ermitteln Sie die Koordinaten des Schnittpunktes dieser beiden Geraden und erklären Sie Ihre Vorgehensweise!

Mathematische Probleme, SS 2013 Montag $Id: convex.tex,v /10/22 15:58:28 hk Exp $

Graphen KAPITEL 3. Dieses Problem wird durch folgenden Graph modelliert:

Algorithmische Geometrie 5. Triangulierung von Polygonen

6. Triangulation von Polygonen

Das Problem der Museumswächter

Algorithmische Methoden für schwere Optimierungsprobleme

Algorithmen für Geographische Informationssysteme

21. Die Formel von Pick

Einführung & Konvexe Hülle

Berechnung approximierter Voronoi-Zellen auf geometrischen Datenströmen

Vorlesung Datenstrukturen

Triangulierung von Polygonen und das Museumsproblem

12 Übungen zu Gauß-Algorithmus

Koordinatengeometrie. Aufgabe 4 Untersuchen Sie die Funktion f(x) = x² 9.

Kanonische Ordnungen und die Mondshein-Sequenz

2. Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung

Computer graphics. Triangulierung. Dr. Ernst Kruijff. Institute of Visual Computing 3DMi group Bonn-Rhein-Sieg University of Applied Sciences.

Transkript:

Algorithmische Geometrie: Delaunay Triangulierung (Teil 1) Nico Düvelmeyer WS 2009/2010, 26.1.2010

Überblick 1 Motivation Interpolation von Höhendaten 2 Triangulierungen von ebenen Punktmengen 3 Delaunay Triangulierungen 4 Berechnung der Delaunay Triangulierung Möglichkeit 1 Randomisiert inkrementeller Ansatz Rahmen des Algorithmus

Überblick 1 Motivation Interpolation von Höhendaten 2 Triangulierungen von ebenen Punktmengen 3 Delaunay Triangulierungen 4 Berechnung der Delaunay Triangulierung Möglichkeit 1 Randomisiert inkrementeller Ansatz Rahmen des Algorithmus

Terrain f : A R 2 R in P A bekannt f (x) in A approximieren stetige linear innerhalb von Dreiecken sehr viele Triangulierungen Welche?

Güte der Approximation langgestreckte Dreiecke gleichseitige Dreiecke kleine Innenwinkel schlimmster Innenwinkel

Überblick 1 Motivation Interpolation von Höhendaten 2 Triangulierungen von ebenen Punktmengen 3 Delaunay Triangulierungen 4 Berechnung der Delaunay Triangulierung Möglichkeit 1 Randomisiert inkrementeller Ansatz Rahmen des Algorithmus

Definition Triangulierung maximale Ebenenaufteilung: keine weiteren Kanten Triangulierung von P: maximale Ebenenaufteilung mit Eckenmenge P

Satz 10.1 Gegeben: P n Punkte der Ebene (nicht kollinear) k Anzahl von Punkten aus P auf Rand von conv P Dann hat jede Triangulierung von P genau 2n 2 k Dreiecke 3n 3 k Kanten Beweis. T: Triangulierung von P mit m Dreiecken, n f = m + 1 Flächen, n k Kanten Inzidenzen Kanten Gebiete: 2n k = 3m + k n k = 3m+k 2 Eulerschen Formel n n k + n f = 2 n 3m+k 2 + m + 1 = 2 2n m k = 2 m = 2n k 2 n k = 3m+k 2 = 3(2n k 2)+k 2 = 3n 3 k

Definition 10.2 Winkel-Vektor Triangulierung T von P α 1,..., α 3m Innenwinkeln aller Dreiecke in T α 1 α 2 α 3m Winkel-Vektor von T: W (T) := (α 1,..., α 3m )

Peripheriewinkelsatz (Satz 10.3) Gegeben: Kreis K Gerade g a und b Schnittpunkte K g Punkte p, q, r, s auf selber Seite von g p und q auf K r innerhalb K s ausserhalb von K dann gilt: arb > apb = aqb > asb

Definition 10.4 Kantendrehung: Triangulierung T T Kante p i p j in T wird p k p l in T p i p k p j p l ein konvexes Viereck Dreiecke p i p j p k und p i p j p l aus T werden p i p k p l, p j p k p l in T Winkel α 1,..., α 6 in W (T) α 1,..., α 6 in W (T ) p i p j heißt unzulässige Kante, wenn min α i < min α i 1 i 6 1 i 6

Beobachtung 10.5 Triangulierung T unzulässigen Kante k von T Triangulierung T durch drehen von k in T Dann ist W (T ) > W (T)

Lemma 10.6 Gegeben: Triangulierung T Kante p i p j p i p j p k und p i p j p l i T K : Umkreis von p i p j p k p i p j unzulässig p l liegt innerhalb von K Zusätzlich: p i p k p j p l konvexes Viereck nicht auf einem Kreis genau eine Kante unzulässig: p i p j oder p k p l

Beweis von Lemma 10.6 p l innerhalb von K : auch Punkt p k innerhalb K (p i p j p l ) mehrfach Peripheriewinkelsatz für jeden neuen Innenwinkel gibt es kleineren alten Innenwinkel neues Minimum größer altes Minimum p i p j unzulässig p l außerhalb von K : p l auf K Viereck p i p k p j p l entartet oder nicht konvex? Rollentausch p i, p j p k, p l neues Minimum kleiner altes Minimum p i p j zulässig Gleichheit von vier Winkelgrößen minimale Innenwinkel dabei

Definition 10.7 Wir nennen T zulässige Triangulierung, falls T keine unzulässigen Kanten enthält.

Algorithmus 10.8 Eingabe: eine Triangulierung T der Punktmenge P Ausgabe: eine zulässige Triangulierung von P 1: Funktion ZULÄSSIGETRIANGULIERUNG(T) 2: Solange T eine unzulässige Kante p i p j enthält, mache drehe p i p j 3: Bestimme die mit p i p j inzidierenden Dreiecke p i p j p k und p i p j p l. 4: Entferne p i p j aus T und füge dafür p k p l zu T hinzu. 5: Liefere T.

Terminiertheit Der Algorithmus 10.8 (ZULÄSSIGETRIANGULIERUNG(T)) terminiert, da der Winkel-Vektor stets größer wird und nur endlich viele Werte annehmen kann. Die Laufzeit ist uns aber zu groß.

Überblick 1 Motivation Interpolation von Höhendaten 2 Triangulierungen von ebenen Punktmengen 3 Delaunay Triangulierungen 4 Berechnung der Delaunay Triangulierung Möglichkeit 1 Randomisiert inkrementeller Ansatz Rahmen des Algorithmus

Delaunay Graph Definition 10.9 P Menge von n Punkten Voronoi-Diagramm Vor(P) besteht aus je einem Gebiet je Punkt aus P dualer Graph G Knoten: Voronoi-Gebiet V(p) (p P) Kanten in G: Gebiete von Vor(P) mit gemeinsamer Kante in Vor(P) Einbettung von G: V(p) p, {V(p), V(q)} pq Delaunay Graph DG(P) von P

Satz 10.10 Der Delaunay Graph einer ebenen Punktmenge ist ein ebener Graph. Beweis. z.z.: Kanten überschneidungsfrei Satz 8.5, Aussage 2: p i p j in DG(P) Kreisscheibe K i,j mit p i und p j im Rand gibt, enthält keine weiteren Punkte aus P Mittelpunkt M i,j von K i,j Dreieck D i,j := p i p j M i,j p i M i,j innerhalb V(p i ) p j M i,j innerhalb V(p j ) M i,j und M k,l auf Kanten von Vor(P) Annahme: p i p j und p k p l von DG(P) schneiden sich

Satz 10.10 Der Delaunay Graph einer ebenen Punktmenge ist ein ebener Graph. Beweis. Annahme: p i p j und p k p l von DG(P) schneiden sich i, j, k, l paarweise verschieden p k und p l nicht D i,j K i,j p k p l schneidet Streckenzug p i, M i,j, p j Streckenzug p i, M i,j, p j schneidet weitere Kante von D k,l (in s) s liegt in verschiedenen Voronoizellen oder Kanten oder beides

Definition 10.11 Delaunay Triangulierung P: endliche Punktmenge eine Delaunay Triangulierung von P: beliebige Triangulierung von DG(P) ausgehend die Delaunay Triangulierung von P: nur wenn DG(P) eine Triangulierung ist letzteres gilt, wenn P in allgemeiner Lage ist: keine vier Punkte auf einem Kreis

Satz 10.12 Es sei P eine endliche Menge von Punkten der Ebene. 1. Die Punkte p i, p j, p k P sind genau dann Ecken eines gemeinsamen Gebietes von DG(P), wenn der Kreis durch p i, p j, p k keine Punkte aus P in seinem Inneren enthält. 2. Zwei Punkte p i, p j P bilden genau dann eine Kante von DG(P), wenn es eine abgeschlossene Kreisscheibe K i,j mit p i und p j im Rand gibt, die keine weiteren Punkte aus P enthält. Beweis. Umformulierung von Satz 8.5

Satz 10.13 Gegeben: P endliche Menge von Punkten T Triangulierung von P T Delaunay Triangulierung von T der Umkreis jeden Dreiecks aus T enthält keine Punkte aus P im Inneren Beweis. T Delaunay Triangulierung von T die Ecken jedes Dreiecks von T sind Ecken eines gemeinsamen Gebietes von DG(P)

Satz 10.14 Triangulierung T zulässig T Delaunay Triangulierung Beweis. klar nach Lemma 10.6 und Satz 10.13 : indirekt T zulässig, aber nicht Delaunay Triangulierung Satz 10.12: p i p j p k T: K (p i p j p k ) enthält p l P im Inneren p l liegt nicht im Dreieck p i p j p k oeda ist e := p i p j Diagonale vom konvexen Viereck p i p k p j p l unter allen Möglichkeiten für (p i p j p k, p l ) wählen wir eine mit maximalem Winkel p i p l p j

Satz 10.14 Triangulierung T zulässig T Delaunay Triangulierung Beweis. unter allen Möglichkeiten für (p i p j p k, p l ) wählen wir eine mit maximalem Winkel p i p l p j p i p j p m T e zulässig p m nicht im Inneren von K (p i p j p k ) Teil von K (p i p j p k ) mit Rand e, der nicht p k enthält, K (p i p j p m ) p l K (p i p j p m ) oeda p j p m Diagonale von p i p j p l p m p j p l p m > p j p l p i

Satz 10.15 1. T Triangulierung mit maximalem W (T) T Delaunay Triangulierung 2. T Delaunay Triangulierung minimaler Winkel in W (T) ist maximal Beweis. 1. Triangulierung mit maximalem Winkel-Vektor ist zulässig und Satz 10.14 2. Unterschied Delaunay Triangulierungen von P: Triangulierungen der Gebiete von DG(P) mit > 3 Ecken Peripheriewinkelsatzes: für konvexe Gebiete, alle Ecken auf einem Kreis minimaler Innenwinkel jeder Triangulierung gleich

Überblick 1 Motivation Interpolation von Höhendaten 2 Triangulierungen von ebenen Punktmengen 3 Delaunay Triangulierungen 4 Berechnung der Delaunay Triangulierung Möglichkeit 1 Randomisiert inkrementeller Ansatz Rahmen des Algorithmus

Überblick 1 Motivation Interpolation von Höhendaten 2 Triangulierungen von ebenen Punktmengen 3 Delaunay Triangulierungen 4 Berechnung der Delaunay Triangulierung Möglichkeit 1 Randomisiert inkrementeller Ansatz Rahmen des Algorithmus

via Voronoi Voronoi-Diagramm berechnen dualisieren einzeln beliebig triangulieren Laufzeit in O(n log n) Speicherplatz in O(n)

Überblick 1 Motivation Interpolation von Höhendaten 2 Triangulierungen von ebenen Punktmengen 3 Delaunay Triangulierungen 4 Berechnung der Delaunay Triangulierung Möglichkeit 1 Randomisiert inkrementeller Ansatz Rahmen des Algorithmus

Randomisiert inkrementeller Ansatz Start: großes Dreieck p 0 p 1 p 2 enthält P = {p 0, p 1,..., p n } bestimmen eine Delaunay Triangulierung von Q i := {p 2, p 1, p 0, p 1,..., p i } entfernen p 1, p 2 samt inzidenter Kanten und Dreiecke Delaunay Triangulierung von P

Überblick 1 Motivation Interpolation von Höhendaten 2 Triangulierungen von ebenen Punktmengen 3 Delaunay Triangulierungen 4 Berechnung der Delaunay Triangulierung Möglichkeit 1 Randomisiert inkrementeller Ansatz Rahmen des Algorithmus

Algorithmus 10.16 Eingabe: eine Menge P von n + 1 Punkten der Ebene Ausgabe: eine Delaunay Triangulierung von P 1: Funktion DELAUNAYTRIANGULIERUNG(P) 2: Bestimme den lexikographisch höchsten Punkt p 0 von P, d.h. den Punkt mit maximaler x-koordinate unter allen Punkten von P mit maximaler y-koordinate. 3: p 1 und p 2 seien zwei Punkte der Ebene, die hinreichend weit von P entfernt sind, so dass P im Dreieck p 0 p 1 p 2 enthalten ist. 4: Initialisiere T als die Triangulierung mit dem einzelnen Dreieck p 0 p 1 p 2. 5: Bestimme eine zufällige Vertauschung p 1,..., p n von P \ {p 0 }.

Algorithmus 10.16 6: Für r 1 bis n mache Füge p r in T ein 7: Suche das Dreieck p i p j p k T, welches p r enthält. 8: Wenn p r im Inneren von p i p j p k liegt, dann 9: füge drei neue Kanten p i p r, p j p r und p k p r in T ein, wobei p i p j p k in drei Dreiecke zerlegt wird. 10: KORRIGIEREKANTE(p r, p i p j, T) 11: KORRIGIEREKANTE(p r, p j p k, T) 12: KORRIGIEREKANTE(p r, p k p i, T) 13: sonst

Algorithmus 10.16 14: Es sei p i p j die Kante von T, die p r enthält, p i p j p k T und p i p j p l T die beiden zu p i p j inzidenten Dreiecke. 15: Füge zwei neue Kanten p k p r und p l p r in T ein, wobei p i p j durch p r in zwei Strecken und p i p j p k sowie p i p j p l jeweils in zwei Dreiecke zerlegt werden. 16: KORRIGIEREKANTE(p r, p i p l, T) 17: KORRIGIEREKANTE(p r, p l p j, T) 18: KORRIGIEREKANTE(p r, p j p k, T) 19: KORRIGIEREKANTE(p r, p k p i, T) 20: Entferne p 1, p 2 mit allen inzidenten Kanten und Dreiecken aus T. 21: Liefere T.