c++ - 如何使用 CGAL 简化 3d 网格的特定区域

标签 c++ 3d computational-geometry mesh cgal

我正在使用 CGAL Surface Mesh Simplification从 .off 文件简​​化 3d 网格被读取为 Linear_cell_complex_for_combinatorial_map 并使用 undo_edge_collapse_surface_mesh 撤消边缘折叠(简化) .

如何在网格上的特定选定区域内进行简化和撤消过程。

有什么建议吗?

最佳答案

您可以通过在参数中传递边 --> bool 映射来约束某些边,使其不会被删除。

请参阅 documentation of the edge_collapse() function 中的命名参数 is_constrained_edge_map和 this CGAL example有关用法的示例。在您的情况下,您只需遍历区域的边缘并对其进行约束。

关于c++ - 如何使用 CGAL 简化 3d 网格的特定区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56039040/

相关文章:

algorithm - 如何找到 3D 点列表的 "interior boundary"/"interior convex hull"?

matlab - 如何切割现有的 3D 表面网格以使用对称性

c++ - C 预处理文件中这些不熟悉的行是什么?

c++ - 将十六进制缓冲区转换为无符号整数

javascript - 三个js分组碰撞检测(THREE.Group)

3d - 两个 9 自由度边界框的真实 3D 并交 (IoU) 的计算/实现

algorithm - 给定一组 n 个点 (x,y),是否有可能在 O(n logn) 时间内找到它们之间具有负斜率的点对的数量?

c++ - 让独立的 shared_ptr 指向同一个对象是否合法?

c++ - 使用 noexcept C++11 正确实现函数

java - DICOM 3d 显示 - Java 3D 与 VTK