Geometrie 2. Julian Fischer Julian Fischer Geometrie / 30

Ähnliche Dokumente
Hallo Welt für Fortgeschrittene

Hallo Welt für Fortgeschrittene

Geometrie II Hallo Welt! für Fortgeschrittene

Geometrie II. Deniz Neufeld Deniz Neufeld Geometrie II / 39

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

Geometrie. Hallo Welt! für Fortgeschrittene Simon Kuhnle. 11. Juli

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

Übungsblatt 7 - Voronoi Diagramme

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

Geradenarrangements und Dualität von Punkten und Geraden

Geradenarrangements und Dualität von Punkten und Geraden

Geradenarrangements und Dualität von Punkten und Geraden

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

Algorithmische Geometrie: Delaunay Triangulierung (Teil 1)

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

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

Algorithmische Techniken für Geometrische Probleme

Geometrische Algorithmen

Vorlesung Geometrische Algorithmen Generierung von Nicht-uniformen Netzen Sven Schuierer

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

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

Übung Computergrafik 3

Algorithmische Geometrie: Delaunay Triangulierung (Teil 2)

6. Triangulation von Polygonen

Triangulierung von einfachen Polygonen

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

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

Übung Computergrafik 3

Dualität + Quad-trees

Ausleuchtung/Überwachung von polygonalen Flächen

Distanzprobleme in der Ebene

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

Algorithmische Geometrie, SoSe 2005 Skriptmitschrift vom 29. April 2005

Seminar. Algorithmische Geometrie

Algorithmische Geometrie: Voronoi Diagramme (Teil 2)

2.4. Triangulierung von Polygonen

Jurij-Andrei Reichenecker 21. Juni Tessellationen

Das Divide - and - Conquer Prinzip. Quicksort Formulierung und Analyse des Prinzips Geometrisches Divide and Conquer - Closest-Pair - Segmentschnitt

Algorithmen II Vorlesung am

Geometrische Algorithmen

Algorithmische Geometrie

Quad-trees. Benjamin Niedermann Übung Algorithmische Geometrie

Kapitel 6: Algorithmen der Computer-Geometrie

Algorithmische Geometrie: Schnittpunkte von Strecken

10 Delaunay Triangulierung

Quadtrees und Meshing

KD-Bäume. ein Vortrag von Jan Schaefer

Quadtrees und Meshing

Quadtrees und Meshing

Quadtrees und Meshing

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

Bereichsabfragen II. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK

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

Kapitel 9 Algorithm. Geometrie. Kürzeste Abstände Konvexe Hülle

Übersicht über Informatik und Softwaresystemtechnik WS 99/00, Prof. Dr. Andreas Schwill

Stud.-Nummer: Datenstrukturen & Algorithmen Seite 1

3.2. Divide-and-Conquer-Methoden

4. Tries und kd-bäume

Algorithmische Geometrie: Abfragen Orthogonaler Bereiche

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

Durchschnitte und Sichtbarkeit

Triangulierungen von Punktmengen und Polyedern

Voronoi Diagrams. Christian Wellenbrock. December 1, 2009

Optimales Routing. Paul Kunze

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

Bereichsabfragen II. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie

4.3 Splitstrategien für R-Bäume (I)

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.

Bereichsabfragen II. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie

Bereichsabfragen. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie

M. Pester 29. Ein konvexes d-polytop ist eine begrenzte d-dimensionale polyedrale Menge. (d = 3 Polyeder, d = 2 Polygon)

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Suchen. Lineare Suche. Such-Algorithmen. Sommersemester Dr.

Informatik II: Algorithmen und Datenstrukturen SS 2013

Parallele Algorithmen in der Bildverarbeitung

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

G. Zachmann Clausthal University, Germany Die wichtigsten Entwurfsverfahren für Algorithmen:

Datenstrukturen und Algorithmen. Christian Sohler FG Algorithmen & Komplexität

Konvexe Hülle. Konvexe Hülle. Mathematik. Konvexe Hülle: Definition. Mathematik. Konvexe Hülle: Eigenschaften. AK der Algorithmik 5, SS 2005 Hu Bin

Parallelisierung durch Gebietszerlegung

Geometrie I. Polygone. Dominik Huber Hallo Welt! für Fortgeschrittene. Informatik 2 Programmiersysteme Martensstraße Erlangen

Kürzeste und Schnellste Wege

Lernmodul 2: Geoobjekte und ihre Modellierung - Dreiecksnetze

Kapitel 2. Weitere Beispiele Effizienter Algorithmen

Triangulierung von einfachen Polygonen

