Je recherche une implémentation .NET qui construit la triangulation Delaunay à partir d'un ensemble de points.
J'ai déjà testé quelques implémentations, mais elles ne fonctionnaient toutes que pour une petite quantité de points (jusqu'à 20 000).
J'ai besoin de quelque chose qui peut gérer 500 000 points dans un délai raisonnable.
Si vous souhaitez construire la triangulation Delaunay 2D, utilisez Triangle.Net. Il s'agit d'un port C # direct du célèbre programme Triangle de Shewchuk.
Je cherchais la même chose et j'ai trouvé une bibliothèque C # 4.0 appelée MIConvexHull:
"Un algorithme de coque convexe et une bibliothèque pour les dimensions 2D, 3D et supérieures. Le code peut également être utilisé pour calculer les triangulations de Delaunay et les maillages Voronoi des données d'entrée. Les repères indiquent que le code de coque convexe et le code de triangulation à 4 dimensions et plus sont au pair ou mieux que la solution fournie par la bibliothèque C++ CGAL. "
http://miconvexhull.codeplex.com/
Mise à jour sept/2016:
Cette bibliothèque a migré vers Github et il semble qu'elle soit maintenant publiée sous la licence MIT (certains des exemples sont GPL). Vous pouvez trouver la dernière version ici:
https://github.com/DesignEngrLab/MIConvexHull
La documentation est en fait dans le code source et elle est simple à utiliser. Voici le fichier source pertinent pour la triangulation de Delaunay:
https://github.com/DesignEngrLab/MIConvexHull/blob/master/MIConvexHull/Triangulation.cs
Si vous voulez voir la version originale de 2012. Jetez un œil ici:
Avez-vous essayé NetTopologySuite
Il existe une implémentation C # qui pourrait vous aider à générer un diagramme de Voronoy ainsi qu'une triangulation Delaunay: http://www.codeproject.com/Articles/11275/Fortune-s-Voronoi-algorithm-implemented-in-C-C
Il existe une solution appelée G # .
Il a des triangulations de Delaunay (également avec des lignes de rupture). À partir du graphique des performances sur leur site Web, vous devriez pouvoir trianguler 500 000 points en environ 30 secondes.