Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung...

108
Dr. Martin N¨ ollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Martin N¨ ollenburg Vorlesung Algorithmische Geometrie LEHRSTUHL F ¨ UR ALGORITHMIK I · INSTITUT F ¨ UR THEORETISCHE INFORMATIK · FAKULT ¨ AT F ¨ UR INFORMATIK Voronoi-Diagramme & Delaunay-Triangulierungen 07.06.2011

Transcript of Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung...

Page 1: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Martin Nollenburg

Vorlesung Algorithmische Geometrie

LEHRSTUHL FUR ALGORITHMIK I · INSTITUT FUR THEORETISCHE INFORMATIK · FAKULTAT FUR INFORMATIK

Voronoi-Diagramme & Delaunay-Triangulierungen

07.06.2011

Page 2: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Erinnerung: Voronoi-Diagramm

p

V(p)

V(p) = {x ∈ R2 : |px| < |qx| ∀q ∈ P \ {p}}

Page 3: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Erinnerung: Voronoi-Diagramm

p

V(p)

V(p) = {x ∈ R2 : |px| < |qx| ∀q ∈ P \ {p}}

p′

V({p, p′}) = {x ∈ R2 : |px| = |p′x| < |qx| ∀q ∈ P \{p, p′}}

Page 4: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Erinnerung: Voronoi-Diagramm

p

V(p)

V(p) = {x ∈ R2 : |px| < |qx| ∀q ∈ P \ {p}}

p′

V({p, p′}) = {x ∈ R2 : |px| = |p′x| < |qx| ∀q ∈ P \{p, p′}}

p′′

V({p, p′, p′′}) = ∂V(p) ∩ ∂V(p′) ∩ ∂V(p′′)

Page 5: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Erinnerung: Voronoi-Diagramm

p

V(p)

V(p) = {x ∈ R2 : |px| < |qx| ∀q ∈ P \ {p}}

p′

V({p, p′}) = {x ∈ R2 : |px| = |p′x| < |qx| ∀q ∈ P \{p, p′}}

p′′

V({p, p′, p′′}) = ∂V(p) ∩ ∂V(p′) ∩ ∂V(p′′)

q ∈ V({p, p′})⇔ CP (q) ∩ P = {p, p′}

q

Page 6: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Erinnerung: Voronoi-Diagramm

p

V(p)

V(p) = {x ∈ R2 : |px| < |qx| ∀q ∈ P \ {p}}

p′

V({p, p′}) = {x ∈ R2 : |px| = |p′x| < |qx| ∀q ∈ P \{p, p′}}

p′′

V({p, p′, p′′}) = ∂V(p) ∩ ∂V(p′) ∩ ∂V(p′′)

q ∈ V({p, p′})⇔ CP (q) ∩ P = {p, p′}q = V({p, p′, p′′})⇔ CP (q) ∩ P ⊇ {p, p′, p′′}

q

Page 7: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Wdh: Beach-Line

Definition: Die Beach-Line β` ist die untere Kontur derParabeln f `p fur die bereits besuchten Punkte.

β`

Beob.: Beach-Line ist x-monotonSchnittpunkte der Beach-Line

”zeichnen“ die

Voronoi- Kanten

Wdh: Beach-Line

Ziel: speichere (implizit) aktuelle Kontur β` statt Vor(P )∩ `

Page 8: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Wdh: Punkt-Events

trifft ` auf einen Punkt, kommt neue Parabel zu β` hinzu

die beiden Schnittpunkte erzeugen neue Teilkante

Lemma: Neue Bogen auf β entstehen nur durch Punkt-Events.

Korollar: β besteht aus maximal 2n− 1 Parabelbogen

Page 9: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Wdh: Kreis-Events

verschwindet der Bogen fur pj so laufen f `pi, f `pj

, f `pkdurch

einen gemeinsamen Punkt q

pi

pj

pk pi

pj

pk pi

pj

pk

q

