【问题标题】:Remove self-intersections in Meshlab or vcglib删除 Meshlab 或 vcglib 中的自相交
【发布时间】:2018-11-23 05:49:52
【问题描述】:

如何使用 Meshlab 应用程序或 vcglib 移除网格的自相交?

【问题讨论】:

标签: geometry computational-geometry mesh meshlab vcg


【解决方案1】:

这超出了范围,但 CGAL 中有一些功能。这仍然是实验性的,没有记录,但您可以使用函数remove_self_intersections()。根据自相交的类型,您还可以使用(也是实验性的)函数autorefine_and_remove_self_intersections()。当您由于精度损失(以某种方式进行局部重新网格化)而想要删除自相交时,更有可能使用第一个函数,而当您有很强的自相交时,则使用第二个函数。

【讨论】:

    【解决方案2】:

    如果您正在寻找 Meshlab 的简单解决方案,您可以执行以下操作:

    1. 过滤器 -> 清洁和修复 -> 选择自相交面:您将看到以红色显示的自相交。

    2. Filters -> Selection -> Delete Selected Faces:自相交的面将被删除。

    3. 编辑 -> 填充孔:您需要浏览孔列表,然后单击选中复选框以选择由已删除面产生的所有孔。如果您的网格有很多孔,这可能是一项繁琐的任务。删除的面很有可能留下了非流形孔,因此您可以使用它来选择要填充的孔。

    【讨论】:

    • 移除自相交面后的扩展过程是 1. 顶点修复:过滤器 -> 清理和修复 -> 移除未引用的顶点/移除隔离件以删除浮动顶点和面 2. 边缘修复:过滤器-> 清洁和修复 -> 在关闭孔之前通过移除面来修复非歧管边缘来修复非歧管边缘 3,面固定:过滤器 -> 重新划分网格、简化和重建 -> 关闭孔(检查以防止创建自相交面)循环直到网格是两个流形的,没有自相交的面
    • 我尝试使用这些步骤修复我的网格,但没有任何变化。我在每次迭代中都保持相同的自相交点(每个网格至少尝试 6 次迭代)。
    猜你喜欢
    • 2018-11-20
    • 2022-12-10
    • 1970-01-01
    • 1970-01-01
    • 2017-02-09
    • 2015-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多