web-dev-qa-db-ja.com

効率的なドロネー三角形分割

ポイントのセットからDelaunayの三角形分割を構築する.NET実装を探しています。

すでにいくつかの実装をテストしましたが、それらはすべてわずかなポイント(最大20,000)でしか機能しませんでした。

妥当な時間で500,000ポイントを処理できるものが必要です。

36
AlonH

2D Delaunay三角形分割を作成する場合は、Triangle.Netを使用します。これは、Shewchukの有名な Triangle プログラムの直接C#ポートです。

17
Ashwin Nanjappa

私は同じものを探していましたが、MIConvexHullというC#4.0ライブラリを見つけました。

「2D、3D、およびそれ以上の次元の凸包アルゴリズムとライブラリ。このコードは、入力データのドロネー三角形分割とボロノイメッシュの計算にも使用できます。ベンチマークは、凸包コードと4次元以上の三角形分割コードがC++ライブラリCGALが提供するソリューションと同等かそれ以上です。」

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/view/e1b26677eb1a#MIConvexHull/Triangulation/Triangulation.cs

14
Pablo

試しましたか NetTopologySuite

1
Mohit

Delonay三角形分割と同様にボロノイ図を生成するのに役立つC#実装があります: http://www.codeproject.com/Articles/11275/Fortune-s-Voronoi-algorithm-implemented-in-C

1
BlackBada

G# と呼ばれる解決策があります。

Delaunayの三角形分割(ブレークラインも含む)があります。 Webサイトのパフォーマンスグラフから、約30秒で500,000ポイントを三角測量できるはずです。

1
wackmc