标记 3D 三角测量后的边界折点



我的目标是将 3D 规则三角化网格的所有顶点标记为内部或外部顶点。我知道无限顶点。

我遍历无限顶点的所有相邻顶点,并将它们标记为外部顶点。什么时候这样做我会得到奇怪的结果:

右图:蘑菇的所有顶点。中间图片:标记为外部的顶点。左图:标记为内部的顶点

http://i62.tinypic.com/2uqj6hj.jpg

当我做同样的事情但使用球体网格时,我会得到正确的结果。我是否正确理解了无限顶点?我该如何解决这个问题?

附言我是cgal的新手。

在 CGAL 三角测量中,与无限顶点相邻的顶点恰好是位于点集凸包上的顶点。

如果你想重建一个形状,比如你的蘑菇,你需要使用重建算法。CGAL 中最简单的是 3D Alpha 形状,但您可能想使用从点集进行曲面重建。

我最终设法通过使用子域解决了这个问题

for (C3t3::Facets_in_complex_iterator
    fit = i_pTetrahedlizedMesh.facets_in_complex_begin(),
    end = i_pTetrahedlizedMesh.facets_in_complex_end();
fit != end; ++fit)
{
    C3t3::Subdomain_index cell_sd = i_pTetrahedlizedMesh.subdomain_index(fit->first);
    C3t3::Subdomain_index opp_sd = i_pTetrahedlizedMesh.subdomain_index(fit->first->neighbor(fit->second));
    if (cell_sd != 0 && opp_sd != 0) continue; //this is an inner vertex
    else .... //this is an outer vertex

相关内容

  • 没有找到相关文章

最新更新