Meshlab 加权简化
Meshlab Weighted Simplification
我使用 Meshlab Quadric edge collapse 进行简化。这个想法是使用第二个网格来定义网格中的感兴趣区域,然后使用 Hausdorff 距离计算两个网格之间的距离。与加权简化相比,我希望网格的较远部分比较近的部分更简化。不幸的是,我不知道如何到达那里,因为每个顶点的质量在较远的部分很高,而在靠近定义的感兴趣区域的部分很低,相反我需要它。任何的想法?
非常感谢!
使用 Per Vertex Quality Function
过滤器可以轻松实现。
首先,让我构建一个类似于您的示例。我有两个网格(灰色和黄色石像鬼),将使用 Distance from Reference Mesh
计算一个网格到另一个网格的距离,并将距离值存储为每个顶点的质量。
我们可以渲染质量直方图以查看值。您可以看到有很多顶点的距离接近 0.0(蓝色值)。两个网格之间的最大距离值为 1.83(红色值)。
现在,您想以低距离值采用高质量值的方式反转这些值。您可以使用 Per Vertex Quality Function
过滤器并编写一个将低值转换为高值的表达式。在您的表达式中,q 表示当前每个顶点的质量值,因此您可以使用 q = 1.83 - q
或 q = 1 / (1+q)
等公式
在这个例子中,我使用了q = 1.83 - q
。这很好,但是使公式取决于距离的最大值。如您所见,直方图已反转,现在是具有低距离高质量值的顶点。
而这里,我使用了q = 1 / (1+q)
。我使用这个公式来避免被零除,这将由普通 1 / q 产生。您也可以使用非线性并使用 q = 1 / (1 + q * q)
.
我使用 Meshlab Quadric edge collapse 进行简化。这个想法是使用第二个网格来定义网格中的感兴趣区域,然后使用 Hausdorff 距离计算两个网格之间的距离。与加权简化相比,我希望网格的较远部分比较近的部分更简化。不幸的是,我不知道如何到达那里,因为每个顶点的质量在较远的部分很高,而在靠近定义的感兴趣区域的部分很低,相反我需要它。任何的想法? 非常感谢!
使用 Per Vertex Quality Function
过滤器可以轻松实现。
首先,让我构建一个类似于您的示例。我有两个网格(灰色和黄色石像鬼),将使用 Distance from Reference Mesh
计算一个网格到另一个网格的距离,并将距离值存储为每个顶点的质量。
我们可以渲染质量直方图以查看值。您可以看到有很多顶点的距离接近 0.0(蓝色值)。两个网格之间的最大距离值为 1.83(红色值)。
现在,您想以低距离值采用高质量值的方式反转这些值。您可以使用 Per Vertex Quality Function
过滤器并编写一个将低值转换为高值的表达式。在您的表达式中,q 表示当前每个顶点的质量值,因此您可以使用 q = 1.83 - q
或 q = 1 / (1+q)
在这个例子中,我使用了q = 1.83 - q
。这很好,但是使公式取决于距离的最大值。如您所见,直方图已反转,现在是具有低距离高质量值的顶点。
而这里,我使用了q = 1 / (1+q)
。我使用这个公式来避免被零除,这将由普通 1 / q 产生。您也可以使用非线性并使用 q = 1 / (1 + q * q)
.