häufige Aufgabe Motivation: Approximation komplizierter Geometrien durch einfachere Dreiecke oft effizienter zu bearbeiten als Polygone

Vorlesung Algorithmische Geometrie. Streckenschnitte. Martin Nöllenburg INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK

Algorithmische Geometrie Thema: Konvexe Hüllen

14. Sortieren II Heapsort. Heapsort. [Max-]Heap 7. Heapsort, Quicksort, Mergesort. Binärer Baum mit folgenden Eigenschaften

Algorithmische Geometrie 3. Schnitte von Liniensegmenten

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

Berechnung approximierter Voronoi-Zellen auf geometrischen Datenströmen

Range-Search. Operationen: Welche Datenstrukturen sind geeignet? Arrays? Listen? AVL-Bäume? Splay-Bäume?

Vorlesung Algorithmische Geometrie Konvexe Hülle in R 3

Rechnen mit Vektoren. 1. Vektoren im Koordinatensystem Freie Vektoren in der Ebene

Algorithmen und Datenstrukturen

Datenstrukturen & Algorithmen

Transkript:

Geometrie 2 Julian Fischer 6.7.2009 Julian Fischer Geometrie 2 6.7.2009 1 / 30

Themen 1 Bereichssuche und kd-bäume 1 Bereichssuche 2 kd-bäume 2 Divide and Conquer 1 Closest pair 2 Beispiel: Points (IOI 2006) 3 Delaunay-Triangulation und Voronoi-Diagramme 1 Definitionen 2 Voronoi-Diagramme 3 Algorithmus für Delaunay-Triangulation Julian Fischer Geometrie 2 6.7.2009 2 / 30

Bereichssuche Problem: finde effizient alle Punkte in einem Bereich (Rechteck, Polygon etc.) Julian Fischer Geometrie 2 6.7.2009 3 / 30

Bereichssuche Problem: finde effizient alle Punkte in einem Bereich (Rechteck, Polygon etc.) meistens: zahlreiche Anfragen Julian Fischer Geometrie 2 6.7.2009 3 / 30

Bereichssuche Problem: finde effizient alle Punkte in einem Bereich (Rechteck, Polygon etc.) meistens: zahlreiche Anfragen Anzahl gesuchter Punkte Anzahl aller Punkte Julian Fischer Geometrie 2 6.7.2009 3 / 30

Bereichssuche Problem: finde effizient alle Punkte in einem Bereich (Rechteck, Polygon etc.) meistens: zahlreiche Anfragen Anzahl gesuchter Punkte Anzahl aller Punkte deshalb ist naiver Ansatz ineffizient Julian Fischer Geometrie 2 6.7.2009 3 / 30

Gitterverfahren Ansatz: sortiere Punkte in (regelmäßiges) Gitter ein schnelles Verwerfen von Punkten, die nicht in Bereich liegen können, möglich Julian Fischer Geometrie 2 6.7.2009 4 / 30

Gitterverfahren Ansatz: sortiere Punkte in (regelmäßiges) Gitter ein schnelles Verwerfen von Punkten, die nicht in Bereich liegen können, möglich Vorteile: leicht zu implementieren oft deutliche Verbesserung der Laufzeit Julian Fischer Geometrie 2 6.7.2009 4 / 30

Gitterverfahren Ansatz: sortiere Punkte in (regelmäßiges) Gitter ein schnelles Verwerfen von Punkten, die nicht in Bereich liegen können, möglich Vorteile: leicht zu implementieren oft deutliche Verbesserung der Laufzeit Probleme: Wahl der Gittergröße: nicht zu wenige, aber auch nicht zu viele Punkte je Gitterzelle Punkte können ungleichmäßig verteilt sein (z.b. entlang Diagonale) Julian Fischer Geometrie 2 6.7.2009 4 / 30

Gitterverfahren Julian Fischer Geometrie 2 6.7.2009 5 / 30

Gitterverfahren Julian Fischer Geometrie 2 6.7.2009 5 / 30

kd-bäume Idee: teile Punktmenge P rekursiv entlang von Hyperebenen Julian Fischer Geometrie 2 6.7.2009 6 / 30

kd-bäume Idee: teile Punktmenge P rekursiv entlang von Hyperebenen Hyperebenen am Besten zu Koordinatenachsen senkrecht Julian Fischer Geometrie 2 6.7.2009 6 / 30

kd-bäume Idee: teile Punktmenge P rekursiv entlang von Hyperebenen Hyperebenen am Besten zu Koordinatenachsen senkrecht wechsle Teilungsdimensionen gleichmäßig durch Julian Fischer Geometrie 2 6.7.2009 6 / 30

