Gibt es einen bekannten / vorhandenen Algorithmus, um eine 2D-Leinwand, die mit willkürlich / zufällig verteilten Punkten bedeckt ist, vollständig in eine Reihe nicht überlappender Polygone zu unterteilen? Ein Beispiel für das Ergebnis, nach dem ich suche:
algorithms
graphs
CaptainRad
quelle
quelle
Antworten:
Möglicherweise suchen Sie nach einem Voronoi-Diagramm . Gegeben ein SatzS. von Punkten erstellt es eine Zelle pro Punkt, wobei die Zelle für Punkt p enthält alles, was näher ist p als zu jedem anderen Punkt in S. . Es gibt Algorithmen zum Berechnen eines Voronoi-Diagramms inO ( n lgn ) Zeit, wo n ist die Anzahl der Punkte in Ihrem Satz.
quelle
Ja, es gibt sogar Algorithmen, die zusätzliche Einschränkungen erfüllen können. Es kann als Teilaufgabe während auftreten Netzgenerierung . Der Vanille-Algorithmus ist die Delaunay-Triangulation , die eng mit dem Voronoi-Diagramm verwandt ist (falls Sie sich fragen, warum DW der Meinung ist, dass das Voronoi-Diagramm Ihre Frage beantwortet).
quelle