高效的 Delaunay 三角测量
我正在寻找一个 .NET 实现,它可以从一组点构建 Delaunay 三角剖分。
我已经测试了几个实现,但它们都只适用于少量点(最多 20,000)。
我需要能够在合理的时间内处理 500,000 点的东西。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
我正在寻找一个 .NET 实现,它可以从一组点构建 Delaunay 三角剖分。
我已经测试了几个实现,但它们都只适用于少量点(最多 20,000)。
我需要能够在合理的时间内处理 500,000 点的东西。
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(5)
如果要构建 2D Delaunay 三角剖分,请使用 Triangle.Net。它是 Shewchuk 著名的 Triangle 程序的直接 C# 移植。
If you want to construct the 2D Delaunay triangulation, use Triangle.Net. It is a direct C# port of Shewchuk's famous Triangle program.
我正在寻找同样的东西,我发现了一个名为 MIConvexHull 的 C# 4.0 库:
http://miconvexhull.codeplex.com/
2016 年 9 月更新:
此库已移至 Github,似乎现在已在 MIT 许可证下发布(其中一些示例是 GPL),您可以在这里找到最新版本:
https://github.com/DesignEngrLab/MIConvexHull
文档其实就在源码里,很简单以下是 Delaunay 三角剖分的相关源文件:
https://github.com/DesignEngrLab/MIConvexHull/blob/master/MIConvexHull/ Triangulation.cs
如果您想查看 2012 年的原始版本。请看这里:
http://miconvexhull.codeplex.com/SourceControl/changeset/查看/e1b26677eb1a#MIConvexHull/Triangulation/Triangulation.cs
I was looking for the same thing and I found a C# 4.0 library called MIConvexHull:
http://miconvexhull.codeplex.com/
Update Sep/2016:
This library has moved to Github and it seems that it is now released under the MIT license (some of the examples are GPL). You can find the latest version here:
https://github.com/DesignEngrLab/MIConvexHull
The documentation is actually in the source code and it is simple to use. Here is the relevant source file for Delaunay triangulation:
https://github.com/DesignEngrLab/MIConvexHull/blob/master/MIConvexHull/Triangulation.cs
If you want to see the original version from 2012. Take a look here:
http://miconvexhull.codeplex.com/SourceControl/changeset/view/e1b26677eb1a#MIConvexHull/Triangulation/Triangulation.cs
您是否尝试过 NetTopologySuite
Have you tried NetTopologySuite
有一个 C# 实现可以帮助您生成 Voronoy 图以及 Delaunay 三角剖分:http://www.codeproject.com/Articles/11275/Fortune-s-Voronoi-algorithm-implemented-in-C
There is a C# implementation which could help you to generate Voronoy diagram as well as Delaunay triangulation: http://www.codeproject.com/Articles/11275/Fortune-s-Voronoi-algorithm-implemented-in-C
有一个名为 G# 的解决方案。
它具有 Delaunay 三角剖分(也带有断裂线)。从他们网站上的性能图表来看,您应该能够在大约 30 秒内对 500k 点进行三角测量。
There is a solution called G#.
It has Delaunay triangulations (also with breaklines). From the performance graph on their website you should be able to triangulate 500k points in about 30s.