kd-bäume Idee: teile Punktmenge P rekursiv entlang von Hyperebenen Hyperebenen am Besten zu Koordinatenachsen senkrecht wechsle Teilungsdimensionen gleichmäßig durch Abbruch, wenn Anzahl der Punkte in Bereich gewissen Wert unterschreitet Julian Fischer Geometrie 2 6.7.2009 6 / 30

kd-bäume speichere die Aufsplittungsvorgänge als Baum Julian Fischer Geometrie 2 6.7.2009 7 / 30

kd-bäume speichere die Aufsplittungsvorgänge als Baum in Blättern werden die Punkte im zugehörigen Teil des R n gespeichert Julian Fischer Geometrie 2 6.7.2009 7 / 30

kd-bäume speichere die Aufsplittungsvorgänge als Baum in Blättern werden die Punkte im zugehörigen Teil des R n gespeichert sinnvolle Auswahlregeln für x k -Koordinate der Splithyperebene: Julian Fischer Geometrie 2 6.7.2009 7 / 30

kd-bäume speichere die Aufsplittungsvorgänge als Baum in Blättern werden die Punkte im zugehörigen Teil des R n gespeichert sinnvolle Auswahlregeln für x k -Koordinate der Splithyperebene: nehme x k -Koordinate eines zufällig ausgewählten Punkts Julian Fischer Geometrie 2 6.7.2009 7 / 30

kd-bäume speichere die Aufsplittungsvorgänge als Baum in Blättern werden die Punkte im zugehörigen Teil des R n gespeichert sinnvolle Auswahlregeln für x k -Koordinate der Splithyperebene: nehme x k -Koordinate eines zufällig ausgewählten Punkts wähle Median der x k -Koordinaten der Punkte Julian Fischer Geometrie 2 6.7.2009 7 / 30

kd-bäume speichere die Aufsplittungsvorgänge als Baum in Blättern werden die Punkte im zugehörigen Teil des R n gespeichert sinnvolle Auswahlregeln für x k -Koordinate der Splithyperebene: nehme x k -Koordinate eines zufällig ausgewählten Punkts wähle Median der x k -Koordinaten der Punkte Achtung: ordne Punkte, die auf Splitebene liegen, einheitlich einem Gebiet zu Julian Fischer Geometrie 2 6.7.2009 7 / 30

kd-bäume speichere die Aufsplittungsvorgänge als Baum in Blättern werden die Punkte im zugehörigen Teil des R n gespeichert sinnvolle Auswahlregeln für x k -Koordinate der Splithyperebene: nehme x k -Koordinate eines zufällig ausgewählten Punkts wähle Median der x k -Koordinaten der Punkte Achtung: ordne Punkte, die auf Splitebene liegen, einheitlich einem Gebiet zu also z.b. Punkte mit x k < φ in eine Splithälfte, Punkte mit x k φ in die andere Splithälfte Julian Fischer Geometrie 2 6.7.2009 7 / 30

kd-bäume Beispiel: Abbruch bei 3 oder weniger Punkten in Bereich Julian Fischer Geometrie 2 6.7.2009 8 / 30

kd-bäume Beispiel: Abbruch bei 3 oder weniger Punkten in Bereich Julian Fischer Geometrie 2 6.7.2009 8 / 30

kd-bäume Beispiel: Abbruch bei 3 oder weniger Punkten in Bereich Julian Fischer Geometrie 2 6.7.2009 8 / 30

kd-bäume Beispiel: Abbruch bei 3 oder weniger Punkten in Bereich Julian Fischer Geometrie 2 6.7.2009 8 / 30

kd-bäume Beispiel: Abbruch bei 3 oder weniger Punkten in Bereich Julian Fischer Geometrie 2 6.7.2009 8 / 30

kd-bäume Vorteile: effizient auch bei ungleichmäßiger Verteilung der Punkte, sofern n P Julian Fischer Geometrie 2 6.7.2009 9 / 30

kd-bäume Vorteile: effizient auch bei ungleichmäßiger Verteilung der Punkte, sofern n P Aufbau O(P log P) Julian Fischer Geometrie 2 6.7.2009 9 / 30

kd-bäume Vorteile: effizient auch bei ungleichmäßiger Verteilung der Punkte, sofern n P Aufbau O(P log P) Anfrage O(P 1 1 n + a) Julian Fischer Geometrie 2 6.7.2009 9 / 30

kd-bäume Vorteile: effizient auch bei ungleichmäßiger Verteilung der Punkte, sofern n P Aufbau O(P log P) Anfrage O(P 1 1 n + a) Nachteile: vergleichsweise aufwendig zu implementieren Julian Fischer Geometrie 2 6.7.2009 9 / 30

