Β§4-1 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
Theorie
Wir wollen in diesem Abschnitt einer Menge von Punkten in der Ebene eine planare Unterteilung zuweisen, so dass jede Facette alle Punkte der Ebene enthΓ€lt, die einem Punkt in der Menge βnΓ€herβ als allen anderen Punkten in der Menge sind. Diese Unterteilung heiΓt Voronoi-Diagramm. Als AbstandsmaΓ fΓΌr die NΓ€he verwenden wir den Euklidischen Abstand:
πππ π‘ π, π = π
π₯β π
π₯ 2+ π
π¦β π
π¦ 2Definition 4.1.: Sei π β {π
1, β¦ , π
π} eine Menge π verschiedener Punkte in der Ebene. Eine planare Unterteilung der Ebene mit π Facetten π(π
π) mit
π β π π
πβ πππ π‘ π, π
π< πππ π‘ π, π
πβπ β π
heiΓt Voronoi-Diagramm π½ππ(π·) von π·.
Β§4-2 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
Da die Menge der Punkte mit gleichem Abstand zu π
πund π
πeine Gerade ist, ergeben sich die Voronoizellen als Schnitte von offenen HalbrΓ€umen. Sei π
ππdie auf ππ in der Mitte senkrecht stehende Gerade. Ferner sei β(π, π) die offene Halbebene, die π enthΓ€lt und von π berandet ist.
Bemerkung 4.2.: π π π = 1β€πβ€π,πβ π β(π π , π π ) β π(π π ) ist eine offene,
konvexe, polygonale berandete Region.
Β§4-3 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
Um ein wenig mehr ΓΌber die Voronoizellen zu erfahren, brauchen wir ein paar geometrische Γberlegungen.
Theorem 4.3.: Sei π eine Menge π verschiedener Punkte der Ebene. Wenn alle Punkte auf einer Geraden liegen, besteht πππ(π) aus π β 1 parallelen Geraden.
Ansonsten ist πππ(π) (bzgl. der Kanten und Ecken) ein verbundener Graph und die Kanten sind Liniensegmente oder Halbgeraden.
Beweis: Der erste Teil ist einfache Geometrie. Daher untersuchen wir den zweiten Teil. Wir wissen schon, dass die Kanten Teile von Geraden sind. Dazu sei eine Kante π in πππ(π) eine Gerade. Ferner seien π(π
π) und π(π
π) durch π berandet. Sei nun π
πnicht zu π
πund π
πkollinear. Dann schneidet die Grenze zwischen π π
πund π(π
π) sicher π und daher kann π nicht Kante in πππ(π) sein!
Daraus folgt auch, dass πππ(π) (bzgl. der Kanten) zusammenhΓ€ngt, denn alle Facetten sind konvex, so dass eine trennende Facette eine von zwei parallelen Geraden berandete Facette sein mΓΌsste.
QED
Β§4-4 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
FΓΌr die Konstruktion und vor allem Analyse eines Algorithmus ist die KomplexitΓ€t von πππ(π) in AbhΓ€ngigkeit der Zahl n der Punkte von groΓer Bedeutung.
Theorem 4.4.: FΓΌr π > 3 gibt es maximal 2π β 5 Ecken und 3π β 6 Kanten in πππ(π).
Beweis: Im Fall kollinearer Punkte reicht 4.3. Ansonsten nutzen wir die Eulerformel π£ β π + π = 2 mit π£ Ecken, π Kanten und π Facetten, wobei wir aber zu π£ noch die Ecke im Unendlichen hinzuzΓ€hlen mΓΌssen, da wir Halbgeraden als Kanten haben. Nun hat jede Kante genau 2 Ecken und jede Ecke mindestens drei Kanten nach der Konstruktion der Voronoizellen.
Es folgt π£ + 1 β π + π = 2, 2π β₯ 3(π£ + 1), Also
6 = 3 π£ + 1 β 3π + 3π β€ 2π β 3π + 3π = βπ + 3π β π β€ 3π β 6 2 = π£ + 1 β π + π β₯ π£ + 1 β 3π + 6 + π = π£ β 2π + 7 β π£ β€ 2π β 5
QED
Β§4-5 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
Β§4-6 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
Das letzte Theorem ist besonders nΓΌtzlich, da es
π(πβ1)2trennende Geraden gibt, aber nur wenige, eben maximal 3π β 6 , liefern auch Kanten im Voronoi- Diagramm. FΓΌr einen effizienten Algorithmus dΓΌrfte ein Kriterium, wann eine trennende Gerade zu einer Kante beitrΓ€gt und welche Schnitte dieser Kanten Ecken in πππ(π) sind, sehr nΓΌtzlich sein.
Theorem 4.5.: FΓΌr ein Voronoi-Diagramm einer Menge π von Punkten gilt:
i. Ein Punkt π der Ebene ist Ecke von πππ(π) gdw der grΓΆΓte leere Kreis πΆ
π(π) um π durch drei oder mehr Punkte aus π fΓΌhrt.
ii. Eine trennende Gerade π zu zwei verschiedenen Punkten π
π, π
πin π
definiert eine Kante in πππ(π) gdw es einen Punkt π auf π gibt, dessen
grΓΆΓter leerer Kreis πΆ
π(π) nur π
πund π
πauf seinem Rand hat.
Β§4-7 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
Β§4-8 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
Beweis:
i. Sei π ein Punkt mit einem solchen Kreis durch π
π, π
π, π
π.
Dann liegt π auf dem Rand der Voronoizellen zu π
π, π
π, π
π, da das Innere leer ist. Folglich ist π Ecke des Voronoi-Diagrammes.
Andererseits ist jede Ecke von πππ(π) inzident zu mindestens drei Zellen
π(π
π), π π
πund π(π
π) aus π und somit gleich weit von diesen entfernt,
wodurch sich ein solcher Kreis ergibt.
Β§4-9 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
Beweis:
ii. Sei π ein Punkt aus dem 2. Teil des Theorems.
Dann gilt
πππ π‘ π, π
π= πππ π‘ π, π
π< πππ π‘ π, π
πβ 1 < π < π, π β π, π
Dann muss π auf dem Rand von Voronoizellen liegen und kann nach i.
keine Ecke sein, muss also auf einer Kante liegen und diese wird durch π gebildet.
Umgekehrt, wenn die trennende Gerade π eine Kante von πππ π enthΓ€lt, ist jeder innere Punkt der Kante ein π mit den gesuchten Eigenschaften.
QED
Β§4-10 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
Algorithmus und Analyse
Ein naiver Ansatz zu den Voronoi-Diagrammen fΓΌhrt offensichtlich auf π(π
2) oder noch mehr Aufwand. Wir wollen daher einmal wieder auf unsere erprobte plane sweep Technik zurΓΌckgreifen.
Die direkte Anwendung des Prinzips bedeutet, dass wir eine Gerade ΓΌber die
Ebene ziehen und hinter der Geraden das Voronoi-Diagramm aufbauen, wobei
wir uns Information ΓΌber die Situation auf der Geraden (Zustandsstruktur)
merken. Voronoi-Diagramm und Zustand Γ€ndern sich nur an endlich vielen
Punkten, die von der sweep line ΓΌberschritten werden, den event points.
Β§4-11 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
Leider ist es diesmal nicht ganz so einfach, da das Voronoi-Diagramm oberhalb der (waagrechten) sweep line auch von Punkten unterhalb der sweep line abhΓ€ngt. Dies gilt aber nur fΓΌr den Bereich, der auΓerhalb einer Vereinigung von Parabeln liegt! Diese Parabeln sind die Punkte, die von einem erreichten Punkt π und der sweep line π den gleichen Abstand haben!
Den Rand dieser Vereinigung von Parabeln nennen wir Strand.
Β§4-12 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
FΓΌr jede π₯ -Koordinate lΓ€uft der Strand durch den niedrigsten Punkt aller Parabeln.
Bemerkung 4.6.: Der Strand ist π₯ -monoton, d. h. jede vertikale Gerade schneidet den Strand in genau einem Punkt.
Es ist leicht zu sehen, dass eine Parabel zu mehreren BΓΆgen am Strand beitragen kann. Ferner liegen die Schnitte der Parabeln genau auf den Kanten des Voronoi-Diagramms. Als Zustandsstruktur wΓ€hlen wir daher den Strand!
Bevor wir die Datenstruktur festlegen, betrachten wir die auftretenden
Ereignisse (Events).
Β§4-13 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
Ein neuer Bogen entsteht, wenn die sweep line einen neuen Punkt aus π
erreicht.
Β§4-14 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
Der neue Bogen verursacht zwei Parabelschnitte, die jeweils eine Kante von πππ(π) erzeugen.
Dies ist der einzige Weg fΓΌr das Entstehen neuer BΓΆgen. Das Erreichen eines
neuen Punktes durch die sweep line π nennen wir Punktereignis (site event).
Β§4-15 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
Lemma 4.7.: Der einzige Fall, der eine neue Parabel am Strand erzeugt, ist ein Punktereignis.
Beweis: Wir nehmen an, dass eine bereits existierende Parabel π½
πzu π
πden Strand schneidet, wΓ€hrend die sweep line weiterbewegt wird.
1) Im ersten Fall schneidet π½
πeine Parabel π½
πim Inneren. Sei π
π¦die π¦ - Koordinate, wo sich π½
πund π½
πgerade berΓΌhren. Dann sind die beiden Parabeln tangential, wo sie sich berΓΌhren und es gibt genau einen Schnittpunkt. Die Formel fΓΌr π½
πmit π
π= (π
π,π₯, π
π,π¦) lautet:
π½
π: π¦ = 1
2(π
π,π¦β π
π¦) π₯
2β 2π
π,π₯π₯ + π
π,π₯2+ π
π,π¦2β π
π¦2und die Formel fΓΌr π½
πist analog. Wenn π
π,π¦und π
π,π¦grΓΆΓer als π
π¦sind
(beide Punkte oberhalb der sweep line bei π
π¦), kann es nicht nur einen
Schnittpunkt von π½
πund π½
πgeben.
Β§4-16 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
2) Im zweiten Fall tritt π½
πim Schnittpunkt zweier BΓΆgen π½
π, π½
πauf. Sei π der Schnittpunkt von π½
πund π½
π, an dem π½
πim Strand auftritt. Ferner sei π½
πlinks von π und π½
πrechts von π.
Dann gibt es einen Kreis durch π
π, π
πund π
π, der π berΓΌhrt. Wegen der relativen Lage auf dem Kreis liegt π
πbei einer Bewegung von π nach unten in dem Kreis durch π
πund π
π, der π berΓΌhrt. Ferner liegt π
πinnerhalb des Kreises durch π
πund π
π, der π berΓΌhrt. Daher erzeugt π½
πkeinen Bogen am Strand.
QED
Β§4-17 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
Bemerkung 4.8. Der Strand besteht aus maximal 2π β 1 parabolischen BΓΆgen, denn jedes Punktereignis erzeugt einen neuen Bogen und kann einen Bogen in zwei BΓΆgen teilen.
Neben den Punktereignissen kann es noch passieren, dass ein Bogen zu einem
Punkt zusammengezogen wird und dann verschwindet.
Β§4-18 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
Wenn wir die drei beteiligten BΓΆgen wie im Bild π½, π½
β², π½β²β² nennen, so lΓ€sst sich analog zu 4.7. zeigen, dass π½ und π½β²β² nicht zur gleichen Parabel gehΓΆren. Daher liegt der Punkt π, an dem π½β² verschwindet, im Zentrum des Kreises durch drei Punkte π
π, π
π, π
πin π. Ferner liegt der tiefste Punkt dieses Kreises auf π! Wenn π durch den tiefsten Punkt eines Kreises durch die erzeugenden Punkte von drei im Strand aufeinander folgenden BΓΆgen lΓ€uft, sprechen wir von einem Kreisereignis (circle event). Es gilt also:
Lemma 5.9.: Ein Bogen kann nur durch ein Kreisereignis vom Strand
verschwinden.
Β§4-19 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
FΓΌr unseren Algorithmus wΓ€hlen wir folgende Datenstrukturen fΓΌr das Voronoi- Diagramm, den Strand π und die Ereignissschlange π:
β’ Das im Bau befindliche Voronoi-Diagramm reprΓ€sentieren wir durch eine
doppelt verknΓΌpfte Kantenliste, wobei wir ein ausreichend groΓes berandetes
Rechteck (bounding box) nutzen, um dem Problem von Halbgeraden unter
den Kanten zu entgehen.
Β§4-20 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
β’ Den Strand, also die Zustandsstruktur unserer sweep line, reprΓ€sentieren wir
durch einen balancierten binΓ€ren Suchbaum π. Die BlΓ€tter reprΓ€sentieren die
BΓΆgen am Strand von links nach rechts und enthalten einen Zeiger auf den
erzeugenden Punkt in π. Die inneren Knoten bezeichnen die Parabelschnitte
und kΓΆnnen genau wie die BΓΆgen von links nach rechts geordnet werden. Im
Knoten legen wir Zeiger zu den beiden erzeugenden Punkten ab. Wenn wir
in einem Punktereignis den Bogen suchen, in dem der neue Punkt liegt,
bestimmen wir aus den beiden Punkten und der π¦-Koordinate der sweep line
die Position des Schnittpunktes der Parabeln in konstanter Zeit und kΓΆnnen
so den richtigen Bogen - also das richtige Blatt im binΓ€ren Baum in π(log π)
ermitteln.
Β§4-21 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
Β§4-22 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
β’ (Fortsetzung) Wir speichern in jedem Blatt auch einen Zeiger auf das Kreisereignis in der Eventschlange π , in dem der Bogen zum Blatt verschwindet. Gibt es dieses Ereignis (noch) nicht in π, so ist der Zeiger null.
Ferner haben die inneren Knoten in π einen Zeiger auf die zugehΓΆrige Kante in πππ(π).
β’ Die Ereignissschlange (event queue) π wird als PrioritΓ€tsschlange (priority
queue) realisiert, wobei die PrioritΓ€t die π¦-Koordinate ist. Die Punktereignisse
erhalten die π¦ -Koordinate des Punktes und die Kreisereignisse die π¦ -
Koordinate des untersten Punktes im Kreis.
Β§4-23 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
Die Punktereignisse sind alle zu Beginn des Algorithmus bekannt. Die
Kreisereignisse mΓΌssen dagegen erzeugt werden. FΓΌr je drei aufeinander
folgende BΓΆgen auf dem Strand, die ein Kreisereignis definieren kΓΆnnen,
erzeugt unser Algorithmus ein entsprechendes Ereignis. Dabei ist zu beachten,
dass die Schnittpunkte der BΓΆgen auseinander driften kΓΆnnen, so dass sie sich
nicht treffen. In diesem Fall ist kein Kreisereignis zu erzeugen.
Β§4-24 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
Ferner kann es sein, dass ein Kreisereignis nicht eintritt, weil ein neuer Bogen
durch ein Punktereignis entsteht und das Kreisereignis verhindert. Dann ist das
Kreisereignis (mittels des Zeigers vom Blatt zum Kreisereignis) aus π zu
entfernen.
Β§4-25 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
Der Algorithmus geht nun die Ereignisse durch. Bei einem Punktereignis kΓΆnnen
bis zu drei neue Tripel von BΓΆgen entstehen. Im ersten Tripel ist der neue
Bogen links, im zweiten in der Mitte und im dritten rechts. Da im zweiten Tripel
die beiden Γ€uΓeren BΓΆgen von der gleichen Parabel stammen, gibt es hier kein
Kreisereignis. FΓΌr die beiden anderen Tripel ist zu testen, ob die BΓΆgenschnitte
aufeinander zu oder auseinander streben. Ferner ist fΓΌr die verschwindenden
Tripel das zugehΓΆrige Kreisereignis zu lΓΆschen, falls eines existiert.
Β§4-26 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
Lemma 4.10.: Jede Ecke des Voronoi-Diagramms wird durch ein Kreisereignis entdeckt.
Beweis: Zu jeder Ecke π gibt es nach 4.5. drei Punkte π
π, π
π, π
πin π auf einem Kreis πΆ
π(π) ohne Punkte aus π im Inneren. Ferner sei O.E. π
π, π
π, π
πdie Reihenfolge der Punkte im Uhrzeigersinn auf dem Kreis: Wir betrachten die sweep line kurz (infinitesimal) vor dem Erreichen des untersten Punktes von πΆ.
Da es keine Punkte aus π im Inneren von πΆ
π(π) gibt, existiert ein Kreis durch π
πund π
πtangential zu l und benachbarte BΓΆgen π½
π, π½
πam Strand. Analog gibt es einen solchen Kreis durch π
πund π
πund benachbarte BΓΆgen π½
πβ², π½
π. Ferner gilt π½
π= π½
πβ², da kein weiterer Bogen dazwischen liegen kann. Also wird die Ecke durch das Kreisereignis zu π
π, π
π, π
πentdeckt.
QED
Β§4-27 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
Wir kΓΆnnen den Algorithmus nun notieren, wobei wir beachten, dass π am Ende
nicht leer ist, sondern die verbleibenden Bogenschnitte (innere Knoten) zu den
Halbgeraden gehΓΆren, die fΓΌr π¦ = β erst enden.
Β§4-28 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
Die Punktereignisse (site events) behandelt HANDLESITEEVENT.
Β§4-29 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
Die Kreisereignisse (circle events) behandelt HANDLECIRCLEEVENT.
Β§4-30 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
Lemma 4.11.: Der Algorithmus benΓΆtigt π(π log π) Zeit und π(π) Speicher.
Beweis: Die Operationen auf dem Baum π und der Ereignisschlange π, also Suchen, EinfΓΌgen und LΓΆschen, erfordern π(log π) Zeit. Die nΓΆtigen Operationen auf der doppelt verknΓΌpften Kantenliste erfordern π(1) Zeit. FΓΌr ein Ereignis haben wir eine konstante Anzahl dieser Operationen, also π(log π).
Offensichtlich gibt es π Punktereignisse. Ferner erzeugt jedes Kreisereignis eine Ecke von πππ(π) , da wir ΓΌberflΓΌssige Kreisereignisse rechtzeitig entfernen.
Daher gibt es 2π β 5 Kreisereignisse. Daraus folgt die π(π log π) Zeitschranke und mit der maximalen Anzahl von 2π β 1 BΓΆgen am Strand (also maximal 2π β 1 Kreisereignisse gleichzeitig in π) auch O(n) fΓΌr den Speicher.
QED
Β§4-31 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
Wir werfen noch einen kurzen Blick auf SpezialfΓ€lle:
1) Haben zwei Punkte gleiche π¦-Koordinate, so ist jede Reihenfolge zulΓ€ssig.
Nur wenn dies beim 2. Punkt passiert, muss man aufpassen, da es keinen Bogen oberhalb von π
2gibt.
2) Wenn zwei Kreisereignisse zusammentreffen, liegen vier Punkte auf einem
Kreis. Die einfachste LΓΆsung ist diesen Fall nicht besonders zu behandeln
und die entstehenden Kanten der LΓ€nge 0 spΓ€ter aus dem Voronoi-
Diagramm zu entfernen.
Β§4-32 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
3) Ferner kann ein Punktereignis π
πgenau unterhalb eines Schnittes zweier BΓΆgen auftreten. In diesem Fall wird einer der beiden BΓΆgen durch den neuen geteilt. Dabei entsteht ein Bogen der LΓ€nge 0, der ein Kreisereignis an der Position π
πverursacht. Wenn dieses Kreisereignis abgearbeitet wird, verschwindet der Bogen der LΓ€nge 0 und es entsteht die benΓΆtigte Ecke des Voronoi-Diagramms.
4) Wenn drei aufeinander folgende BΓΆgen am Strand durch drei kollineare
Punkte in π erzeugt werden, gibt es keinen Kreis durch die Punkte und wir
erzeugen kein Kreisereignis.
Β§4-33 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
Theorem 4.12.: Das Voronoi-Diagramm einer Menge von π Punkten in der Ebene kann durch ein sweep line Verfahren in π(π log π) Zeit mit π(π) Speicher berechnet werden.
Es sei angemerkt, dass das Sortieren von π Zahlen als Berechnen eines quasi
eindimensionalen Voronoi-Diagramms aufgefasst werden kann und daher
Ξ©(π log π) untere Schranke ist !
Β§4-34 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
Literatur
Voronoizellen sind nach den Arbeiten von Voronoi [G. M. Voronoi. Nouvelles applications des paramètres continus à la théorie des formes quadratiques, premier Mémoire: Sur quelques propriétés des formes quadratiques positives parfaites. J. Reine Angew. Math., 133:97-178, 1907, G. M. Voronoi. Nouvelles applications des paramètres continus à la théorie des formes quadratiques. deuxième Mémoire: Recherches sur les parallèlloèdres primitifs. J. Reine Angew. Math., 134:198-287, 1908] benannt.
Da sie vorher schon bei Dirichlet [L. Dirichlet. Γber die Reduktion der positiven quadratischen Formen mit drei unbestimmten ganzen Zahlen. J. Reine Angew. Math., 40:209-227, 1850] auftraten, spricht man auch von Dirichlet-Tesselierungen.
Man kann das Prinzip bis Descartes [R. Descartes, Principia Philosophiae, Teil 3, 1644
]zurΓΌckverfolgen.
Okabe et al. gibt einen Γberblick ΓΌber Geschichte und Anwendungen [A. Okabe,
B. Boots, K. Sugihara, Spatial Tesselations: Concepts and Applications of Voronoidiagrams. John Wiley & Sons,
Chichester, UK, 1992].
Β§4-35 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
Der erste optimale π(π log π) Zeit Algorithmus basierte auf divide and conquer
[M. I. Shamos and D. Hoey. Closest-point problems. In Proc. 16th Annu. IEEE Sympos. Found. Comput. Sci., pages 151-162, 1975].
Unsere Methode stammt von Fortune [S. J. Fortune. A sweepline algorithm for Voronoi
diagrams. Algorithmica, 2:153-174. 1987] in der Fassung von Guibas und Stolfi [L. J. Guibas and
J. Stolfi. Ruler, compass and computer: the design and analysis of geometric algorithms. In R. A. Earnshaw,
editor, Theoretical Foundations of Computer Graphics and CAD. NATO ASI Sereis F. Vol. 40 pages 111-165,
Springer-Verlag, 1988].
Β§4-36 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
Verallgemeinerungen der Voronoi-Diagramme gibt es viele [F. Aurenhammer. Voronoi diagrams. A survey of a fundamental geometric data structure. ACM Comput. Surv., 23:345-405, 1991, A. Okabe, B. Boots, and L. Sugihara. Spatial Tesselations: Concepts and Applications of Voronoi Diagrams. John Wiley &
Sons, Chichester, U. K., 1992].
1) In β
πergibt sich als maximale Anzahl der Elemente (Ecken, Kanten, Seiten, ...) der Raumunterteilung Ξ(π
π2)
[V. Klee. On the complexity of d-dimensional Voronoi diagrams. Archiv der Mathematik, 34:75-80, 1980] . Die Berechnung kann in π(π log π + π
π2) optimaler Zeit erfolgen. [B. Chazelle.
An optimal convex hull algorithm and new results on cuttings. In Proc. 32nd Annu. IEEE Sympos. Found.
Comput. Sci., pages 29-38, 1991, K. L. Clarkson and P. W. Shor. Applications of random sampling in
computational geometry, II. Discrete Comput. Geom., 4:387-421, 1989, R. Seidel. Small-dimensional linear
programming and convex hulls made easy. Discrete Comput. Geom., 6:423-434, 1991].
Β§4-37 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
2) FΓΌr die πΏ
1-Metrik (Blockmetrik, Manhattanmetrik)
πππ π‘
1π, π β π
π₯β π
π₯+ π
π¦β π
π¦sind alle Kanten des Voronoi-Diagramms horizontal, vertikal oder diagonal.
Zu den πΏ
π-Metriken
πππ π‘
ππ, π β
ππ
π₯β π
π₯ π+ π
π¦β π
π¦ πgibt es diverse Artikel [L. P. Chew and R. L. Drysdale, III. Voronoi diagrams based on convex distance functions. In Proc. 1st Annu. ACM Sympos. Comput. Geom., pages 235-244, 1985, D. T. Lee. Two-dimensional Voronoi diagrams in the
Lp-metric. J. ACM, 27:604-618, 1980, D. T. Lee and C. K. Wong. Voronoi diagrams in L1(Lβ) metric with 2-dimensional storage applications. SIAM J. Comput., 9.200-211, 1980].
Auch gewichtete Metriken (additiv, multiplikativ) wurden behandelt [F. Aurenhammer
and H. Edelsbrunner. An optimal algorithm for constructing the weighed Voronoi diagram in the plane. Pattern
Recogn., 17:251-257, 1984, S. J. Fortune. A sweepline algorithm for Voronoi diagrams. Algorithmica, 2:153-174,
1987].
Β§4-38 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
Weitere Abstandsfunktionen fΓΌhren zu Powerdiagrammen. [F. Aurenhammer. A criterion for the affine equality of cell complexes in
Rd and convex polyhedra in Rd+1. Discrete Comput. Geom, 2:49-64,1987, F. Aurenhammer. Power diagrams: properties, algorithms and applications. SIAM J. Comput., 16:78-96, 1987, F. Aurenhammer. Linear combinations from power domains. Geom. Declicata, 28:45-52, 1988, F.
Aurenahmmer, F. Hoffmann, and B. Aronov. Minkowski-type theorems and least squares clustering, Algorithmica, 20:61-76, 1998].
Auch abstrakte Diagramme ohne Abstandsfunktionen sind mΓΆglich [R. Klein. Abstract Voronoi diagrams and their applications. In Computational Geometry and its Applications. Lecture Notes in Computer Science, Vol. 333, pages 148-157, Springer-Verlag, 1988, R. Klein. Concrete and Abstract Voronoi Diagrams. Lecture Notes in Computer Science, Vol. 400, Springer-Verlag, 1989, R. Klein. K. Mehlhorn, and S.
Meiser. Randomized incremental contruction of abstract Voronoi diagrams. Comput. Geom. Theory Appl., 3:157-
184, 1993, K. Mehlhorn, S. Meiser, and C. O'Dunlaing. On the construction of abtract Voronoi diagrams. Discrete
Comput. Geom., 6:211-224, 1991].
Β§4-39 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
3) Man kann statt der Punkte auch weitere Objekte verwenden, etwa Kanten und gelangt dann zur Medial Axis Transform. [F. Chin, J. Snoeyink, and C.-A. Wang.
Finding the medial axis of a simple polygon in linear time. In Proc. 6th Annu. Internat. Sympos. Algorithms
Comput. (ISAAC 95). Lecture Notes in Computer Science, Vol. 1004, pages 382-391, Springer-Verlag, 1995
].
Β§4-40 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
4) SchlieΓlich kann man statt des minimalen Abstandes zu einem Punkt auch noch nach dem Abstand zu den nΓ€chsten Punkten fragen. Dies liefert
Voronoi-Diagramme der Ordnung π [F. Aurenhammer and O. Schwarzkpf. A simple on-line randomized incremental algorithm for compupting higher order Voronoi diagrams. Internat. J. Comput. Geom.
Appl., 2:363-381, 1992, J.-D. Boissonnat, O. Bevillers, R. Schott, M. Teillaud. A semidynamic construction of higher-order Voronoi diagrams and its randomized analysis. Algorithmica 9:329-356, 1993, B. Chazelle and H. Edelsbrunner. An improved algorithm for constructing kth order Voronoi diagrams. IEEE Trans. Comput., C-36:1349-1354, 1987].
Als KomplexitΓ€t ergibt sich Ξ©(π(π β π)) [D. T. Lee. On k-nearest neighbor. Voronoi diagrams in the plane. IEEE Trans. Comput., C-31:478-487, 1982].
Der schnellste bekannte Algorithmus benΓΆtigt π(πlog
3π + π(π β π)) Zeit [P. K.
Agarwal, M. de Berg, J. Matousek, and O. Schwarzkopf. Constructing levels in arrangements and higher
order Voronoi diagrams. SIAM J. Comput. 27:654-667, 1998].
Β§4-41 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
HΓ€ufig stellt sich in der geometrischen Datenverarbeitung die Aufgabe, eine
gegebene Punktmenge zu triangulieren. Schon bei den vier Punkten eines
konvexen Vierecks lΓ€sst sich dies nicht eindeutig lΓΆsen. Man braucht also ein
zusΓ€tzliches Kriterium, um zu einer eindeutigen LΓΆsung zu kommen. In der
Visualisierung dienen Triangulierungen hΓ€ufig zur Interpolation von Messwerten
an irregulΓ€r verteilten Positionen. Dabei mΓΆchte man gutmΓΌtige Dreiecke, die
nicht zu "dΓΌnn" sind.
Β§4-42 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
Ein hΓ€ufiger LΓΆsungsansatz liegt in der mΓΆglichst guten Vermeidung kleiner
Winkel. Man sucht also eine Triangulierung, bei der der kleinste Winkel maximal
wird. Diese Triangulierung heiΓt auch Delaunay-Triangulierung. Ihre
Eigenschaften, ein effizienter Algorithmus und die Analyse der KomplexitΓ€t
werden in diesem Abschnitt besprochen.
Β§4-43 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
Theorie
Definition 4.13.: Sei π = {π
1, β¦ , π
π} eine Menge von Punkten in der Ebene.
Eine maximale planare Unterteilung πΊ von π· ist eine planare Unterteilung, so
dass keine zwei Punkte mehr durch eine Kante verbunden werden kΓΆnnen,
ohne dass π seine Eigenschaft als planare Unterteilung verliert. Eine
Triangulierung von π ist eine maximale planare Unterteilung.
Β§4-44 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
Aus der Definition folgt die Existenz von Triangulierungen und wegen der
Triangulierbarkeit aller polygonalen Facetten auch, dass eine Triangulierung aus
Dreiecken besteht. Ferner ist leicht einzusehen, dass die konvexe HΓΌlle stets
den Rand einer Triangulierung bilden muss. Dann lΓ€sst sich die Anzahl der
Kanten und Dreiecke in einer Triangulierung mittels der Eulerformel ableiten.
Β§4-45 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
Theorem 4.14.: Sei π eine Menge von π Punkten in der Ebene, die nicht alle kollinear sind. Ferner seien π Punkte Ecken der konvexen HΓΌlle. Dann hat jede Triangulierung von π 2π β 2 β π Dreiecke und 3π β 3 β π Kanten.
Beweis: Sei π die Anzahl der Dreiecke, π die Anzahl der Facetten und π die Anzahl der Kanten. Wegen der unbeschrΓ€nkten Facette gilt π = π + 1. Jede Kante berandet 2 Facetten. Die Dreiecke haben 3 Kanten und die unbeschrΓ€nkte Facette π. Also 2π = 3π + π. Euler sagt uns:
2 = π β π + π = π β
32π β
π2+ π + 1 β
12π = π β 1 β
π2β π = 2π β 2 β π 2 = π β π + π = π β π + π + 1 = π β π + 2π β 2 β π + 1 β π = 3π β 3 β π
QED
Β§4-46 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
Wir brauchen nun einen Formalismus, um die Triangulierung bzgl. der kleinsten auftretenen Winkel zu vergleichen.
Definition 4.15.: Sei π eine Triangulierung von π mit π Dreiecken. Betrachte die aufsteigend sortierte Sequenz πΌ
1, πΌ
2, β¦ , πΌ
3πder 3π Winkel in π, also
πΌ
πβ€ πΌ
πβ π < π . Wir nennen π΄ π = {πΌ
1, β¦ , πΌ
3π} den Winkelvektor von π . Ferner definieren wir die lexikographische Ordnung auf den Winkelvektoren:
π΄ π < π΄ π
β²gdw β 1 β€ π β€ 3π: β π < π: πΌ
π= πΌ
πβ²β§ πΌ
π< πΌ
πβ²Eine Triangulierung πβ² heiΓe winkeloptimal, falls π΄ π β€ π΄(π
β²) fΓΌr alle
Triangulierungen π von π.
Β§4-47 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
Eine offensichtliche, elementare Operation fΓΌr das VerΓ€ndern von
Triangulierungen ist das Vertauschen von Diagonalen innerhalb eines konvexen
Vierecks (flipping edges).
Β§4-48 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
Dabei Γ€ndern sich die Winkel (πΌ
1, β¦ , πΌ
6) in π΄(π) in (πΌ
1β², β¦ , πΌ
6β²) um.
Die Kante π = π
ππ
πnennen wir illegal falls
1β€πβ€6
min πΌ
π< min
1β€πβ€6
πΌ
πβ²Beobachtung 4.16.: Sei π eine Triangulierung mit illegaler Kante π. Sei πβ² die
Triangulierung mit vertauschter Diagonale π. Es gilt π΄ π < π΄(π
β²).
Β§4-49 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
Lemma 4.17.: Sei π
ππ
πeine Kante inzident zu den Dreiecken π
ππ
ππ
πund π
ππ
ππ
π. Wir betrachten den Kreis πΆ durch π
π, π
πund π
π:
π
ππ
πist illegal gdw π
πim Inneren von πΆ liegt
Bilden π
ππ
ππ
ππ
πein konvexes Viereck und liegen nicht auf einem Kreis, so ist
entweder π
ππ
πoder π
ππ
πillegal. (Beweis beruht auf einer Verallgemeinerung des
Satzes von Thales, wonach der Winkel ΓΌber einer Sehne ab eines Kreises C bei
Punkten p,q auf dem Kreis stets gleich und bei Punkten r im Inneren grΓΆΓer
und bei Punkten s auΓerhalb des Kreises kleiner ist.)
Β§4-50 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
Da eine illegale Kante eine Verbesserung des Winkelvektors gestattet, ist eine
winkeloptimale Triangulierung legal. Dies fΓΌhrt zu einem einfachen Algorithmus.
Β§4-51 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
Da jedes Vertauschen von Diagonalen den Winkelvektor vergrΓΆΓert und somit zu einer neuen Triangulierung fΓΌhrt, ergibt sich aus der endlichen Anzahl der Triangulierungen, dass der Algorithmus terminiert. Leider ist der Algorithmus aufwΓ€ndig.
Bevor wir erneut an einen Algorithmus gehen, betrachten wir einige interessante
Eigenschaften der Voronoi-Zellen des Abschnittes 4.1. Sei πΊ der zum Voronoi-
Diagramm duale Graph.
Β§4-52 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
Diesen Graph betten wir mit geraden Kanten in die Ebene ein und nennen diese
Einbettung Delaunay-Graph zur Punktmenge π.
Β§4-53 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
ZunΓ€chst ΓΌberzeugen wir uns davon, dass sich keine Kanten schneiden kΓΆnnen.
Theorem 4.18.: Der Delaunay-Graph einer ebenen Punktmenge ist ein planarer Graph.
Beweis: Wir nehmen an, dass sich die Kanten π
ππ
πund π
ππ
πunseres Graphen
schneiden. Dazu mΓΌssen π
π, π
π, π
πund π
πalle verschieden sein, da sich die
Kanten sonst in einem Eckpunkt treffen wΓΌrden. Nach Theorem 4.5. ii. gibt es
zur Kante π
ππdes Voronoi-Diagrammes, die π(π
π) und π(π
π) trennt, um jeden
inneren Punkt π
ππeinen Kreis πΆ
ππdurch π
πund π
π, der keine anderen Punkte aus
π trifft. Sei nun π‘
ππdas Dreieck aus π
ππ, π
πund π
π.
Β§4-54 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
Wegen des Schnittes der Kanten unseres Graphen und der Kreisbedingung muss π
ππ
πdurch das ganze Dreieck laufen und auch die Strecke π
πππ
πoder π
πππ
πschneiden. Analog finden wir zu π
ππ
πeinen Punkt π
ππ, einen Kreis πΆ
ππ, ein Dreieck π‘
ππund einen Schnitt von π
ππ
πmit π
πππ
πoder π
πππ
π. Damit schneiden sich die beiden Dreiecke π‘
ππund π‘
ππ, insbesondere etwa π
πππ
πund π
πππ
π(oder eine der anderen vier Varianten). Da aber π
πππ
πund π
πππ
πin disjunkten Voronoi- Zellen liegen, ist dies unmΓΆglich!
QED
Β§4-55 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
Wie ΓΌblich, schlieΓen wir nun einmal aus, dass die Punkte von π sich in spezieller Lage zueinander befinden. Das heiΓt, dass vier Punkte nicht auf einem Kreis liegen.
Definition 4.19.: Die Punkte aus π sind in allgemeiner Lage, falls nicht vier Punkte auf einem Kreis liegen.
In diesem (und nur in diesem) Fall ist der Delaunaygraph eine Triangulierung,
sonst muss man noch ein paar Facetten (Vierecke, FΓΌnfecke, ...) auf irgendeine
Weise triangulieren. Das Ergebnis nennen wir Delaunay-Triangulierung.
Β§4-56 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
Wie schon gesehen, sind die Eigenschaften der Voronoizellen fΓΌr die Delaunaygraphen nΓΌtzlich. Daher notieren wir ΓΌber Theorem 4.5. ii.:
Theorem 4.20.: Sei P eine Menge von Punkten in der Ebene.
i. Drei Punkte π
π, π
π, π
πβ π gehΓΆren zur gleichen Facette des Delaunay- Graphs gdw
der Kreis durch π
π, π
π, π
πkeinen Punkt aus π im Inneren hat.
ii. Zwei Punkte π
π, π
πβ π bilden eine Kante im Delaunaygraph gdw
es eine abgeschlossene Kreisscheibe durch π
πund π
πgibt, die keinen anderen Punkt aus π enthΓ€lt.
Theorem 4.21.: Sei π eine planare Punktmenge und π eine Triangulierung.
Dann ist π eine Delaunay-Triangulierung gdw
der Umkreis jedes Dreiecks keinen Punkt aus π im Inneren hat.
Β§4-57 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
Nun zeigen wir noch, dass wir eigentlich Delaunay-Triangulierungen suchen.
Theorem 4.22.: Sei π eine planare Punktmenge. Eine Triangulierung von π ist legal gdw π ist eine Delaunay-Triangulierung von π.
Beweis: Die RΓΌckrichtung der Aussage folgt direkt aus dem letzten Theorem und Lemma 4.17.
Die Hinrichtung kann man durch Widerspruch schnell zeigen. Sei π also eine
legale Triangulierung aber nicht Delaunay. Dann gibt es ein Dreieck π
ππ
ππ
πund
einen Punkt π
πinnerhalb des Umkreises. Wir betrachten das Viereck π
ππ
ππ
ππ
π.
(OE seien π
ππ
ππ
πund π
ππ
ππ
πsich nicht ΓΌberschneidende Dreiecke.) Unter allen
diesen Paaren (Dreieck π
ππ
ππ
π, Punkt π
π) suche das Paar, das den Winkel
π
ππ
ππ
πmaximiert. Betrachte nun das Nachbardreieck π
ππ
ππ
πentlang π
ππ
π. Dann
sind π
πund π
πverschieden, da sonst π
ππ
πnicht legal sein kann (vgl. Lemma
4.17).
Β§4-58 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
Der Kreis πΆ
πππdurch π
π, π
π, π
πenthΓ€lt den Teil des Kreises πΆ
πππauΓerhalb der Kante π
ππ
π, weil sonst π
ππ
πwegen p
mnicht legal wΓ€re. Also liegt π
πin πΆ
πππ. Es sei nun π
ππ
πdie Kante des Dreiecks π
ππ
ππ
π, bei der das Dreieck π
ππ
ππ
πnicht das Dreieck π
ππ
ππ
πschneidet. (Der Fall π
ππ
πist vollkommen analog.) Dann ist der Winkel π
ππ
ππ
πgrΓΆΓer als der Winkel π
ππ
ππ
πnach Thales' Satz im Widerspruch zur Definition des Paares (Dreieck π
ππ
ππ
π, Punkt π
π).
QED
Β§4-59 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
Es folgt nun:
Theorem 4.23.: Sei π eine Menge von Punkten in der Ebene. Jede winkeloptimale Triangulierung von π ist eine Delaunay-Triangulierung. Ferner maximiert jede Delaunay-Triangulierung den minimalen Winkel.
Wenn die Punkte in π in allgemeiner Lage sind, gibt es nur eine Delaunay- Triangulierung und somit nur eine legale Triangulierung. Wenn π in βspeziellerβ
Lage ist, wird im Allgemeinen nur der kleinste Winkel maximiert. Durch
Vertauschen von Diagonalen innerhalb der nicht dreiseitigen Facetten des
Delaunay-Graphs kann man auch eine winkeloptimale Triangulierung finden.
Β§4-60 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
Algorithmus und Datenstrukturen
Eine Variante zur LΓΆsung des Problems wΓ€re es natΓΌrlich, ein Voronoi-Diagram zu berechnen und daraus die Delaunay-Triangulierung zu ermitteln. Wir werden hier einen anderen Zugang nehmen, indem wir wieder einen nicht deterministischen, inkrementellen Algorithmus entwerfen.
Um SpezialfΓ€llen aus dem Weg zu gehen, beginnen wir mit einem ausreichend
groΓen Dreieck π
β1π
β2π
β3, in dem π komplett enthalten ist. Damit die drei
Punkte keinen Einfluss auf die Triangulierung von π haben, mΓΌssen sie
auΓerhalb aller Kreise durch Tripel von π sein.
Β§4-61 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
Der Algorithmus selbst fΓΌgt nun die Punkte aus π zufΓ€llig in die Triangulierung der bisherigen Punkte und π
β1π
β2π
β3ein. Dazu ermittelt er das Dreieck, in dem der neue Punkt liegt und fΓΌgt drei Kanten ein. Sollte der Punkt auf einer Kante liegen, sind nur zwei Kanten einzufΓΌgen. Um sicher zu stellen, dass es sich um eine Delaunay-Triangulierung handelt, sind noch Diagonalen zu vertauschen.
Dies erledigt LEGALIZEEDGE und wird anschlieΓend betrachtet.
Β§4-62 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
Β§4-63 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
Da illegale Kanten auftreten kΓΆnnen, mΓΌssen Diagonalen vertauscht werden.
Der Algorithmus deutet bereits an, dass dies genau fΓΌr die drei oder vier Kanten
um den Punkt π
πherum auftreten kann, da π
πinnerhalb entsprechender
Umkreise sein kann. FΓΌr eine Kante π
ππ
πhat man folgende Situation.
Β§4-64 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
Da nach dem Vertauschen einer Diagonale weitere illegale Kanten auftreten
kΓΆnnen, sind diese ebenfalls zu prΓΌfen. Da wir aber Verbesserungen auf dem
Weg zu einer Delaunay-Triangulierung von π
β3, π
β2, π
β1, π
1, ... , π
πerreichen,
bricht die Kaskade von VerΓ€nderungen nach einiger Zeit ab. Eine genaue
Analyse erfolgt spΓ€ter.
Β§4-65 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
Β§4-66 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
Wir zeigen noch, dass jede vertauschte Diagonale zum Delaunaygraph gehΓΆrt.
Lemma 4.24.: Jede erzeugte Kante in DELAUNAYTRIANGULATION und
LEGALIZEEDGE wΓ€hrend des EinfΓΌgens von π
πist eine Kante des
Delaunaygraphen von {π
β3, π
β2, π
β1, π
1, β¦ , π
π} .
Β§4-67 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
Beweis: Wir betrachten die Kanten π
ππ
π, π
ππ
π, π
ππ
πaus dem Aufteilen des Dreieckes π
ππ
ππ
πdurch π
π. Da wir vor dem EinfΓΌgen von π
πeine Delaunaytriangulierung hatten, gibt es einen von anderen Punkten freien Umkreis πΆ zum Dreieck π
ππ
ππ
π. In diesem liegt nun ein Kreis πΆβ² durch π
π, π
π, so dass π
ππ
πim Delaunay-Graph ist. Analog π
ππ
πund π
ππ
π, sowie im Sonderfall π
ππ
π.
FΓΌr die Kanten von LEGALIZEEDGE gehen wir Γ€hnlich vor. Hier wird die Kante π
ππ
πeines Dreieckes π
ππ
ππ
πdurch eine Kante π
ππ
πersetzt. Auch hier gibt es den (bis auf π
π) leeren Umkreis zu π
ππ
ππ
π, innerhalb dessen ein Kreis um π
ππ
πliegt, so dass diese Kante im Delaunaygraphen sein muss.
QED
Β§4-68 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
Um schnell die in Zeile 6 nΓΆtige Suche nach dem Dreieck, in dem π
πliegt,
durchfΓΌhren zu kΓΆnnen, bauen wir eine den trapezfΓΆrmigen Kanten
nachempfundene Suchstruktur π· in Form eines gerichteten, azyklischen
Graphen auf. Die BlΓ€tter sind die Dreiecke in π und die inneren Knoten
entsprechen Dreiecken, die es zu einem frΓΌhen Zeitpunkt im Algorithmus einmal
gab. Suche und Anpassung der Suchstruktur π erlΓ€utern die nΓ€chsten Skizzen.
Β§4-69 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
Β§4-70 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
Um nun noch π
β1, π
β2, π
β3festzulegen, berechnen wir das Maximum M aller BetrΓ€ge aller Koordinaten und setzen π
β1= (3π, 0), π
β2= (0, 3π),
π
β3= (β3π, β3π).
Β§4-71 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
Analyse
Wir betrachten zunΓ€chst die strukturellen Γnderungen durch den Algorithmus.
Dazu sei π
π= {π
1, β¦ , π
π}, π·πΊ
π= π·πΊ({π
β3, π
β2, π
β1} βͺ π
π) .
Lemma 4.25.: Die erwartete Anzahl erzeugter Dreiecke von DELAUNAYTRIANGULATION ist maximal 9π + 1.
Beweis: Zu Beginn wird 1 Dreieck erzeugt. In Schritt π werden ein oder zwei Dreiecke zerlegt, so dass 3 oder 4 neue Dreiecke entstehen. Es entsteht eine entsprechende Anzahl Kanten in π·πΊ
π, die bei π
πstarten.
Ferner erzeugt jeder Diagonalentausch in LEGALIZEEDGE 2 neue Dreiecke.
Dabei entsteht stets eine Kante, die bei π
πstartet. Ist π der Grad von π
πin π·πΊ
π,
so werden 2 π β 3 + 3 = 2π β 3 neue Dreiecke erzeugt.
Β§4-72 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
Mittels RΓΌckwΓ€rtsanalyse stellen wir fest, dass π
πzufΓ€llig aus π
πausgewΓ€hlt ist.
Also mΓΌssen wir den Erwartungswert fΓΌr π bestimmen. Nach 4.14. gibt es in π·πΊ
π3 π + 3 β 6 Kanten. Die drei Kanten auΓen enden nicht in π
π, also bleibt fΓΌr die Summe der Grade
deg (π)
πβππ
β€ 2 β 3 π + 3 β 6 β 3 = 6π
also πΈ deg π = 6 und es werden 2 β 6 β 3 = 9 neue Dreiecke pro Punkt erwartet. Dazu kommt noch das eine Dreieck zu Beginn.
QED
Β§4-73 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
Satz 4.26.: Die Delaunay-Triangulierung einer Menge π von n Punkten in der Ebene kann in π(π log π) erwarteter Zeit mit π(π) erwartetem Speicher berechnet werden.
Beweis: Die Korrektheit wissen wir schon. Aus dem Aussagen ΓΌber die Triangulierung wissen wir, dass π(π) SpeicherplΓ€tze fΓΌr die Struktur ausreichen.
Das letzte Lemma beschrΓ€nkt ferner den Umfang der Suchstruktur π·, da jeder Knoten zu einem Dreieck gehΓΆrt, das im Laufe des Algorithmus erzeugt wird.
Also ist π(π) Speicher korrekt.
Β§4-74 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
Ferner wissen wir aus dem Lemma 4.25., dass bis auf die Punktsuche alle Schritte π(π) Zeit benΓΆtigen. Der Aufwand der Suche ist linear in der Anzahl Dreiecke, die in irgendeiner Zeit erzeugt wurden und in denen π
πliegt.
Betrachten wir die beiden FΓ€lle zur ZerstΓΆrung von Dreiecken:
β’ Ein neuer Punkt π
πwird innerhalb eines Dreieckes π
ππ
ππ
πeingefΓΌgt.
β’ Ein Diagonalentausch ersetzt π
ππ
ππ
πund π
ππ
ππ
πdurch π
ππ
ππ
πund π
ππ
ππ
π.
Stets ist ein Dreieck Ξ durch einen neuen Punkt zerstΓΆrt worden, wobei π
πim Umkreis des Dreiecks liegt. Sei nun πΎ(Ξ) die Anzahl der Punkte in π, die im Umkreis von Ξ liegen. Da Ξ beim Auftreten des ersten Punktes im Umkreis zerstΓΆrt wird, ergibt sich
π π + ππππ(πΎ Ξ )
Ξ
= π π + ππππ(πΎ Ξ )
Ξ
als Aufwand, wobei Ξ ΓΌber alle im Algorithmus erzeugten Dreiecke lΓ€uft.
Β§4-75 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
Im nΓ€chsten Lemma zeigen wir
π π + ππππ(πΎ Ξ )
Ξ
= π(π log π)
QED
(Eigentlich reicht als Aufwand fΓΌr die Punktsuche die Anzahl der Dreiecke, in denen der Punkt liegt.
Diese Zahl ist aber sicher kleiner oder gleich der Anzahl der Dreiecke, in deren Umkreis der Punkt
liegt. Wir nutzen diese Zahl, weil sie einfacher zu berechnen ist.)
Β§4-76 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
Lemma 4.27.: Wenn P eine Punktmenge in allgemeiner Lage ist, gilt
ππππ(πΎ Ξ )
Ξ
= π(π log π)
wobei die Summe ΓΌber alle vom Algorithmus erzeugten Dreiecke Ξ lΓ€uft.
Beweis: Wenn P in allgemeiner Lage ist, so auch die Teilmenge π
π. Damit gibt es einen eindeutigen Graphen π·πΊ {π β3 , π β2 , π β1 } βͺ π π , dessen Menge von Dreiecken wir π
πnennen. Die Dreiecke aus Schritt π des Algorithmus sind dann π
π\π
πβ1. Also gilt
ππππ(πΎ Ξ )
Ξ
= ππππ(πΎ β )
ββππ\ππβ1 π
π=1
Β§4-77 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
Zu einem Punkt π sei π(π
π, π) die Anzahl der Dreiecke β in π
π, so dass π in πΎ β liegt, und davon π(π
π, π, π
π) die Anzahl der Dreiecke inzident zu π
π. Da alle neuen Dreiecke im Schritt π inzident zu π
πsind, folgt
ππππ(πΎ β )
ββππ\ππβ1
= π(π
π, π, π
π)
πβπ\ππ
Β§4-78 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
Sei nun π
πβeine feste Wahl von π
π. Wir berechnen den Erwartungswert fΓΌr alle Permutationen von π mit diesem festen π
πβ. Da ein Dreieck ββ π
πβmit Wahr- scheinlichkeit
3π
zu π
πβ π
πβinzident ist, gilt
πΈ[π π
πβ, π, π
π] β€ 3π(π
πβ, π) π
Wenn wir ΓΌber alle π β π\π
πβsummieren, folgt
πΈ ππππ(πΎ(β))
ββππ\ππβ1
β€ 3
π π(π
π, π)
πβπ\ππ
Ferner ist jedes q als p
r+1gleich wahrscheinlich, also:
πΈ π π
πβ, π
π+1= 1
π β π π(π
πβ, π)
πβπ\ππ
und somit
πΈ ππππ(πΎ β )
ββππ\ππβ1
β€ 3 π β π
π πΈ π π
πβ, π
π+1Β§4-79 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
Nun ist π(π
πβ, π
π+1) die Anzahl Dreiecke ββ π
πβmit π
π+1β πΎ(β). Genau diese Dreiecke werden im Schritt π + 1 verΓ€ndert, also
πΈ ππππ(πΎ β )
ββππβ\ππβ1β
β€ 3 π β π
π πΈ ππππ(π
πβ\π
π+1β)
Nach Theorem 4.14 sind in π
πβgenau 2 π + 3 β 2 β 3 = 2π + 1 Dreiecke, also hat π
π+1β2 Dreiecke mehr als π
πβ:
πΈ ππππ(πΎ β )
ββππβ\ππβ1β
β€ 3 π β π
π (πΈ ππππ π
π+1β\π
πββ 2)
Β§4-80 Algorithmische Geometrie
Abteilung fΓΌr Bild- und Signalverarbeitung
Nun nehmen wir das Mittel ΓΌber alle π
βauf beiden Seiten, was die Aussage nicht Γ€ndert. Dann kΓΆnnen wir noch nutzen, dass im Mittel maximal 6 Dreiecke in π
π+1inzident zu π
π+1sind und genau diese card (π
π+1βπ
π) ausmachen. Also
πΈ ππππ πΎ β
ββππβ\ππβ1β
β€ 3 π β π
π πΈ ππππ π
π+1β\π
πββ 2
= 3 π β π
π 6 β 2
= 12 π β π
π
12 π β π π
π π=1
= 12π 1 π
π π=1