Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II Vorlesung 5...

52
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II Vorlesung 5 SS 2000 Konstruktion der Voronoi-Diagramme I

Transcript of Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II Vorlesung 5...

Institut für Kartographie und GeoinformationProf. Dr. Lutz Plümer

Geoinformation IIVorlesung 5

SS 2000

Konstruktion der Voronoi-Diagramme I

Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5

2 2

Übersicht I

• Voronoi Regionen (Wdhg.)• Eigenschaften von Voronoi-Diagrammen (Wdhg.)• Konstruktion des Voronoi-Diagramms• Was ist das schwierigste Teilproblem?

– Split

– Rekursion I– Rekursion II

– Merge

• Teilschritte von „Divide and Conquer“• Split

• VD( P2 )

• VD( P1 )

Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5

3 3

Übersicht II

• Merge• Konstruktion des trennenden Kantenzuges

• Konvexe Hülle von P1 und P2• Konstruktion der Nord- und Südspitzen

• Vereinigung• Löschen der überflüssigen Segmente

• Ergebnis: Voronoi-Diagramm von P

• Datenstruktur für Voronoi-Diagramm• Kosten

• Länge des Kantenzuges im Worst Case• Größenordnung des Kanten-Umrings im worst case

• O(n) * O(n) = O(n2) ?

• „Investitionen müssen sich amortisieren“

Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5

4 4

Voronoi Regionen (Wdhg.)

beschränkte VoronoiRegionen

unbeschränkte VoronoiRegionen

Die konvexe Hülle ver-bindet die unbeschränktenVoronoi Regionen

Jede Voroni-Region ist konvex!

Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5

5 5

Eigenschaften von Voronoi-Diagrammen (Wdhg.)

• Vereinfachende Annahme: aus der gegebenen Punktmenge liegen keine 4 Elemente auf einem gemeinsamen Kreis

• Jeder Voronoi-Knoten hat genau drei Kanten• Das Voronoi-Diagramm von n Punkten hat höchstens

2n – 4 Knoten und 3n – 6 Kanten (linear!)• Die Knoten mit unbeschränkten Regionen bilden die

konvexe Hülle• Der „duale Graph“, bei dem benachbarte Punkte

miteinander verbunden werden, bildet eine Delaunay-Triangulation

Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5

6 6

Konstruktion des Voronoi-Diagramms

„Divide and Conquer“

1. Input: Gegeben ist eine Menge P von mindestens 2 Punkten

2. Split: Zerlege P in zwei etwa gleich große Teilmengen P1 und P2

3. Rekursiv: Berechne Voronoi-Diagramme von VD(P1) und VD(P2)

4. Merge: Verknüpfe VD(P1) und VD(P2)

5. Halt: Der Abschluß ist erreicht, wenn das Voronoi-Diagramm eines Punktes zu bilden ist, dies ist die ganze Ebene

Wie oft ist dieser Zyklus zu durchlaufen? log n mal

Die gewünschte Laufzeit O(n * log n) wird erreicht,

wenn „ Split“ and „ Merge“ nicht mehr als O(n) Schritte benötigen,

Was ist das schwierigste Teilproblem?

Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5

7 7

P1

P2

Was ist das schwierigste Teilproblem? - Split

Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5

8 8

Was ist das schwierigste Teilproblem? - Rekursion I

Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5

9 9

Was ist das schwierigste Teilproblem? - Rekursion II

Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5

10 10

Was ist das schwierigste Teilproblem? - Merge

Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5

11 11

Teilschritte von „Divide and Conquer“

• Input: Sortiere aufsteigend nach x-Koordinate• Split:

– Bestimme den Median – Zerlege in annähernd gleich große Teilmengen links und

rechts des Medians

• Merge– Konstruktion des trennenden Kantenzuges – Abschneiden überflüssiger Kanten– Bildung der Voronoi-Regionen (wie bei Overlay-Algorithmus)– Einfachster Fall von Merge: die Teilmengen enthalten je einen

Punkt• der trennende Kantenzug ist die Mittelsenkrechte dieser

Punkte

Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5

12 12

P1

P2

Split

P

Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5

13 13

VD( P2 )

Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5

14 14

VD( P1 )

Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5

15 15

Merge

Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5

16 16

Konstruktion des trennenden Kantenzuges

Was wissen wir über den trennenden Kantenzug?

• monoton in Nord-Süd-Richtung• jede Kante ist Grenze (Mittelsenkrechte) zwischen

einer roten und einer grünen Region• Problem: sukzessive Identifikation der

benachbarten roten und grünen Punkte• die nördlichsten und südlichsten Teilstücke sind

unbeschränkt, also Halbgeraden

• die benachbarten roten und grünen Punkte bilden dort unbeschränkte Voronoi-Regionen

• sie liegen also jeweils auf der roten bzw. grünen konvexen Hülle

• beginnen wir also mit den beiden (grünen und roten) „Nordspitzen“

Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5

17 17

max y

min ymin y

max y

Konvexe Hülle von P1 und P2

Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5

18 18

max y

min ymin y

max y

Konvexe Hülle von P1 und P2

Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5

19 19

Konstruktion der Nord- und Südspitzen

