【问题标题】:Tag boundary vertices after 3d triangulation3d 三角剖分后标记边界顶点
【发布时间】:2015-03-13 09:49:18
【问题描述】:

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

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

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

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

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

附:我是 cgal 的新手。

【问题讨论】:

    标签: 3d cgal


    【解决方案1】:

    在 CGAL 三角剖分中,与无限顶点相邻的顶点正是在点集的凸包上的顶点。

    如果你想重建一个形状,比如你的蘑菇,你需要使用重建算法。 CGAL 中最简单的是3D Alpha Shapes,但您可能想使用 Surface Reconstruction from Point Sets.

    【讨论】:

      【解决方案2】:

      我终于通过使用子域解决了这个问题

      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
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-07-12
        • 2020-08-05
        • 2011-01-24
        • 1970-01-01
        • 1970-01-01
        • 2018-04-13
        相关资源
        最近更新 更多