• Keine Ergebnisse gefunden

Delaunay Triangulation

N/A
N/A
Protected

Academic year: 2021

Aktie "Delaunay Triangulation"

Copied!
30
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Algorithmische Geometrie - SS 99 - Th. Ottmann

Delaunay Triangulation

1. Motivation

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

4. Berechnung der Delaunay Triangulation (randomisiert, inkrementell)

5. Analyse des Platz- und Zeitbedarfs

(2)

in eine perspektivische Sicht

1. Motivation

Umwandlung einer topographischen Karte

(3)

Terrains

Gegeben:

Eine Anzahl von Beispielpunkten p1,...,pn Gesucht:

Triangulation T mit Bild von T "realistisch"

Das "Flippen" einer Kante

Ziel:

Maximierung des Winkels in der Triangulation

20 50

900

930

20 50

900

930

(4)

2. Triangulation ebener Punktmengen

Gegeben: Menge P von n Punkten in der Ebene (nicht alle kollinear).

Eine Triangulation T(P) ist eine planare Auf- teilung der konvexen Hülle von P in Dreiecke mit Eckpunkten aus P.

T(P) ist maximale Unterteilung.

Für eine gegebene Punktmenge gibt es nur

endlich viele verschiedene Triangulationen.

(5)

Größe von Triangulationen

Jede Triangulation einer Punktmenge P={p1,...,pn}

besitzt 2n-2+k Dreiecke und 3n-3-k Kanten, k = # Kanten auf der konvexen Hülle

Satz:

(6)

Größe von Triangulationen

Jede Triangulation einer Punktmenge P={p1,...,pn}

besitzt 2n-2+k Dreiecke und 3n-3-k Kanten, k = # Kanten auf der konvexen Hülle

Satz:

Beweis:

Dreieck 3 Kanten, äußere Fläche k Kanten f = #Dreiecke + 1