Divide and Conquer Prinzip: rekursives Aufteilen eines größeren Problems auf kleinere Teilprobleme liefert häufig verbesserte asymptotische Laufzeit Julian Fischer Geometrie 2 6.7.2009 10 / 30

Divide and Conquer Prinzip: rekursives Aufteilen eines größeren Problems auf kleinere Teilprobleme liefert häufig verbesserte asymptotische Laufzeit Laufzeit enthält typischerweise Faktor log n Julian Fischer Geometrie 2 6.7.2009 10 / 30

Divide and Conquer Prinzip: rekursives Aufteilen eines größeren Problems auf kleinere Teilprobleme liefert häufig verbesserte asymptotische Laufzeit Laufzeit enthält typischerweise Faktor log n Beispiel: Mergesort Julian Fischer Geometrie 2 6.7.2009 10 / 30

Closest pair Problem: Gegeben ist Punktmenge M; finde die beiden Punkte mit dem geringsten Abstand zueinander Julian Fischer Geometrie 2 6.7.2009 11 / 30

Closest pair Problem: Gegeben ist Punktmenge M; finde die beiden Punkte mit dem geringsten Abstand zueinander Idee: teile Punktmenge entlang einer Geraden (z.b. Parallele zu x-achse) in zwei Mengen M 1, M 2 auf Julian Fischer Geometrie 2 6.7.2009 11 / 30

Closest pair Problem: Gegeben ist Punktmenge M; finde die beiden Punkte mit dem geringsten Abstand zueinander Idee: teile Punktmenge entlang einer Geraden (z.b. Parallele zu x-achse) in zwei Mengen M 1, M 2 auf berechne das Closest pair in M 1 und das Closest pair in M 2 (rekursiv) Julian Fischer Geometrie 2 6.7.2009 11 / 30

Closest pair Problem: Gegeben ist Punktmenge M; finde die beiden Punkte mit dem geringsten Abstand zueinander Idee: teile Punktmenge entlang einer Geraden (z.b. Parallele zu x-achse) in zwei Mengen M 1, M 2 auf berechne das Closest pair in M 1 und das Closest pair in M 2 (rekursiv) berechne nun noch die Punkte p 1 M 1, p 2 M 2 mit dem geringsten Abstand Julian Fischer Geometrie 2 6.7.2009 11 / 30

Closest pair dies ist in Linearzeit möglich: Julian Fischer Geometrie 2 6.7.2009 12 / 30

Closest pair dies ist in Linearzeit möglich: d min bislang geringster gefundener Abstand Julian Fischer Geometrie 2 6.7.2009 12 / 30

Closest pair dies ist in Linearzeit möglich: d min bislang geringster gefundener Abstand sortiere alle Punkte aus M 1 und M 2 aus, deren Abstand von der Splitgeraden d min überschreitet Julian Fischer Geometrie 2 6.7.2009 12 / 30

Closest pair dies ist in Linearzeit möglich: d min bislang geringster gefundener Abstand sortiere alle Punkte aus M 1 und M 2 aus, deren Abstand von der Splitgeraden d min überschreitet ordne verbleibende Punkte in M 1 und in M 2 jeweils nach x-koordinate Julian Fischer Geometrie 2 6.7.2009 12 / 30

Closest pair durchlaufe Punkte in M 1 nach x-koordinate sortiert und berechne Abstand zu Punkten aus M 2 Julian Fischer Geometrie 2 6.7.2009 13 / 30

Closest pair durchlaufe Punkte in M 1 nach x-koordinate sortiert und berechne Abstand zu Punkten aus M 2 dabei müssen nur Punkte aus M 2 berücksichtigt werden, deren horizontaler Abstand zum momentanen Punkt aus M 1 d min nicht übersteigt Julian Fischer Geometrie 2 6.7.2009 13 / 30

Closest pair durchlaufe Punkte in M 1 nach x-koordinate sortiert und berechne Abstand zu Punkten aus M 2 dabei müssen nur Punkte aus M 2 berücksichtigt werden, deren horizontaler Abstand zum momentanen Punkt aus M 1 d min nicht übersteigt Laufzeit insgesamt O(n log n) Julian Fischer Geometrie 2 6.7.2009 13 / 30

IOI 2006: Points gegeben ist eine Menge von entweder rot oder grün gefärbten Punkten keine drei Punkte sind kollinear Julian Fischer Geometrie 2 6.7.2009 14 / 30

