我是CGAL的新手并且遇到了Skeleton的问题。
我使用CGAL-4.11(64位);我使用CGAL::extract_mean_curvature_flow_skeleton(tmesh, skeleton);
成功创建了3D多面体(elephant.off文件)的Skeleton
如https://doc.cgal.org/latest/Surface_mesh_skeletonization/Surface_mesh_skeletonization_2simple_mcfskel_example_8cpp-example.html
所有编译和运行没有任何错误,包括使用以下代码导出输入表面的顶点和骨架顶点之间的对应关系:
// Output skeleton points and the corresponding surface points
output.open("correspondance-poly.cgal");
BOOST_FOREACH(Skeleton_vertex v, vertices(skeleton))
BOOST_FOREACH(vertex_descriptor vd, skeleton[v].vertices)
output << "2 " << skeleton[v].point << " " << get(CGAL::vertex_point, tmesh, vd) << "\n";
但当我看到这种信件的可视化时,我发现了一件可怕的事情。而不是一个漂亮的画笔,它看起来像一个随机的边缘,请参阅 screenshot (look at the chaotic blue lines)
UPD:问题解决了!非常感谢@sloriot
问题在于旧的&mean.3curvature_flow_skeletonization.h&#39;文件,解决方案是here。