Un algorithme simple permettant de calculer la triangulation de Delaunay d'un ensemble de points est le suivant bords retournés . Comme une triangulation de Delaunay est le graphe dual d'un diagramme de Voronoï, vous pouvez construire le diagramme à partir de la triangulation en temps linéaire.
Malheureusement, le temps d'exécution le plus défavorable de l'approche par retournement est O(n^2). Il existe de meilleurs algorithmes, comme le balayage de ligne de Fortune, qui prennent O(n log n). Cette méthode est cependant quelque peu délicate à mettre en œuvre. Si vous êtes paresseux (comme moi), je vous suggère de chercher une implémentation existante d'une triangulation de Delaunay, de l'utiliser, puis de calculer le graphe dual.
En général, un bon livre sur le sujet est Géométrie computationnelle par de Berg et al.
1 votes
Voir le code et l'API à saturnapi.com/vpartition/voronoi-seed-partition-plot