IOI 2006: Points gegeben ist eine Menge von entweder rot oder grün gefärbten Punkten keine drei Punkte sind kollinear oben rechts bzw. links befindet sich je ein grüner Punkt, unten rechts bzw. links je ein roter Punkt alle anderen Punkte sind in dem Viereck, das diese vier Punkte bilden, enthalten Julian Fischer Geometrie 2 6.7.2009 14 / 30

IOI 2006: Points Aufgabe: verbinde alle roten Punkte bzw. alle grünen Punkte durch überschneidungsfreie Strecken miteinander Julian Fischer Geometrie 2 6.7.2009 15 / 30

IOI 2006: Points Aufgabe: verbinde alle roten Punkte bzw. alle grünen Punkte durch überschneidungsfreie Strecken miteinander Julian Fischer Geometrie 2 6.7.2009 15 / 30

IOI 2006: Points Vorgehensweise: betrachte Dreieck mit zwei roten (grünen) Eckpunkten und einem grünen (roten) Eckpunkt die beiden gleichfarbigen Eckpunkte seien bereits verbunden Julian Fischer Geometrie 2 6.7.2009 16 / 30

IOI 2006: Points falls nur Punkte einer Farbe in Dreieck: verbinde alle Punkte innerhalb des Dreiecks mit einem Eckpunkt der selben Farbe. Julian Fischer Geometrie 2 6.7.2009 17 / 30

IOI 2006: Points falls nur Punkte einer Farbe in Dreieck: verbinde alle Punkte innerhalb des Dreiecks mit einem Eckpunkt der selben Farbe. Julian Fischer Geometrie 2 6.7.2009 17 / 30

IOI 2006: Points falls Punkte beider Farben in Dreieck: verbinde Eckpunkt, dessen Farbe bei den Ecken des Dreiecks nur einmal auftritt, mit zufälligem Punkt der selben Farbe innerhalb des Dreiecks Julian Fischer Geometrie 2 6.7.2009 18 / 30

IOI 2006: Points falls Punkte beider Farben in Dreieck: verbinde Eckpunkt, dessen Farbe bei den Ecken des Dreiecks nur einmal auftritt, mit zufälligem Punkt der selben Farbe innerhalb des Dreiecks Julian Fischer Geometrie 2 6.7.2009 18 / 30

IOI 2006: Points falls Punkte beider Farben in Dreieck: verbinde Eckpunkt, dessen Farbe bei den Ecken des Dreiecks nur einmal auftritt, mit zufälligem Punkt der selben Farbe innerhalb des Dreiecks rufe Algorithmus rekursiv auf die Dreiecke auf, die man durch Unterteilung des alten Dreiecks mit dem zufällig gewählten Punkt erhält Julian Fischer Geometrie 2 6.7.2009 18 / 30

IOI 2006: Points alle Punkte sind in dem äußeren Viereck enthalten Julian Fischer Geometrie 2 6.7.2009 19 / 30

IOI 2006: Points alle Punkte sind in dem äußeren Viereck enthalten deshalb können wir die gleichfarbigen Eckpunkte des Viereck verbinden,... Julian Fischer Geometrie 2 6.7.2009 19 / 30

IOI 2006: Points alle Punkte sind in dem äußeren Viereck enthalten deshalb können wir die gleichfarbigen Eckpunkte des Viereck verbinden,...... das Viereck in zwei Dreiecke zerlegen und den Algorithmus auf diese beiden Dreiecke aufrufen Julian Fischer Geometrie 2 6.7.2009 19 / 30

Definitionen gegeben sei Punktmenge M im R n Julian Fischer Geometrie 2 6.7.2009 20 / 30

Definitionen gegeben sei Punktmenge M im R n Voronoi-Diagramm: Menge von Regionen Julian Fischer Geometrie 2 6.7.2009 20 / 30

Definitionen gegeben sei Punktmenge M im R n Voronoi-Diagramm: Menge von Regionen alle Punkte innerhalb einer Region besitzen denselben Punkt aus M als nächsten Nachbarn Julian Fischer Geometrie 2 6.7.2009 20 / 30

Definitionen gegeben sei Punktmenge M im R n Voronoi-Diagramm: Menge von Regionen alle Punkte innerhalb einer Region besitzen denselben Punkt aus M als nächsten Nachbarn Voronoi-Diagramm ist gröbste solche Zerlegung des Raums Julian Fischer Geometrie 2 6.7.2009 20 / 30

Definitionen gegeben sei Menge von Dreiecken Julian Fischer Geometrie 2 6.7.2009 21 / 30

Definitionen gegeben sei Menge von Dreiecken Umkreisbedingung: Im Inneren des Umkreises jedes Dreiecks liegt kein Eckpunkt eines anderen Dreiecks Julian Fischer Geometrie 2 6.7.2009 21 / 30

