CGAL - 表面网格参数化
CGAL - Surface mesh parameterisation
我一直在使用 LSCM 参数化器来展开网格。我想获得一个具有精确测量值的 2d 平面模型,这样如果您制作剪纸,您可以将其物理地包裹回原始模型。
似乎 SMP::parameterize() 正在将生成的 OFF 缩小到 1mm x 1mm。如何获得具有准确测量值的 OFF 文件?
scaled down.
参数化是一个UV贴图,将2D坐标关联到3D点,这样的坐标总是在0,0和1,1之间。这就是为什么您会得到 1mm/1mm 结果的原因。我想您可以将 3D 边长与其在地图中的 2D 版本进行比较,并按此系数缩放您的 2D 模型。也许执行一个更精确的平均值。
CGALs Least Squares Conformal Maps 算法输出使得两个约束顶点之间的 2D 距离为 1mm。这意味着除非您选择约束的两个顶点恰好相距 1mm,否则输出表面将被缩放。
CGAL 'As Rigid As Possible'参数化,另一方面,可以输出一个保持区域的结果。增加 λ 参数将以保持角度为代价改善输入和输出之间区域的保留,而减小 λ 参数将起到相反的作用。
另请注意,增加默认的迭代次数将改善输出 - 特别是当展开的表面自相交时。
我一直在使用 LSCM 参数化器来展开网格。我想获得一个具有精确测量值的 2d 平面模型,这样如果您制作剪纸,您可以将其物理地包裹回原始模型。
似乎 SMP::parameterize() 正在将生成的 OFF 缩小到 1mm x 1mm。如何获得具有准确测量值的 OFF 文件? scaled down.
参数化是一个UV贴图,将2D坐标关联到3D点,这样的坐标总是在0,0和1,1之间。这就是为什么您会得到 1mm/1mm 结果的原因。我想您可以将 3D 边长与其在地图中的 2D 版本进行比较,并按此系数缩放您的 2D 模型。也许执行一个更精确的平均值。
CGALs Least Squares Conformal Maps 算法输出使得两个约束顶点之间的 2D 距离为 1mm。这意味着除非您选择约束的两个顶点恰好相距 1mm,否则输出表面将被缩放。
CGAL 'As Rigid As Possible'参数化,另一方面,可以输出一个保持区域的结果。增加 λ 参数将以保持角度为代价改善输入和输出之间区域的保留,而减小 λ 参数将起到相反的作用。
另请注意,增加默认的迭代次数将改善输出 - 特别是当展开的表面自相交时。