• die konvexe Hülle ist Abfallprodukt der Erzeugung des Voronoi-Diagramms

• synchrone Herleitung beider Strukturen• die konvexe Hülle ergibt sich aus den Teilstrukturen durch

Einfügen zweier zusätzlicher Kanten• diese verbinden die roten und grünen Nord- und Südspitzen

miteinander• die neuen Spitzen ergeben sich aus den Minima/Maxima der

alten rot-grünen Spitzen• Datenstruktur wie bei Overlay

(doppelt verkettete Kanten)• zusätzlicher Aufwand: O(1)

Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5

20 20

Vereinigung

Mittelsenkrechte bilden

Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5

21 21

Vereinigung

Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5

22 22

Vereinigung

Aktive Voronoi-Diagramme

Schnittpunkte mit Seg-menten suchen

Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5

23 23

Vereinigung

Aktive Voronoi-Diagramme

Schnittpunkte mit Seg-menten suchen

Neues aktives VD

Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5

24 24

Vereinigung

Aktive Voronoi-Diagramme

Schnittpunkte mit Seg-menten suchen

Neues aktives VD

Mittelsenkrechte zuwischenden aktiven VD

Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5

25 25

Vereinigung

Schnittpunkte suchen

Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5

26 26

Vereinigung

Schnittpunkte suchen

Neues aktives VD suchen

Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5

27 27

Vereinigung

Schnittpunkte suchen

Neues aktives VD suchen

Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5

28 28

Vereinigung

Schnittpunkte suchen

Neues aktives VD suchen

Mittelsenkrechte deraktiven VD

Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5

29 29

Vereinigung

Schnittpunkte suchen

Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5

30 30

Vereinigung

Schnittpunkte suchen

Neues aktives VD suchen

Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5

31 31

Vereinigung

Schnittpunkte suchen

Neues aktives VD suchen

Mittelsenkrechte deraktiven VD

Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5

32 32

Vereinigung

Nächsten relevanten Schnittpunkte suchen

Neues aktives VD suchen

Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5

33 33

Vereinigung

Nächsten relevanten Schnittpunkte suchen

Neues aktives VD suchen

Mittelsenkrechte deraktiven VD

Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5

34 34

Vereinigung

Nächsten relevanten Schnittpunkte suchen

Neues aktives VD suchen

Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5

35 35

Vereinigung

Nächsten relevanten Schnittpunkte suchen

Neues aktives VD suchen

Mittelsenkrechte deraktiven VD

Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5

36 36

Vereinigung

Nächsten relevanten Schnittpunkte suchen

Neues aktives VD suchen

Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5

37 37

Vereinigung

Nächsten relevanten Schnittpunkte suchen

Neues aktives VD suchen

Mittelsenkrechte deraktiven VD

Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5

38 38

Vereinigung

Nächsten relevanten Schnittpunkte suchen

Neues aktives VD suchen

Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5

39 39

Vereinigung

Nächsten relevanten Schnittpunkte suchen

Neues aktives VD suchen

Mittelsenkrechte deraktiven VD

Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5

40 40

Vereinigung

Nächsten relevanten Schnittpunkte suchen

Neues aktives VD suchen

Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5

41 41

Vereinigung

Nächsten relevanten Schnittpunkte suchen

Neues aktives VD suchen

Verknüpfung mit der Mittel-senkrechten vom Anfang

Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5

42 42

Vereinigung

Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5

43 43

Löschen der überflüssigen Segmente

Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5

44 44

Löschen der überflüssigen Segmente

Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5

45 45

Ergebnis: Voronoi-Diagramm von P

Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5

46 46

Datenstruktur für Voronoi-Diagramm

• Doppelt verkettete Kantenliste• Durchlaufen des Kantenumrings in linearer Zeit• Direkter Zugriff auf die benachbarten Maschen

Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5

47 47

Kosten

• wie lange dauert die Konstruktion des trennenden Kantenzuges?

• Zahl der Teilkanten / Knoten des Kantenzuges• Zahl Berechnungen von Schnittpunkten mit den

benachbarten Voronoi-Regionen

Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5

48 48

O(n)

Länge des Kantenzuges im Worst Case

Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5

49 49

Größenordnung des Kanten-Umrings im worst case

O(n)

Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5

50 50

O(n) * O(n) = O(n2) ?

Voronoi-Regionen sind konvex

Kantenzug ist monoton

war jetzt alles umsonst?

Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5

51 51

O(n) * O(n) = O(n2) ?

Voronoi-Regionen sind konvex

Kantenzug ist monoton

Keine Kante öfter als zwei mal anfassen!

Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 5

52 52

„Investitionen müssen sich amortisieren“

• Ziel: keine Kante mehr als zwei mal „anfassen“• Es gibt insgesamt höchstens 3* n – 6 Kanten O(n)• Konvexität der Voronoi-Regionen höchstens

zwei Schnittpunkte mit der aktiven Halbgeraden• Es genügt, die linken (grünen) Kantenumringe im

Uhrzeigersinn und die rechten (roten) Kantenumringe gegen den Uhrzeigersinn zu durchlaufen und den zuletzt gefundenen und verworfenen Schnittpunkt als Haltepunkt zu merken!