Kreis CP (q) geht durch pi, pj , pk und beruhrt `⇒ q ist Voronoi-Knoten

Lemma: Bogen von β werden nur durch Kreis-Events entfernt.

Def.: Der unterste Punkt des Kreises durch drei Punkte mitkonsekutiven Bogen auf β definiert ein Kreis-Event.

Lemma: Fur jeden Voronoi-Knoten gibt es ein Kreis-Event.

Page 10: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Datenstrukturen

doppelt-verkettete Kantenliste (DCEL) D fur Vor(P )Achtung: am Schluss bounding box wg. Halbgeraden einfugen

Page 11: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Datenstrukturen

doppelt-verkettete Kantenliste (DCEL) D fur Vor(P )Achtung: am Schluss bounding box wg. Halbgeraden einfugen

balancierter binarer Suchbaum T fur implizite Beach-Line– Blatter entsprechen Parabelbogen von links nach rechts– innerer Knoten 〈pi, pj〉 entspricht Schnittpunkt von pi und pj– Pointer von inneren Knoten auf zugeh. Kanten in D

p1

p2

p3

p4

p5

〈p4, p5〉

〈p2, p3〉

〈p1, p2〉 〈p3, p4〉

〈p5, p4〉

p1 p2 p3 p4

p5 p4

Page 12: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Datenstrukturen

doppelt-verkettete Kantenliste (DCEL) D fur Vor(P )Achtung: am Schluss bounding box wg. Halbgeraden einfugen

balancierter binarer Suchbaum T fur implizite Beach-Line– Blatter entsprechen Parabelbogen von links nach rechts– innerer Knoten 〈pi, pj〉 entspricht Schnittpunkt von pi und pj– Pointer von inneren Knoten auf zugeh. Kanten in D

p1

p2

p3

p4

p5

〈p4, p5〉

〈p2, p3〉

〈p1, p2〉 〈p3, p4〉

〈p5, p4〉

p1 p2 p3 p4

p5 p4

Priority Queue Q fur die Punkt- und Kreis-Events– Pointer von Kreis-Events auf zugeh. Blatter in T und umgekehrt

Page 13: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Fortune’s Sweep Algorithmus

VoronoiDiagram(P ⊂ R2)

Q ← new PriorityQueue(P ) // Punkt-Events sortiert nach y

T ← new BalancedBinarySearchTree() // Beach-Line

D ← new DCEL() // DS fur Vor(P )

while not Q.empty() dop← Q.ExtractMax()if p Punkt-Event then

HandlePointEvent(p)else

α← Bogen von β, der entfernt werden sollHandleCircleEvent(α)

behandle innere Restknoten von T (Halbgeraden von Vor(P ))return D

Page 14: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Fortune’s Sweep Algorithmus

VoronoiDiagram(P ⊂ R2)

Q ← new PriorityQueue(P ) // Punkt-Events sortiert nach y

T ← new BalancedBinarySearchTree() // Beach-Line

D ← new DCEL() // DS fur Vor(P )

while not Q.empty() dop← Q.ExtractMax()if p Punkt-Event then

HandlePointEvent(p)else

α← Bogen von β, der entfernt werden sollHandleCircleEvent(α)

behandle innere Restknoten von T (Halbgeraden von Vor(P ))return D

Steven Fortune,1986

Page 15: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Fortune’s Sweep Algorithmus

VoronoiDiagram(P ⊂ R2)

Q ← new PriorityQueue(P ) // Punkt-Events sortiert nach y

T ← new BalancedBinarySearchTree() // Beach-Line

D ← new DCEL() // DS fur Vor(P )

while not Q.empty() dop← Q.ExtractMax()if p Punkt-Event then

HandlePointEvent(p)else

α← Bogen von β, der entfernt werden sollHandleCircleEvent(α)

behandle innere Restknoten von T (Halbgeraden von Vor(P ))return D

Steven Fortune,1986

Page 16: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Punkt-Events behandeln

HandlePointEvent(Punkt p)

p

Page 17: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Punkt-Events behandeln

HandlePointEvent(Punkt p)

Suche in T den Bogen α vertikal uber p.Hat α pointer auf Kreis-Event in Q, losche es aus Q.

p

α

Page 18: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Punkt-Events behandeln

HandlePointEvent(Punkt p)

Suche in T den Bogen α vertikal uber p.Hat α pointer auf Kreis-Event in Q, losche es aus Q.

Teile α in α0 und α2.Sei α1 neuer Bogen fur p.

p

α

q

Page 19: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Punkt-Events behandeln

HandlePointEvent(Punkt p)

Suche in T den Bogen α vertikal uber p.Hat α pointer auf Kreis-Event in Q, losche es aus Q.

Teile α in α0 und α2.Sei α1 neuer Bogen fur p.

q

α

p

α

q

In T :

Page 20: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Punkt-Events behandeln

HandlePointEvent(Punkt p)

Suche in T den Bogen α vertikal uber p.Hat α pointer auf Kreis-Event in Q, losche es aus Q.

Teile α in α0 und α2.Sei α1 neuer Bogen fur p.

q

α

p

α

q

In T :

Page 21: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Punkt-Events behandeln

HandlePointEvent(Punkt p)

Suche in T den Bogen α vertikal uber p.Hat α pointer auf Kreis-Event in Q, losche es aus Q.

Teile α in α0 und α2.Sei α1 neuer Bogen fur p.

q 〈q, p〉

q 〈p, q〉

p q

α

p

α

q

α0 α1α0

α2α1

In T :

2

Page 22: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Punkt-Events behandeln

HandlePointEvent(Punkt p)

Suche in T den Bogen α vertikal uber p.Hat α pointer auf Kreis-Event in Q, losche es aus Q.

Teile α in α0 und α2.Sei α1 neuer Bogen fur p.

q 〈q, p〉

q 〈p, q〉

p q

α

Schnittpunkte

p

α

q

α0 α1α0

α2α1

In T :

2

Page 23: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Punkt-Events behandeln

HandlePointEvent(Punkt p)

Suche in T den Bogen α vertikal uber p.Hat α pointer auf Kreis-Event in Q, losche es aus Q.

Teile α in α0 und α2.Sei α1 neuer Bogen fur p.

q 〈q, p〉

q 〈p, q〉

p q

α

Fuge Kanten 〈q, p〉 und 〈p, q〉 in D ein.

Schnittpunkte

p

α

q

α0 α1α0

α2α1

In T :

2

Page 24: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Punkt-Events behandeln

HandlePointEvent(Punkt p)

Suche in T den Bogen α vertikal uber p.Hat α pointer auf Kreis-Event in Q, losche es aus Q.

Teile α in α0 und α2.Sei α1 neuer Bogen fur p.

q 〈q, p〉

q 〈p, q〉

p q

α

Fuge Kanten 〈q, p〉 und 〈p, q〉 in D ein.

Prufe 〈·, α0, α1〉 und 〈α1, α2, ·〉 auf Kreis-Events.

Schnittpunkte

p

α

q

α0 α1α0

α2α1

In T :

2

Page 25: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Punkt-Events behandeln

HandlePointEvent(Punkt p)

Suche in T den Bogen α vertikal uber p.Hat α pointer auf Kreis-Event in Q, losche es aus Q.

Teile α in α0 und α2.Sei α1 neuer Bogen fur p.

q 〈q, p〉

q 〈p, q〉

p q

α

Fuge Kanten 〈q, p〉 und 〈p, q〉 in D ein.

Prufe 〈·, α0, α1〉 und 〈α1, α2, ·〉 auf Kreis-Events.

Schnittpunkte

p

α

q

α0 α1α0

α2α1

In T :

2

Laufzeit?

Page 26: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Punkt-Events behandeln

HandlePointEvent(Punkt p)

Suche in T den Bogen α vertikal uber p.Hat α pointer auf Kreis-Event in Q, losche es aus Q.

Teile α in α0 und α2.Sei α1 neuer Bogen fur p.

q 〈q, p〉

q 〈p, q〉

p q

α

Fuge Kanten 〈q, p〉 und 〈p, q〉 in D ein.

Prufe 〈·, α0, α1〉 und 〈α1, α2, ·〉 auf Kreis-Events.

Schnittpunkte

p

α

q

α0 α1α0

α2α1

In T :

2

Laufzeit?

O(log n)

Page 27: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Kreis-Events behandeln

HandleCircleEvent(Bogen α)

ααleft

αright

p

p′

p′′

Page 28: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Kreis-Events behandeln

HandleCircleEvent(Bogen α)

T .delete(α); Schnittpunkte in T updaten

ααleft

αright

p

p′

p′′

Page 29: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Kreis-Events behandeln

HandleCircleEvent(Bogen α)

T .delete(α); Schnittpunkte in T updaten

Entferne alle Kreis-Events zu α aus Q.

ααleft

αright

p

p′

p′′

Page 30: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Kreis-Events behandeln

HandleCircleEvent(Bogen α)

T .delete(α); Schnittpunkte in T updaten

Entferne alle Kreis-Events zu α aus Q.

Fuge Knoten V({p, p′, p′′}) und Kante V({p, p′′}) in D ein.

ααleft

αright

p

p′

p′′

Page 31: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Kreis-Events behandeln

HandleCircleEvent(Bogen α)

T .delete(α); Schnittpunkte in T updaten

Entferne alle Kreis-Events zu α aus Q.

Fuge Knoten V({p, p′, p′′}) und Kante V({p, p′′}) in D ein.

Update potenzielle Kreis-Events 〈·, αleft, αright〉 und〈αleft, αright, ·〉 in Q.

ααleft

αright

p

p′

p′′

Page 32: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Kreis-Events behandeln

HandleCircleEvent(Bogen α)

T .delete(α); Schnittpunkte in T updaten

Entferne alle Kreis-Events zu α aus Q.

Fuge Knoten V({p, p′, p′′}) und Kante V({p, p′′}) in D ein.

Update potenzielle Kreis-Events 〈·, αleft, αright〉 und〈αleft, αright, ·〉 in Q.

ααleft

αright

p

p′

p′′

Laufzeit?

Page 33: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Kreis-Events behandeln

HandleCircleEvent(Bogen α)

T .delete(α); Schnittpunkte in T updaten

Entferne alle Kreis-Events zu α aus Q.

Fuge Knoten V({p, p′, p′′}) und Kante V({p, p′′}) in D ein.

Update potenzielle Kreis-Events 〈·, αleft, αright〉 und〈αleft, αright, ·〉 in Q.

ααleft

αright

p

p′

p′′

Laufzeit?

O(log n)

Page 34: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Fortune’s Sweep Algorithmus

Satz: Fur eine Menge P von n Punkten berechnet Fortune’sSweep Algorithmus das Voronoi-Diagramm Vor(P ) inO(n log n) Zeit und O(n) Platz.

Page 35: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Fortune’s Sweep Algorithmus

Satz: Fur eine Menge P von n Punkten berechnet Fortune’sSweep Algorithmus das Voronoi-Diagramm Vor(P ) inO(n log n) Zeit und O(n) Platz.

Beweisskizze:jedes Event benotigt O(log n) Zeitn Punkt-Events≤ 2n− 5 Kreis-Events (= #Knoten von Vor(P ))Fehlalarme erzeugen & loschen bereits inklusive

Page 36: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Fortune’s Sweep Algorithmus

Satz: Fur eine Menge P von n Punkten berechnet Fortune’sSweep Algorithmus das Voronoi-Diagramm Vor(P ) inO(n log n) Zeit und O(n) Platz.

Bemerkung:

degenerierte Eingaben diesmal unproblematisch:Kreis-Events vor Punkt-Events, sonst Reihenfolge beliebigKreis-Events fur k ≥ 4 Punkte: Lange-0 Kanten undKnotenduplikate im Postprocessing entfernenzweideutiges Punktevent: beliebigen Bogen wahlen

Beweisskizze:jedes Event benotigt O(log n) Zeitn Punkt-Events≤ 2n− 5 Kreis-Events (= #Knoten von Vor(P ))Fehlalarme erzeugen & loschen bereits inklusive

Page 37: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Diskussion

Gibt es weitere Varianten von Voronoi-Diagrammen?

Page 38: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Diskussion

Gibt es weitere Varianten von Voronoi-Diagrammen?

Ja! Beispielsweise kann der Algorithmus bei gleicher Laufzeit undPlatzbedarf auch fur Voronoi-Diagramme von Strecken modifiziertwerden.Auch andere Metriken wie Lp oder additiv/multiplikativ gewichtete Voronoi-Diagrammesind moglich.

Page 39: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Diskussion

Gibt es weitere Varianten von Voronoi-Diagrammen?

Ja! Beispielsweise kann der Algorithmus bei gleicher Laufzeit undPlatzbedarf auch fur Voronoi-Diagramme von Strecken modifiziertwerden.Auch andere Metriken wie Lp oder additiv/multiplikativ gewichtete Voronoi-Diagrammesind moglich.

Voronoi-Diagramm fur Polygone definieren diesog. Mittelachse, die z.B. in der Bildverarbeitungwichtig ist.

Auch farthest-point Voronoi-Diagramme sindmoglich.

Page 40: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Diskussion

Gibt es weitere Varianten von Voronoi-Diagrammen?

Ja! Beispielsweise kann der Algorithmus bei gleicher Laufzeit undPlatzbedarf auch fur Voronoi-Diagramme von Strecken modifiziertwerden.

Was passiert in hoheren Dimensionen?

Auch andere Metriken wie Lp oder additiv/multiplikativ gewichtete Voronoi-Diagrammesind moglich.

Voronoi-Diagramm fur Polygone definieren diesog. Mittelachse, die z.B. in der Bildverarbeitungwichtig ist.

Auch farthest-point Voronoi-Diagramme sindmoglich.

Page 41: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Diskussion

Gibt es weitere Varianten von Voronoi-Diagrammen?

Ja! Beispielsweise kann der Algorithmus bei gleicher Laufzeit undPlatzbedarf auch fur Voronoi-Diagramme von Strecken modifiziertwerden.

Was passiert in hoheren Dimensionen?

Die Komplexitat von Vor(P ) steigt auf Θ(ndd/2e) und die Laufzeit zurBerechnung auf O(n log n+ ndd/2e).

Auch andere Metriken wie Lp oder additiv/multiplikativ gewichtete Voronoi-Diagrammesind moglich.

Voronoi-Diagramm fur Polygone definieren diesog. Mittelachse, die z.B. in der Bildverarbeitungwichtig ist.

Auch farthest-point Voronoi-Diagramme sindmoglich.

Page 42: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Anregungen aus der Zwischenevaluation

Druckversion der Folienab sofort online verfugbar

Beweise und Tafel/Folienalle Beweise in der Literatur (meist [BCKO08]) detailliertnachlesbar

Musterlosung fur UbungsblatterAndreas wird die Losungsideen schriftlich skizzieren

Folien schneller und fehlerfrei online stellensind auch bisher immer kurz nach der Vorlesung verfugbar;bei Fehlern bitte Bescheid geben!

Page 43: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Delaunay-Triangulierungen

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Grafik c© Rodrigo I. Silveira

Page 44: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Terrainmodellierung

Hohenmesspunktep = (xp, yp, zp)

Page 45: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Terrainmodellierung

Hohenmesspunktep = (xp, yp, zp)

Projektionπ(p) = (px, py, 0)

Page 46: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Terrainmodellierung

Hohenmesspunktep = (xp, yp, zp)

Projektionπ(p) = (px, py, 0)

Interpolation 1: jeder Punkt bekommt Hohe des nachsten Messpunktes

Page 47: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Terrainmodellierung

Hohenmesspunktep = (xp, yp, zp)

Projektionπ(p) = (px, py, 0)

Interpolation 1: jeder Punkt bekommt Hohe des nachsten Messpunktes

Page 48: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Terrainmodellierung

Hohenmesspunktep = (xp, yp, zp)

Projektionπ(p) = (px, py, 0)

Page 49: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Terrainmodellierung

Hohenmesspunktep = (xp, yp, zp)

Projektionπ(p) = (px, py, 0)

Interpolation 2: trianguliere Messpunkte und interpoliere auf Dreiecken

Page 50: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Terrainmodellierung

Hohenmesspunktep = (xp, yp, zp)

Projektionπ(p) = (px, py, 0)

Interpolation 2: trianguliere Messpunkte und interpoliere auf Dreiecken

Page 51: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Terrainmodellierung

Hohenmesspunktep = (xp, yp, zp)

Projektionπ(p) = (px, py, 0)

Interpolation 2: trianguliere Messpunkte und interpoliere auf Dreiecken

Aber wie sieht eine gute Triangulierung aus?

Page 52: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Triangulierung von Punkten

Def.: Eine Triangulierung einer Punktmenge P ⊂ R2 ist einemaximale planare Unterteilung mit Knotenmenge P .

Page 53: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Triangulierung von Punkten

Def.: Eine Triangulierung einer Punktmenge P ⊂ R2 ist einemaximale planare Unterteilung mit Knotenmenge P .

Beob.:

Page 54: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Triangulierung von Punkten

Def.: Eine Triangulierung einer Punktmenge P ⊂ R2 ist einemaximale planare Unterteilung mit Knotenmenge P .

Beob.: alle inneren Facetten sind Dreiecke

Page 55: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Triangulierung von Punkten

Def.: Eine Triangulierung einer Punktmenge P ⊂ R2 ist einemaximale planare Unterteilung mit Knotenmenge P .

Beob.: alle inneren Facetten sind Dreiecke

Page 56: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Triangulierung von Punkten

Def.: Eine Triangulierung einer Punktmenge P ⊂ R2 ist einemaximale planare Unterteilung mit Knotenmenge P .

Beob.: alle inneren Facetten sind Dreiecke

außere Facette ist Komplement der konvexen Hulle

Page 57: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Triangulierung von Punkten

Def.: Eine Triangulierung einer Punktmenge P ⊂ R2 ist einemaximale planare Unterteilung mit Knotenmenge P .

Beob.: alle inneren Facetten sind Dreiecke

außere Facette ist Komplement der konvexen Hulle

CH(P )

Page 58: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Triangulierung von Punkten

Def.: Eine Triangulierung einer Punktmenge P ⊂ R2 ist einemaximale planare Unterteilung mit Knotenmenge P .

Beob.: alle inneren Facetten sind Dreiecke

außere Facette ist Komplement der konvexen Hulle

CH(P )

Satz 1: Sei P eine Menge von n nicht kollinearen Punkten undh die Anzahl Punkte auf CH(P ).

Dann hat jede Triangulierung von P t(n, h) Dreieckeund e(n, h) Kanten.

Page 59: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Triangulierung von Punkten

Def.: Eine Triangulierung einer Punktmenge P ⊂ R2 ist einemaximale planare Unterteilung mit Knotenmenge P .

Beob.: alle inneren Facetten sind Dreiecke

außere Facette ist Komplement der konvexen Hulle

CH(P )

Satz 1: Sei P eine Menge von n nicht kollinearen Punkten undh die Anzahl Punkte auf CH(P ).

Dann hat jede Triangulierung von P t(n, h) Dreieckeund e(n, h) Kanten. Berechne t und e!

Page 60: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Triangulierung von Punkten

Def.: Eine Triangulierung einer Punktmenge P ⊂ R2 ist einemaximale planare Unterteilung mit Knotenmenge P .

Beob.: alle inneren Facetten sind Dreiecke

außere Facette ist Komplement der konvexen Hulle

CH(P )

Satz 1: Sei P eine Menge von n nicht kollinearen Punkten undh die Anzahl Punkte auf CH(P ).

Dann hat jede Triangulierung von P (2n− 2− h)Dreiecke und (3n− 3− h) Kanten.

Page 61: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Zuruck zur Hoheninterpolation

0

10

6

20

36

28

1240

1000

980

990

1008

890

0

4 23

19

Page 62: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Zuruck zur Hoheninterpolation

0

10

6

20

36

28

1240

1000

980

990

1008

890

0

4 23

19

0

10

6

20

36

28

1240

1000

980

990

1008

890

0

4 23

19

Page 63: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Zuruck zur Hoheninterpolation

0

10

6

20

36

28

1240

1000

980

990

1008

890

0

4 23

19

0

10

6

20

36

28

1240

1000

980

990

1008

890

0

4 23

19

Page 64: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Zuruck zur Hoheninterpolation

0

10

6

20

36

28

1240

1000

980

990

1008

890

0

4 23

19

0

10

6

20

36

28

1240

1000

980

990

1008

890

0

4 23

19

Page 65: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Zuruck zur Hoheninterpolation

0

10

6

20

36

28

1240

1000

980

990

1008

890

0

4 23

19

0

10

6

20

36

28

1240

1000

980

990

1008

890

0

4 23

19

Hohe 985 Hohe 23

Page 66: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Zuruck zur Hoheninterpolation

0

10

6

20

36

28

1240

1000

980

990

1008

890

0

4 23

19

0

10

6

20

36

28

1240

1000

980

990

1008

890

0

4 23

19

Hohe 985 Hohe 23

Intuitiv: Vermeide zu schmale Dreiecke!

Page 67: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Zuruck zur Hoheninterpolation

0

10

6

20

36

28

1240

1000

980

990

1008

890

0

4 23

19

0

10

6

20

36

28

1240

1000

980

990

1008

890

0

4 23

19

Hohe 985 Hohe 23

Intuitiv: Vermeide zu schmale Dreiecke!

Oder: maximiere die kleinsten Dreieckswinkel!

Page 68: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Winkeloptimale Triangulierungen

Def.:

T A(T ) = (60◦, 60◦, 60◦, 60◦, 60◦, 60◦)

Sei P ⊂ R2 eine Punktemenge, T eine Triangulierungvon P und m die Anzahl der Dreiecke. Dann istA(T ) = (α1, . . . , α3m) der Winkelvektor von T mitden sortierten Dreieckswinkeln α1 ≤ · · · ≤ α3m.

Page 69: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Winkeloptimale Triangulierungen

Def.:

T A(T ) = (60◦, 60◦, 60◦, 60◦, 60◦, 60◦) T ′

A(T ′) = (30◦, 30◦, 30◦, 30◦, 120◦, 120◦)

Sei P ⊂ R2 eine Punktemenge, T eine Triangulierungvon P und m die Anzahl der Dreiecke. Dann istA(T ) = (α1, . . . , α3m) der Winkelvektor von T mitden sortierten Dreieckswinkeln α1 ≤ · · · ≤ α3m.

Fur zwei Triangulierungen T und T ′ von P definiere dieOrdnung A(T ) > A(T ′) als lexikographische Ordnung.

Page 70: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Winkeloptimale Triangulierungen

Def.:

T A(T ) = (60◦, 60◦, 60◦, 60◦, 60◦, 60◦) T ′

A(T ′) = (30◦, 30◦, 30◦, 30◦, 120◦, 120◦)

Sei P ⊂ R2 eine Punktemenge, T eine Triangulierungvon P und m die Anzahl der Dreiecke. Dann istA(T ) = (α1, . . . , α3m) der Winkelvektor von T mitden sortierten Dreieckswinkeln α1 ≤ · · · ≤ α3m.

Fur zwei Triangulierungen T und T ′ von P definiere dieOrdnung A(T ) > A(T ′) als lexikographische Ordnung.

T heißt winkeloptimal, falls A(T ) ≥ A(T ′) fur alleTriangulierungen T ′ von P .

Page 71: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Kantenflips

Def.: Sei T eine Triangulierung. Eine Kante e von T heißtunzulassig, wenn der kleinste Winkel der zu einzidenten Dreiecke durch einen Kantenflip großer wird.

eT

Page 72: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Kantenflips

Def.: Sei T eine Triangulierung. Eine Kante e von T heißtunzulassig, wenn der kleinste Winkel der zu einzidenten Dreiecke durch einen Kantenflip großer wird.

mini αi = 30◦

eT

Page 73: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Kantenflips

Def.: Sei T eine Triangulierung. Eine Kante e von T heißtunzulassig, wenn der kleinste Winkel der zu einzidenten Dreiecke durch einen Kantenflip großer wird.

mini αi = 30◦

eT

flip(T , e)

Page 74: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Kantenflips

Def.: Sei T eine Triangulierung. Eine Kante e von T heißtunzulassig, wenn der kleinste Winkel der zu einzidenten Dreiecke durch einen Kantenflip großer wird.

mini αi = 30◦

eT ′ T

flip(T , e)e′

Page 75: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Kantenflips

Def.: Sei T eine Triangulierung. Eine Kante e von T heißtunzulassig, wenn der kleinste Winkel der zu einzidenten Dreiecke durch einen Kantenflip großer wird.

mini αi = 30◦mini αi = 60◦

eT ′ T

flip(T , e)e′

Page 76: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Kantenflips

Def.: Sei T eine Triangulierung. Eine Kante e von T heißtunzulassig, wenn der kleinste Winkel der zu einzidenten Dreiecke durch einen Kantenflip großer wird.

mini αi = 30◦mini αi = 60◦

e

Beob.: Sei e eine unzulassige Kante von T und T ′ = flip(T , e).Dann gilt A(T ′) > A(T ).

T ′ Tflip(T , e)

e′

Page 77: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Der Satz von Thales

a

Satz 2: Alle Dreiecke aus den Endpunktendes Kreisdurchmessers und einesHalbkreispunktes sind rechtwinklig.

b

Page 78: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Der Satz von Thales

a

Satz 2: Alle Dreiecke aus den Endpunktendes Kreisdurchmessers und einesHalbkreispunktes sind rechtwinklig.

b

Satz 2′: Alle Dreiecke aus den Endpunkten einer Sekante` = ab und eines Kreispunktes c auf der gleichen Seitevon ` haben den gleichen Winkel an c. Fur Dreiecke∆abd mit d innerhalb des Kreises gilt ∠adb > ∠acd,fur e außerhalb des Kreises gilt ∠aeb < ∠acd.

ab

c c′e

d

∠aeb < ∠acb = ∠ac′b < ∠adb

Page 79: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Zulassige Triangulierungen

Lemma 1: Seien ∆prq und ∆pqs zwei Dreiecke in T und Cder Umkreis von ∆prq. Dann ist pq unzulassiggenau dann wenn s ∈ int(C).Bilden p, q, r, s ein konvexes Viereck (s 6∈ ∂C) so istentweder pq oder rs unzulassig.

Beweisskizze:

p

q

r

s

Page 80: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Zulassige Triangulierungen

Lemma 1: Seien ∆prq und ∆pqs zwei Dreiecke in T und Cder Umkreis von ∆prq. Dann ist pq unzulassiggenau dann wenn s ∈ int(C).Bilden p, q, r, s ein konvexes Viereck (s 6∈ ∂C) so istentweder pq oder rs unzulassig.

Beweisskizze:

p

q

r

s

ϕpr

ϕps

ϕrq

ϕqs

θpr

θpsθrq

θsq

ϕpr > θpr

ϕps > θps

ϕrq > θrq

ϕqs > θqs

Page 81: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Zulassige Triangulierungen

Lemma 1: Seien ∆prq und ∆pqs zwei Dreiecke in T und Cder Umkreis von ∆prq. Dann ist pq unzulassiggenau dann wenn s ∈ int(C).Bilden p, q, r, s ein konvexes Viereck (s 6∈ ∂C) so istentweder pq oder rs unzulassig.

Beweisskizze:

p

q

r

s

ϕpr

ϕps

ϕrq

ϕqs

θpr

θpsθrq

θsq

ϕpr > θpr

ϕps > θps

ϕrq > θrq

ϕqs > θqsϕp

ϕq

ϕp > θrq

ϕq > θpr

Page 82: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Zulassige Triangulierungen

Lemma 1: Seien ∆prq und ∆pqs zwei Dreiecke in T und Cder Umkreis von ∆prq. Dann ist pq unzulassiggenau dann wenn s ∈ int(C).Bilden p, q, r, s ein konvexes Viereck (s 6∈ ∂C) so istentweder pq oder rs unzulassig.

Bem.: Charakterisierung symmetrisch bzgl. r und ss ∈ ∂C ⇒ pq und rs zulassigKante unzulassig ⇒ Viereck konvex

Page 83: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Zulassige Triangulierungen

Lemma 1: Seien ∆prq und ∆pqs zwei Dreiecke in T und Cder Umkreis von ∆prq. Dann ist pq unzulassiggenau dann wenn s ∈ int(C).Bilden p, q, r, s ein konvexes Viereck (s 6∈ ∂C) so istentweder pq oder rs unzulassig.

Bem.: Charakterisierung symmetrisch bzgl. r und ss ∈ ∂C ⇒ pq und rs zulassigKante unzulassig ⇒ Viereck konvex

Def.: Triangulierung ohne unzulassige Kanten heißt zulassig.

Page 84: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Zulassige Triangulierungen

Lemma 1: Seien ∆prq und ∆pqs zwei Dreiecke in T und Cder Umkreis von ∆prq. Dann ist pq unzulassiggenau dann wenn s ∈ int(C).Bilden p, q, r, s ein konvexes Viereck (s 6∈ ∂C) so istentweder pq oder rs unzulassig.

Bem.: Charakterisierung symmetrisch bzgl. r und ss ∈ ∂C ⇒ pq und rs zulassigKante unzulassig ⇒ Viereck konvex

Def.: Triangulierung ohne unzulassige Kanten heißt zulassig.

Gibt es immer eine zulassige Triangulierung?

Page 85: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Zulassige Triangulierungen

Lemma 1: Seien ∆prq und ∆pqs zwei Dreiecke in T und Cder Umkreis von ∆prq. Dann ist pq unzulassiggenau dann wenn s ∈ int(C).Bilden p, q, r, s ein konvexes Viereck (s 6∈ ∂C) so istentweder pq oder rs unzulassig.

Bem.: Charakterisierung symmetrisch bzgl. r und ss ∈ ∂C ⇒ pq und rs zulassigKante unzulassig ⇒ Viereck konvex

Def.: Triangulierung ohne unzulassige Kanten heißt zulassig.

while T hat unzulassige Kante e doflip(T , e)

return T

Page 86: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Zulassige Triangulierungen

Lemma 1: Seien ∆prq und ∆pqs zwei Dreiecke in T und Cder Umkreis von ∆prq. Dann ist pq unzulassiggenau dann wenn s ∈ int(C).Bilden p, q, r, s ein konvexes Viereck (s 6∈ ∂C) so istentweder pq oder rs unzulassig.

Bem.: Charakterisierung symmetrisch bzgl. r und ss ∈ ∂C ⇒ pq und rs zulassigKante unzulassig ⇒ Viereck konvex

Def.: Triangulierung ohne unzulassige Kanten heißt zulassig.

while T hat unzulassige Kante e doflip(T , e)

return Tterminiert, da A(T ) wachst und#Triangulierungen endlich (< 30n, [Sharir, Sheffer 2011])

Page 87: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Zwischenbilanz

Es gilt: Jede winkeloptimale Triangulierung ist zulassig.

Aber ist jede zulassige Triangulierung auch winkeloptimal?

Page 88: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Die Delaunay-Triangulierung

Def.: Der Graph G = (P,E) mitE = {pq | V(p) und V(q) sind benachbart}heißt Dualgraph von Vor(P ).

Sei Vor(P ) das Voronoi-Diagramm einer Punktmenge P .

Page 89: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Die Delaunay-Triangulierung

Def.: Der Graph G = (P,E) mitE = {pq | V(p) und V(q) sind benachbart}heißt Dualgraph von Vor(P ).

Sei Vor(P ) das Voronoi-Diagramm einer Punktmenge P .

G

Page 90: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Die Delaunay-Triangulierung

Def.: Der Graph G = (P,E) mitE = {pq | V(p) und V(q) sind benachbart}heißt Dualgraph von Vor(P ).

Sei Vor(P ) das Voronoi-Diagramm einer Punktmenge P .

Def.: Die geradlinige Zeichnung von G heißt Delaunay-GraphDG(P ).

DG(P )

Page 91: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Die Delaunay-Triangulierung

Def.: Der Graph G = (P,E) mitE = {pq | V(p) und V(q) sind benachbart}heißt Dualgraph von Vor(P ).

Sei Vor(P ) das Voronoi-Diagramm einer Punktmenge P .

Def.: Die geradlinige Zeichnung von G heißt Delaunay-GraphDG(P ).

DG(P )

Georgy Voronoy(1868–1908)

Boris Delone(1890–1980)

Page 92: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Eigenschaften

Satz 3: DG(P ) ist kreuzungsfrei.

Page 93: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Eigenschaften

Satz 3: DG(P ) ist kreuzungsfrei.

Beweisskizze:

Der Bisektor b(p, q) definiert eine Voronoi-Kante⇔ ∃r ∈ b(p, q) mit CP (r) ∩ P = {p, q}.

Die Kante pq ist in DG(P )⇔ es gibt einen leeren Kreis Cp,q mit p und q auf dem Rand.

bzw.

Page 94: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Eigenschaften

Satz 3: DG(P ) ist kreuzungsfrei.

Beweisskizze:

Der Bisektor b(p, q) definiert eine Voronoi-Kante⇔ ∃r ∈ b(p, q) mit CP (r) ∩ P = {p, q}.

Die Kante pq ist in DG(P )⇔ es gibt einen leeren Kreis Cp,q mit p und q auf dem Rand.

bzw.

Beob.: Ein Voronoi-Knoten v in Vor(P ) mit Grad kentspricht einem konvexen k-Eck in DG(P ).

Page 95: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Eigenschaften

Satz 3: DG(P ) ist kreuzungsfrei.

Beweisskizze:

Der Bisektor b(p, q) definiert eine Voronoi-Kante⇔ ∃r ∈ b(p, q) mit CP (r) ∩ P = {p, q}.

Die Kante pq ist in DG(P )⇔ es gibt einen leeren Kreis Cp,q mit p und q auf dem Rand.

bzw.

Beob.: Ein Voronoi-Knoten v in Vor(P ) mit Grad kentspricht einem konvexen k-Eck in DG(P ).

Ist P in allgemeiner Lage (keine 4 Punkteauf eine Kreis), so sind alle Facetten inDG(P ) Dreiecke →Delaunay-Triangulierung

Page 96: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Charakterisierung

Satz uber Voronoi-Diagramme:

Ein Punkt q ist ein Voronoi-Knoten⇔ |CP (q) ∩ P | ≥ 3,der Bisektor b(pi, pj) definiert eine Voronoi-Kante⇔ ∃q ∈ b(pi, pj) mit CP (q) ∩ P = {pi, pj}.

Page 97: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Charakterisierung

Satz uber Voronoi-Diagramme:

Ein Punkt q ist ein Voronoi-Knoten⇔ |CP (q) ∩ P | ≥ 3,der Bisektor b(pi, pj) definiert eine Voronoi-Kante⇔ ∃q ∈ b(pi, pj) mit CP (q) ∩ P = {pi, pj}.

Satz 4: Sei P eine Menge von Punkten.Punkte p, q, r sind Knoten der gleichen Facette inDG(P ) ⇔ Kreis durch p, q, r ist leerKante pq ist in DG(P )⇔ es gibt einen leeren Kreis Cp,q durch p und q

Page 98: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Charakterisierung

Satz uber Voronoi-Diagramme:

Ein Punkt q ist ein Voronoi-Knoten⇔ |CP (q) ∩ P | ≥ 3,der Bisektor b(pi, pj) definiert eine Voronoi-Kante⇔ ∃q ∈ b(pi, pj) mit CP (q) ∩ P = {pi, pj}.

Satz 4: Sei P eine Menge von Punkten.Punkte p, q, r sind Knoten der gleichen Facette inDG(P ) ⇔ Kreis durch p, q, r ist leerKante pq ist in DG(P )⇔ es gibt einen leeren Kreis Cp,q durch p und q

Satz 5: Sei P Punktmenge und T eine Triangulierung von P .T ist Delaunay-Triangulierung⇔ Umkreis jedes Dreiecks ist im Inneren leer.

Page 99: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Zulassigkeit und Delaunay-Triangulierungen

Satz 6: Sei P Punktmenge und T eine Triangulierung von P .T ist zulassig ⇔ T ist Delaunay-Triangulierung.

Beweisskizze:

p

q

r

s

Page 100: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Zulassigkeit und Delaunay-Triangulierungen

Satz 6: Sei P Punktmenge und T eine Triangulierung von P .T ist zulassig ⇔ T ist Delaunay-Triangulierung.

tBeweisskizze:

p

q

r

s

Page 101: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Zulassigkeit und Delaunay-Triangulierungen

Satz 6: Sei P Punktmenge und T eine Triangulierung von P .T ist zulassig ⇔ T ist Delaunay-Triangulierung.

tBeweisskizze:

p

q

r

s

Page 102: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Zulassigkeit und Delaunay-Triangulierungen

Satz 6: Sei P Punktmenge und T eine Triangulierung von P .T ist zulassig ⇔ T ist Delaunay-Triangulierung.

Beob.: Ist P in allgemeiner Lage ist DG(P ) eindeutig

Page 103: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Zulassigkeit und Delaunay-Triangulierungen

Satz 6: Sei P Punktmenge und T eine Triangulierung von P .T ist zulassig ⇔ T ist Delaunay-Triangulierung.

Beob.: Ist P in allgemeiner Lage ist DG(P ) eindeutig

⇒ zulassige Triangulierung ist eindeutig

Page 104: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Zulassigkeit und Delaunay-Triangulierungen

Satz 6: Sei P Punktmenge und T eine Triangulierung von P .T ist zulassig ⇔ T ist Delaunay-Triangulierung.

Beob.: Ist P in allgemeiner Lage ist DG(P ) eindeutig

⇒ zulassige Triangulierung ist eindeutig

wissen: T winkeloptimal ⇒ T zulassig

Page 105: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Zulassigkeit und Delaunay-Triangulierungen

Satz 6: Sei P Punktmenge und T eine Triangulierung von P .T ist zulassig ⇔ T ist Delaunay-Triangulierung.

Beob.: Ist P in allgemeiner Lage ist DG(P ) eindeutig

⇒ zulassige Triangulierung ist eindeutig

wissen: T winkeloptimal ⇒ T zulassig

⇒ DG(P ) winkeloptimal!

Page 106: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Zulassigkeit und Delaunay-Triangulierungen

Satz 6: Sei P Punktmenge und T eine Triangulierung von P .T ist zulassig ⇔ T ist Delaunay-Triangulierung.

Beob.: Ist P in allgemeiner Lage ist DG(P ) eindeutig

⇒ zulassige Triangulierung ist eindeutig

wissen: T winkeloptimal ⇒ T zulassig

⇒ DG(P ) winkeloptimal!

Ist P nicht in allgemeiner Lage, so ist zumindest furjede Triangulierung einer

”großen“ Facette von

DG(P ) der minimale Winkel gleich (Ubung!).

Page 107: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Zusammenfassung

Satz 7: Fur n beliebige Punkte kann in O(n log n) Zeit eineDelaunay-Triangulierung berechnet werden.(Voronoi-Diag. + Triangulierung

”großer“ Facetten)

Page 108: Voronoi-Diagramme & Delaunay-Triangulierungen Vorlesung ... · Dr. Martin N ollenburg Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen Erinnerung:

Dr. Martin Nollenburg · Vorlesung Algorithmische Geometrie Voronoi-Diagramme und Delaunay-Triangulierungen

Zusammenfassung

Satz 7:

Korollar: Fur n Punkte in allgemeiner Lage kann in O(n log n)Zeit eine winkeloptimale Triangulierung berechnetwerden.Sind die Punkte nicht in allgemeiner Lage, lasst sichzumindest eine Triangulierung mit maximalemkleinsten Winkel in O(n log n) Zeit berechnen.

Fur n beliebige Punkte kann in O(n log n) Zeit eineDelaunay-Triangulierung berechnet werden.(Voronoi-Diag. + Triangulierung

”großer“ Facetten)