私はCGALを初めて使用しています。私の質問は非常に簡単だと確信しています。
Delaunay 三角形分割を行うために CGAL を使用しようとしています。球体上に N 個の 3D ポイントを持つグリッドがあり、それらの点を三角形の頂点として使用して球体を三角形分割したいと考えています。そのような結果の三角形の頂点のリストを取得する必要があるだけです:
id_triangle1 vertex_1 vertex_2 vertex_3 id_triangle2 vertex_1 vertex_2 vertex_3 .......
私は三角測量を実行するためにそれをしました:
std::vector<Point> P;
for(i=0;i<NSPOINTS;i++)
P.push_back(Point(GRID[i].x,GRID[i].y,GRID[i].z));
// building Delaunay triangulation.
Delaunay dt(P.begin(), P.end());
私が抱えている問題は、結果の三角形分割を取得する方法がわからないことです。face_iterator を取得する方法はわかりましたが、そこから何をすればよいかわかりません。
Delaunay::Finite_faces_iterator it;
for (it = dt.finite_faces_begin(); it != dt.finite_faces_end(); it++){
std::cout << dt.triangle(it) << std::endl;
}
それが三角形を反復するのが正しいかどうかはわかりません。もしそうなら... 三角形 = 面 ??¿ 、つまり、各反復子の位置には三角形しかありません。各三角形の x、y、z を正しく取得するにはどうすればよいですか??