gpt4 book ai didi

distribution - meshlab:我的网格的拓扑是否会影响曲率结果

转载 作者:行者123 更新时间:2023-12-04 01:36:59 30 4
gpt4 key购买 nike

作为我硕士论文的一部分,我需要检查不同 3D 扫描对象的曲率,
我是网格实验室和网格的新手,所以我发现它很难理解。

我的网格是不规则的,因为它们是 3D 扫描的。因此,顶点的“分布”也是不规则的。这会影响我的曲率计算吗?我认为确实如此,因为所有曲率计算方法都使用相邻顶点,但我不确定。
当它们的顶点不以相同的方式均匀分布时,我可以公平地比较不同网格的曲率吗?

我的解决方案是以相同的方式重新采样所有网格,然后进行表面重建并计算曲率?

或者我是否看到了不存在的问题,我可以只使用曲率计算。 (我想我会去伪逆)

我正在使用meshlab 2016.12

感谢您的帮助!

巴斯

最佳答案

我不知道您是否已经熟悉曲面上的曲率,因此在讨论 meshlab-2016 上的曲率以及如何比较两个网格之间的曲率之前,我将解释一些基本概念。

第一:曲面上一点的曲率测量曲面偏离该点切平面的程度。该偏差在该点周围的每个方向上可能不相等。例如,圆柱体一侧的任何点在一个方向(平行于轴)上的曲率为零,因为该表面不会在该方向上偏离平面,但在任何其他方向上都具有正曲率。

A cylinder and a tangent plane

因此,“点上的曲率”采用的值通常在该点周围的每个方向上都不相等。通常,存在曲率最大的方向和曲率最小的其他(垂直)方向。这些被称为 主曲率

Meshlab 可以使用以下命令计算和渲染主曲率方向:

  • Filters -> Normals, curvatures and orientations -> Compute Curvature Principal Directions
  • 渲染 -> 显示曲率。

  • Principal curvatures of Fertility

    这对于理解表示表面曲率的概念和复杂性很有用,但不足以比较两个网格之间的“曲率差异”。但这是回答您的主要问题的一个很好的起点:Meshlab 可以计算不规则网格的曲率,并且将为网格的每个顶点提供一个曲率值。尽管您可能不知道“如何比较主曲率”,但您可能会预料到您的第一个问题将是两个网格具有不同的顶点数量和位置,因此您将知道曲率,但它们将位于表面。

    下一个。为了避免处理那些复杂的“每个方向的不同曲率值”,人们通常使用两个不依赖于方向的标量值:
  • 平均曲率是最大和最小曲率之间的平均值。此值将允许您将顶点分类为凸 (MC > 0)、凹 (MC < 0) 或“几乎平坦” (MC ~ 0)
  • 高斯曲率是最大和最小曲率之间的乘积。如果您的表面在任何方向上都是“平坦的”(如圆柱体示例的一侧),则高斯曲率将为零,并且允许您将顶点分类为椭圆形 (GC > 0)、双曲线形 (GC < 0) 或抛物线形(GC ~ 0)

  • 您可以使用 Filters -> Normals, curvatures and orientations -> Discrete Curvature 对话框在 meshlab-2016 中计算这两个值:

    Mean Curvature

    Gaussian Curvature

    曲率的标量值作为质量值存储在顶点中,因此您可以使用 Render -> Show Quality Histogram 分析它们或将值保存到 .ply 文件中,以便您可以在自己的程序中使用它们。

    Quality histogram

    因此,我们现在几乎准备好设计“计算两个不规则网格之间的曲率差异”算法,因为现在曲率只是存储为每顶点质量的标量值。这样你就可以:
  • 加载网格 A 和 B。我想它们相似但不同。在我的示例中,我将使用具有 9000 个三角形的网格并将同一网格简化为 3000 个三角形。
  • 计算网格 A 的平均/高斯曲率。 curvatures on mesh A
  • 使用过滤器 Sampling -> Vertex Attribute Transfer 将质量从网格 A 转移到网格 B。如图像 Transfer Quality
  • 所示
  • 快点!现在,您已在网格 A 上测量的曲率存储在网格 B 的顶点上 After Transfer Quality
  • 将网格 B 保存到具有质量值的 .ply 文件。
  • 使用过滤器计算网格 B 的平均/高斯曲率。 Real curvatures for mesh B
  • 将网格保存到另一个具有质量值的 .ply 文件。

  • 现在,您可以比较存储在两个文件中的质量,绘制差异等...

    关于distribution - meshlab:我的网格的拓扑是否会影响曲率结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59194552/

    30 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com