私はいくつかの(2D)Delaunay三角測量で遊んでみたいと思っています。私はCGALを認識していますが、そこにはかなり単純で直接的なものがあるのだろうかと思っていました。私がしたいLightweight Delaunay Trianguationライブラリ(C++用)
もの:
- 任意の点はである点
- 検索三角形の任意の組の三角形分割を作成し、頂点
- は、三角測量の画像を作成フェッチ(オプション)
提案ですか?
私はいくつかの(2D)Delaunay三角測量で遊んでみたいと思っています。私はCGALを認識していますが、そこにはかなり単純で直接的なものがあるのだろうかと思っていました。私がしたいLightweight Delaunay Trianguationライブラリ(C++用)
もの:
提案ですか?
より適切な回答を提供できるように、目標を詳細に記述する必要がありますが、最初にCで書かれた2D Delaunay生成ツールのTriangleについて言及しましょう。また、スタンドアロンプログラム、または自分のコードから呼び出されます。
その後、CGALについては、ここでは代表的な例である、場合にあなたはまだそれを考えてみます。
#include <vector>
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
#include <CGAL/Delaunay_triangulation_2.h>
typedef CGAL::Exact_predicates_inexact_constructions_kernel K;
typedef CGAL::Delaunay_triangulation_2<K> Delaunay;
typedef K::Point_2 Point;
void load_points(std::vector<Point>& points)
{
points.push_back(Point(1., 1.));
points.push_back(Point(2., 1.));
points.push_back(Point(2., 2.));
points.push_back(Point(1., 2.));
}
int main()
{
std::vector<Point> points;
load_points(points);
Delaunay dt;
dt.insert(points.begin(), points.end());
std::cout << dt.number_of_vertices() << std::endl;
return 0;
}
私は2Dドロネー三角形分割のためのGnu Triangulated Surface libraryを使用しましたし、それがうまく働きました。そのOOP-in-C GLibスタイルを使用しているために少し奇妙ですが、簡単にwrapped upになります。
も参照してくださいpoly2tri、それは良さそうに見えます:https://github.com/greenm01/poly2tri
これは拘束されたdelaunayのためのものですが、あなたがランダムな点群を使用する場合、これがうまくいくかどうかはわかりません。 – jokoon
どの次元では? – Camille
ライブラリーにする必要がありますか、スタンドアロンのプログラムは問題ありませんか? – Camille
スタンドアロンプログラムはおそらくOKではないでしょう。私はこれをより大きなソフトウェアツールに統合しようとしています。 –