【问题标题】:CGAL - Surface mesh parameterisationCGAL - 表面网格参数化
【发布时间】:2019-12-02 23:01:20
【问题描述】:

我一直在使用 LSCM 参数化器来展开网格。我想获得一个具有精确测量值的 2d 平面模型,这样如果您制作剪纸,就可以将其物理地包装回原始模型。

似乎 SMP::parameterize() 将生成的 OFF 缩小到 1mm x 1mm。如何获得具有准确测量值的 OFF 文件? scaled down.

【问题讨论】:

  • 您好,您的帖子似乎没有问题。尝试改写您的帖子,以便有问题!

标签: c++ cgal


【解决方案1】:

参数化是一个 UV 贴图,将 2D 坐标与 3D 点相关联,并且此类坐标始终介于 0,0 和 1,1 之间。这就是为什么你会得到 1mm/1mm 的结果。我想您可以将 3D 边缘长度与地图中的 2D 版本进行比较,并以此因素缩放您的 2D 模型。也许执行一个更精确的平均值。

【讨论】:

  • 谢谢,我将尝试这样做。当我使用 cgal ARAP 参数化方法时 - 它会产生具有正确尺寸的 OFF,但不幸的是重叠的 2d 模型。你知道为什么一种方法会在 0 和 1.0 之间,而另一种方法有原始值吗?
  • 是特定的方法,没有绑定。您应该尽可能使用这个,因为它会尽可能地保留该区域,其他方法可能会压缩或扩展点之间的距离,并且您将无法解开网格的结果。重叠是由于算法的机制,没有什么可以阻止它。
【解决方案2】:

CGALs Least Squares Conformal Maps 算法输出使得两个约束顶点之间的 2D 距离为 1mm。这意味着除非您选择约束的两个顶点相距正好 1mm,否则输出表面将被缩放。

另一方面,CGAL 'As Rigid As possible' 参数化可以输出保持区域不变的结果。增加 λ 参数将改善输入和输出之间区域的保留,但会以保持角度为代价,而减小 λ 参数则相反。

另请注意,从默认值增加迭代次数将改善输出 - 尤其是在展开的表面自相交时。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-01
    • 1970-01-01
    相关资源
    最近更新 更多