Definitionen gegeben sei Punktmenge M im R n Julian Fischer Geometrie 2 6.7.2009 22 / 30

Definitionen gegeben sei Punktmenge M im R n betrachte eine Triangulation der gegebenen Punktmenge Julian Fischer Geometrie 2 6.7.2009 22 / 30

Definitionen gegeben sei Punktmenge M im R n betrachte eine Triangulation der gegebenen Punktmenge diese heißt Delaunay-Triangulation, wenn sie die Umkreisbedingung erfüllt Julian Fischer Geometrie 2 6.7.2009 22 / 30

Definitionen gegeben sei Punktmenge M im R n betrachte eine Triangulation der gegebenen Punktmenge diese heißt Delaunay-Triangulation, wenn sie die Umkreisbedingung erfüllt mehrdimensionaler Fall: Definition analog, nur mit Simplizes statt Dreiecken Julian Fischer Geometrie 2 6.7.2009 22 / 30

Definitionen Delaunay-Triangulation ist dual zum Voronoi-Diagramm: Julian Fischer Geometrie 2 6.7.2009 23 / 30

Definitionen Delaunay-Triangulation ist dual zum Voronoi-Diagramm: Dualgraph von Delaunay-Triangulation ist Voronoi-Diagramm Julian Fischer Geometrie 2 6.7.2009 23 / 30

Definitionen Berechnung des Voronoi-Diagramms aus Delaunay-Triangulation möglich: Julian Fischer Geometrie 2 6.7.2009 24 / 30

Definitionen Berechnung des Voronoi-Diagramms aus Delaunay-Triangulation möglich: Berechnung des zum Punkt P gehörigen Gebiets: Julian Fischer Geometrie 2 6.7.2009 24 / 30

Definitionen Berechnung des Voronoi-Diagramms aus Delaunay-Triangulation möglich: Berechnung des zum Punkt P gehörigen Gebiets: betrachte Halbräume, die P enthalten und durch die Mittelsenkrechten der Verbindungsstrecken zwischen P und den Nachbarn von P begrenzt werden Julian Fischer Geometrie 2 6.7.2009 24 / 30

Definitionen Berechnung des Voronoi-Diagramms aus Delaunay-Triangulation möglich: Berechnung des zum Punkt P gehörigen Gebiets: betrachte Halbräume, die P enthalten und durch die Mittelsenkrechten der Verbindungsstrecken zwischen P und den Nachbarn von P begrenzt werden das gesuchte Gebiet ist der Schnitt diese Halbräume Julian Fischer Geometrie 2 6.7.2009 24 / 30

Definitionen Berechnung des Voronoi-Diagramms aus Delaunay-Triangulation möglich: Berechnung des zum Punkt P gehörigen Gebiets: betrachte Halbräume, die P enthalten und durch die Mittelsenkrechten der Verbindungsstrecken zwischen P und den Nachbarn von P begrenzt werden das gesuchte Gebiet ist der Schnitt diese Halbräume Umgekehrt kann aus Voronoi-Diagramm sofort die Delaunay-Triangulation ermittelt werden Julian Fischer Geometrie 2 6.7.2009 24 / 30

Voronoi-Diagramme Berechnung durch iteratives Einfügen von Punkten und Aktualisieren des Diagramms Julian Fischer Geometrie 2 6.7.2009 25 / 30

Voronoi-Diagramme Berechnung durch iteratives Einfügen von Punkten und Aktualisieren des Diagramms Bei Einfügung eines neuen Punkts müssen nur die Zelle, in der er liegt, sowie (rekursiv) alle Nachbarzellen von geänderten Zellen aktualisiert werden Julian Fischer Geometrie 2 6.7.2009 25 / 30

Voronoi-Diagramme Berechnung durch iteratives Einfügen von Punkten und Aktualisieren des Diagramms Bei Einfügung eines neuen Punkts müssen nur die Zelle, in der er liegt, sowie (rekursiv) alle Nachbarzellen von geänderten Zellen aktualisiert werden Aktualisierung einer Zelle geschieht also durch Schnitt eines Simplex mit einem Halbraum Julian Fischer Geometrie 2 6.7.2009 25 / 30

Delaunay-Triangulation (2D) wir betrachten nur den zweidimensionalen Fall Julian Fischer Geometrie 2 6.7.2009 26 / 30

Delaunay-Triangulation (2D) wir betrachten nur den zweidimensionalen Fall füge iterativ Punkte in zufälliger Reihenfolge hinzu Julian Fischer Geometrie 2 6.7.2009 26 / 30