e = (3 #Dreiecke + k)/2

Kante hat jeweils 2 inzidente Flächen =>

Euler: n-e+f = 2 =>

#Dreiecke = 2n-2-k und

e = 3n-3-k

(7)

Winkelvektor

P Menge von n Punkten T(P) habe m Dreiecke

A(T) = {a1,...,a3m} Vektor der 3m Winkel in absteigender Größenanordnung

Triangulationen lassen sich bzgl. A(T) lexikographisch anordnen!

Triangulation T(P) heißt winkeloptimal , wenn A(T(P))>=A(T’(P)) für alle Triangulationen

T’(P) gilt.

(8)

a1

a2 a3

a4 a6 a5

a1’

a2’

a3’

a4’

a5’

Kanten-Flip a6’

Kante pi pj illegal <=>

min{ai | i aus 1..6} < min {ai’ | i aus 1..6}

T hat illegale Kante =>

Flippen zu T’ ergibt A(T’)>A(T) pi

pj Illegale Kanten

(9)

pi

pk

pj pl

Illegalitäts-Test

pi

pk

pj pl

(10)

Thales Theorem

a

b p

q r

s

Winkel(asb) <

Winkel(aqb) = Winkel(apb) <

Winkel(arb)

Sei C Kreis um Dreieck pi,pj,pk und pl weiterer Punkt.

pi pj illegal <=> pl im Inneren von C pi

pk

pj pl

(11)

pi pl pj

pk

Quadrilateral mit

pl im Innern des Kreises durch pi,pj,pk.

Beh.: Minimaler Winkel nicht bei pk!

Ziel: pi pj illegal

(12)

pk

pi pj

pl

a1’a2’

a1 a2

a3 a4 a3’a4’

pk

pi pj

pl

a1’a2’

a3’ a4’

pk

pi pj

pl

a1 a2

a3 a4

O.E. a4 minimal.

Kreiskriterium verletzt

=> Kante illegal

(13)

pi

pj

pk pl

Kante pi pj illegal

Kante pk pl illegal

Kreiskriterium verletzt

(14)

Kreiskriterium

Eine Triangulation erfüllt das Kreiskriterium gdw. der Umkreis eines jeden Dreiecks enthält keinen weiteren Punkt im Innern.

(15)

Satz

Jede Triangulation T(P) einer Punktmenge P kann in endlich vielen Schritten in eine

winkeloptimale Triangulation verwandelt werden.

Satz

Eine Triangulation T(P) einer Menge von Punkten enthält keine illegale Kante gdw. nirgendwo

das Kreiskriterium verletzt ist.

(16)

Algorithmische Geometrie - SS 99 - Th. Ottmann

Kante zwischen zwei benachbarten Vor-Regionen

2. Definition und Eigenschaften der Delaunay Triangulation

Die Delaunay Triangulation ist das "straight - line dual" des Voronoi Diagramms.

Jeder Voronoi Knoten ist Mittelpunkt eines Dreiecks der Delaunay Triangulation.

(Für Mengen von Punkten in allgemeiner Lage)

(17)

Algorithmische Geometrie - SS 99 - Th. Ottmann

Planarität

pi

pj Cij

Wissen (Vor-Diagrammen)

pi pj in Delauney Graph G(P) <=>

ex. Cij, mit pi und pj und keinem pk auf dem Rand

Tij

Satz: G(P) planar.

Beweis:

Ckl weiterer Kreis und Tkl weiteres Dreieck Ckl und Cij leer => Tkl schneidet Tij nicht

=> pi pj schneidet pk pl nicht

(18)
(19)

Algorithmische Geometrie - SS 99 - Th. Ottmann

Triangulation

Keine 4 Punkte auf einem Kreis Delaunay Graph ist Triangulation 3 Punkte pi,pj,pk bilden Dreieck im

Delaunay-Graph <=>

Kreis um pi,pj,pk enthält keinen weiteren Punkt.

Ziel:

Winkeloptimale Triangulation ist Delaunay.

Jede Delaunay-Triangulation ist Winkeloptimal.

=> Jede Delaunay-Triangulation ist legal Annahme:

(20)

Äquivalente Charakterisierungen der

Delaunay Triangulation DT(P) einer Punktmenge P (1) DT(P) ist straight-line-dual von VD(P)

(2) DT(P) ist eine Triangulation der konvexen

Hülle von P, so dass alle Kanten legal sind.

(3) DT(P) ist eine Triangulation der konvexen Hülle von P, so dass für jedes Dreick

das Kreiskriterium gilt.

(4) DT(P) ist winkeloptimale Triangulation (5) Eine Kante pi pj ist Kante in DT(P) gdw.

es einen abgeschlossenen Kreis gibt, auf dessen Rand pi und pj liegen und der

keinen weiteren Punkt aus P in seinem Innern enthält.

(21)

Algorithmische Geometrie - SS 99 - Th. Ottmann

Initial:

Dreieck xyz, daß alle Punkte p1,...,pn einschließt

m

(3m,0) (0,3m)

(-3m,-3m)

m = max { |xi-xj|,|yi-yj| }

3. Berechnung der Delaunay Triangulation

(randomisiert, inkrementell)

(22)

m

(0,3m)

(-3m,-3m)

(3m,0)

Ausgangsdreieck so gross, dass jeder Kreis um drei Punkte aus P keinen Eckpunkt des Ausgangsdreiecks enthält.

(23)

Algorithmus DT(P) Seien

x,y,z Punkte, sodass P im Ausgangsdreieck T mit diesen Eckpunkten enthalten ist.

1. Initialisiere DT(P) durch T

2. Berechne eine zufällige Permutation p1,...,pn der Punkte von P

3. Für r=1 bis n:

Füge pr zu DT(P) hinzu, d.h. finde das

Dreick der aktuellen Triangulation, in dem pr liegt, füge neue Kanten ein und

legalisiere sie.

4. Entferne alle Kanten, die mit x,y,z verbunden sind.

(24)

Algorithmische Geometrie - SS 99 - Th. Ottmann

2 Fälle

pr innen pr auf Kante

Legalisieren einer Kante

pi

pk

pr pr

pr pj

pi pk Legalize(pr,pi pj)

if (pi pj illegal) pk Zeuge

Ersetze pi pj mit pr pk Legalize(pr,pi pk)

Legalize(pr,pj pk)

(25)

Algorithmische Geometrie - SS 99 - Th. Ottmann

Algorithmus Delaunay(P)

T= xyz

for r = 1..n

Finde Dreieck in dem pr liegt splitte pi,pj,pk

Legalize(pr,pi pj),Legalize(pr,pi pk), Legalize(pr,pk pi)

2. Auf Kante pi pj

Legalize(pr,pi pl), Legalize(pl pj pk) Legalize(pr,pl pj), Legalize(pr, pk pi) Lösche xyz mit allen Kanten zu P

Ausgabe: Delaunay Triangulation der Menge P

1. Im Dreieck pi,pj,pk

(26)

Algorithmische Geometrie - SS 99 - Th. Ottmann

Korrektheit

z.Z. Jede neu erzeugte Kante in Iteration r ist Kante im

Delaunay Graph von x,y,z,p1,...,pr Nutze definierende Eigenschaft:

größter leerer Kreis

Beweisidee: "Schrumpfen des Kreises"

pk

pi pj

pk

pi pj

pl

Vor Einfügen von pr war Kreis um pi,pj,pk leer!

(27)

pr pj

pi pl

Flippen einer Kante erzeugt nur legale neue Kante:

Vor der Einfügung von pr

war Kreis um pi,pj,pl leer!

Beobachtung: Kantenflip nach Einfügen von pr erzeugt nur mit pr inzidente Kanten.

(28)

Algorithmische Geometrie - SS 99 - Th. Ottmann

Datenstruktur zur Punktlokalisation

t1

t2 t3

t2 t3

t5 t4

t7

t6 t4

t1 t2 t3

t1 t2 t3

t1 t2 t3

t1 t2 t3

t6 t7 t4 t5

t4 t5

(29)

5. Analyse des Algorithmus zur Konstruktion der Delaunay Triangulation DT(P)

Satz:

Der Erwartungswert für die Anzahl der vom Algorithmus zur Konstruktion von DT(P)

erzeugten Dreiecke für eine Menge P von n Punkten ist höchstens 9n+1.

m

(3m,0) (0,3m)

(-3m,-3m)

(30)

Satz

Die Delaunay Triangulation DT(P) für eine Menge P von n Punkten kann in erwarteter Zeit O(n log n) und erwartetem Platz O(n) berechnet werden.

Referenzen

ÄHNLICHE DOKUMENTE

En el primero, como historia y relato de vida, el caso individual de cada persona es el objeto de nuestro interés y comprensión, a través de cinco profesores y cinco profesoras,

Für die Studierenden ergab sich die Einsicht, dass in der Schule nicht alle Aktivitäten als gemeinschaftsfördernd und den institutionellen Zwecksetzungen dienlich anzusehen

Whereas the use of the phrase table is determined by the language model, the constitution of the table is determined by the translation model which captures the supposedly rel-

Zeigen Sie, dass zu jedem n &gt; 3 eine Menge von n Punkten in der Ebene existiert, so dass auf dem Rand einer Voronoi-Region n − 1 Knoten des Voronoi-Diagramms liegen. Aufgabe

For any point x on the bisector, x belongs to VR(p, S) The bisector extends to the infinity.. If S is in convex position, V (S) is

Lemma 6.8 Die Verwendung eines Delaunay-DAG macht es m¨ oglich, einen neuen Punkt p i in Zeit O (m i ) in die Delaunay Triangulation DT i−1 einzuf¨

Given a set S of points on the plane, a triangulation is maximal collection of non-crossing line segments among S.. Crossing

Als Hauptergebnis stellt sich heraus, daß die Weglassung der Anschlußrichtungen unter Umständen berechtigt sein kann, nämlich dann, wenn die Messung derselben sich