Wie leite ich ein Voronoi-Diagramm anhand seiner Punktmenge und seiner Delaunay-Triangulation ab?
Arbeite ich an einem Spiel, wo ich erstellen Sie eine zufällige Karte der Provinzen (a la Risiko oder Diplomacy). Erstellen, anzeigen, habe ich zuerst die Generierung einer Reihe von semi-zufällige Punkte, dann das berechnen der Delaunay-Triangulationen dieser Punkte.
Mit, dass getan, ich bin nun auf der Suche zum erstellen einer Voronoi-Diagramm der Punkte dienen als Ausgangspunkt für die Provinz grenzt. Meine Daten zu diesem Zeitpunkt (kein Wortspiel beabsichtigt) besteht aus der original-Serie von Punkten und eine Sammlung der Delaunay-Dreiecke.
Ich habe gesehen, eine Reihe von Möglichkeiten, dies zu tun auf dem web, aber die meisten von Ihnen sind gefesselt, wie die Delaunay abgeleitet wurde. Ich würde gerne etwas finden, das nicht integriert werden müssen, um die Delaunay, aber arbeiten kann auf der Grundlage der Daten allein. Gelingt das nicht, ich bin auf der Suche nach etwas, was nachvollziehbar zu einer relativen geometrie-Neuling, im Gegensatz zu einer optimalen Geschwindigkeit. Danke!
InformationsquelleAutor der Frage CommanderTso | 2008-09-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das Voronoi-Diagramm ist nur die dualen Graphen der Delaunay-triangulation.
Beachten Sie, dass der exakte code hängt von der internen Darstellung, die Sie verwenden für die zwei Diagramme.
InformationsquelleAutor der Antwort Adam Rosenfield
Wenn die optimale Geschwindigkeit ist nicht eine überlegung, die folgenden Pseudo-code generieren wird ein Voronoi-Diagramm der harte Weg:
Vorausgesetzt, Sie haben ein "point" - Klasse oder die Struktur, wenn Sie Sie zuordnen zufällige Farben, dann sehen Sie den bekannten voronoi-Muster, wenn Sie die Ausgabe angezeigt.
InformationsquelleAutor der Antwort Alexandra Franks
Nach versuchen, diesen thread als Quelle für Antworten auf meine eigenen ähnlichen Frage, habe ich festgestellt, dass Fortune ' s Algorithmus — wahrscheinlich, weil es ist die beliebteste & daher sind die meisten dokumentiert — war am einfachsten zu verstehen.
Der Wikipedia-Artikel auf Fortune ' s Algorithmus frisch hält links zu source-code in C, C# und Javascript. Alle von Ihnen waren erstklassig und kam mit schönen Beispielen.
InformationsquelleAutor der Antwort Wray Bowling
Ich bin mir ziemlich sicher, dass 'Dreieck' http://www.cs.cmu.edu/~quake/triangle.html erzeugen kann, die die voronoi -
InformationsquelleAutor der Antwort Martin Beckett
Jede Ihrer Delaunay-Dreiecke enthält, die einen einzelnen Punkt des Voronoi-Diagramms.
Können Sie berechnen dieser Stelle finden Sie den Schnittpunkt der drei senkrecht winkelhalbierenden für jedes Dreieck.
Ihre Voronoi-Diagramm wird eine Verbindung dieser Reihe von Punkten, jeder mit seiner nächsten drei Nachbarn. (jeder Nachbar teilt eine Seite des Delaunay-Dreieck)
Wie wollen Sie bei Annäherung an den Rand Fälle?
InformationsquelleAutor der Antwort Arc the daft