Delaunay-Triangulation (2D) wir betrachten nur den zweidimensionalen Fall füge iterativ Punkte in zufälliger Reihenfolge hinzu bei Hinzufügen eines neuen Punkts: teile Dreieck, in dem er liegt, in drei neue Dreiecke auf Julian Fischer Geometrie 2 6.7.2009 26 / 30

Delaunay-Triangulation (2D) wir betrachten nur den zweidimensionalen Fall füge iterativ Punkte in zufälliger Reihenfolge hinzu bei Hinzufügen eines neuen Punkts: teile Dreieck, in dem er liegt, in drei neue Dreiecke auf falls ein Dreieck die Umkreisbedingung verletzt, gibt es ein anliegendes Dreieck, so dass der dritte Punkt dieses anliegenden Dreiecks die Bedingung verletzt Julian Fischer Geometrie 2 6.7.2009 26 / 30

Delaunay-Triangulation (2D) falls ein Dreieck die Umkreisbedingung verletzt, gibt es ein anliegendes Dreieck, so dass der dritte Punkt dieses anliegenden Dreiecks die Bedingung verletzt Julian Fischer Geometrie 2 6.7.2009 27 / 30

Delaunay-Triangulation (2D) falls ein Dreieck die Umkreisbedingung verletzt, gibt es ein anliegendes Dreieck, so dass der dritte Punkt dieses anliegenden Dreiecks die Bedingung verletzt wir betrachten dann das von diesen Punkten gebildete Viereck, das entlang einer Diagonale unterteilt wurde, und ändern die Unterteilungsdiagonale Julian Fischer Geometrie 2 6.7.2009 27 / 30

Delaunay-Triangulation (2D) falls ein Dreieck die Umkreisbedingung verletzt, gibt es ein anliegendes Dreieck, so dass der dritte Punkt dieses anliegenden Dreiecks die Bedingung verletzt wir betrachten dann das von diesen Punkten gebildete Viereck, das entlang einer Diagonale unterteilt wurde, und ändern die Unterteilungsdiagonale prüfe dann rekursiv für benachbarte Dreiecke, ob Umkreisbedingung verletzt Julian Fischer Geometrie 2 6.7.2009 27 / 30

Delaunay-Triangulation (2D) naive Bestimmung des Dreiecks, in dem neuer Punkt landet: O(n 2 ) Julian Fischer Geometrie 2 6.7.2009 28 / 30

Delaunay-Triangulation (2D) naive Bestimmung des Dreiecks, in dem neuer Punkt landet: O(n 2 ) bessere Methode: DAG, in dem Änderungen an der Triangulationsstruktur gespeichert werden Julian Fischer Geometrie 2 6.7.2009 28 / 30

Delaunay-Triangulation (2D) naive Bestimmung des Dreiecks, in dem neuer Punkt landet: O(n 2 ) bessere Methode: DAG, in dem Änderungen an der Triangulationsstruktur gespeichert werden bei Aufteilung eines Dreiecks: füge drei neue Knoten und Kanten vom altem Knoten zu neuen Knoten ein Julian Fischer Geometrie 2 6.7.2009 28 / 30

Delaunay-Triangulation (2D) naive Bestimmung des Dreiecks, in dem neuer Punkt landet: O(n 2 ) bessere Methode: DAG, in dem Änderungen an der Triangulationsstruktur gespeichert werden bei Aufteilung eines Dreiecks: füge drei neue Knoten und Kanten vom altem Knoten zu neuen Knoten ein bei Kanten flip : füge zwei neue Knoten ein; füge Kanten vom alten Knoten zu neuen Knoten ein Julian Fischer Geometrie 2 6.7.2009 28 / 30

Delaunay-Triangulation (2D) naive Bestimmung des Dreiecks, in dem neuer Punkt landet: O(n 2 ) bessere Methode: DAG, in dem Änderungen an der Triangulationsstruktur gespeichert werden bei Aufteilung eines Dreiecks: füge drei neue Knoten und Kanten vom altem Knoten zu neuen Knoten ein bei Kanten flip : füge zwei neue Knoten ein; füge Kanten vom alten Knoten zu neuen Knoten ein bei Einfügen eines Punktes: durchlaufe Baum entlang des einzigen möglichen Pfads, um Dreieck zu finden, das durch ihn unterteilt werden soll Julian Fischer Geometrie 2 6.7.2009 28 / 30

Delaunay-Triangulation (2D) naive Bestimmung des Dreiecks, in dem neuer Punkt landet: O(n 2 ) bessere Methode: DAG, in dem Änderungen an der Triangulationsstruktur gespeichert werden bei Aufteilung eines Dreiecks: füge drei neue Knoten und Kanten vom altem Knoten zu neuen Knoten ein bei Kanten flip : füge zwei neue Knoten ein; füge Kanten vom alten Knoten zu neuen Knoten ein bei Einfügen eines Punktes: durchlaufe Baum entlang des einzigen möglichen Pfads, um Dreieck zu finden, das durch ihn unterteilt werden soll Laufzeit: O(n log n) (durchschnittlich) Julian Fischer Geometrie 2 6.7.2009 28 / 30

Zusammenfassung Julian Fischer Geometrie 2 6.7.2009 29 / 30

Zusammenfassung Bereichssuche und kd-bäume Julian Fischer Geometrie 2 6.7.2009 29 / 30

Zusammenfassung Bereichssuche und kd-bäume Binärbäume zur effizienten Realisierung von Operationen auf Intervallen Julian Fischer Geometrie 2 6.7.2009 29 / 30

Zusammenfassung Bereichssuche und kd-bäume Binärbäume zur effizienten Realisierung von Operationen auf Intervallen kd-bäume zur Bereichssuche im R n, n P Julian Fischer Geometrie 2 6.7.2009 29 / 30

Zusammenfassung Bereichssuche und kd-bäume Binärbäume zur effizienten Realisierung von Operationen auf Intervallen kd-bäume zur Bereichssuche im R n, n P bei gleichmäßiger Punkteverteilung auch Gitterverfahren Julian Fischer Geometrie 2 6.7.2009 29 / 30

Zusammenfassung Bereichssuche und kd-bäume Binärbäume zur effizienten Realisierung von Operationen auf Intervallen kd-bäume zur Bereichssuche im R n, n P bei gleichmäßiger Punkteverteilung auch Gitterverfahren Divide-and-Conquer Julian Fischer Geometrie 2 6.7.2009 29 / 30

Zusammenfassung Bereichssuche und kd-bäume Binärbäume zur effizienten Realisierung von Operationen auf Intervallen kd-bäume zur Bereichssuche im R n, n P bei gleichmäßiger Punkteverteilung auch Gitterverfahren Divide-and-Conquer häufig bei ICPC: Verwendung zur Berechnung des closest pair Julian Fischer Geometrie 2 6.7.2009 29 / 30

Zusammenfassung Bereichssuche und kd-bäume Binärbäume zur effizienten Realisierung von Operationen auf Intervallen kd-bäume zur Bereichssuche im R n, n P bei gleichmäßiger Punkteverteilung auch Gitterverfahren Divide-and-Conquer häufig bei ICPC: Verwendung zur Berechnung des closest pair auch als Ansatz für Nichtstandard-Aufgaben Julian Fischer Geometrie 2 6.7.2009 29 / 30

Zusammenfassung Bereichssuche und kd-bäume Binärbäume zur effizienten Realisierung von Operationen auf Intervallen kd-bäume zur Bereichssuche im R n, n P bei gleichmäßiger Punkteverteilung auch Gitterverfahren Divide-and-Conquer häufig bei ICPC: Verwendung zur Berechnung des closest pair auch als Ansatz für Nichtstandard-Aufgaben Voronoi-Diagramme und Delaunay-Triangulation Julian Fischer Geometrie 2 6.7.2009 29 / 30

Zusammenfassung Bereichssuche und kd-bäume Binärbäume zur effizienten Realisierung von Operationen auf Intervallen kd-bäume zur Bereichssuche im R n, n P bei gleichmäßiger Punkteverteilung auch Gitterverfahren Divide-and-Conquer häufig bei ICPC: Verwendung zur Berechnung des closest pair auch als Ansatz für Nichtstandard-Aufgaben Voronoi-Diagramme und Delaunay-Triangulation machbar in 2D, schwierig in höheren Dimensionen Julian Fischer Geometrie 2 6.7.2009 29 / 30

Zusammenfassung Bereichssuche und kd-bäume Binärbäume zur effizienten Realisierung von Operationen auf Intervallen kd-bäume zur Bereichssuche im R n, n P bei gleichmäßiger Punkteverteilung auch Gitterverfahren Divide-and-Conquer häufig bei ICPC: Verwendung zur Berechnung des closest pair auch als Ansatz für Nichtstandard-Aufgaben Voronoi-Diagramme und Delaunay-Triangulation machbar in 2D, schwierig in höheren Dimensionen typischerweise genügen bei ICPC-Aufgaben die quadratischen Algorithmen Julian Fischer Geometrie 2 6.7.2009 29 / 30

Ende Das wars... Julian Fischer Geometrie 2 6.7.2009 30 / 30