我正在从 STEP 文件中读取 NURBS 曲面以及它们的边界曲线。现在我想对这些表面进行镶嵌。
我读过的每个算法都谈到了参数空间中的边界曲线,带有参数 t 的曲线,它映射到二维坐标 (u,v),即表面的参数坐标。
问题是在 STEP 文件中,我在世界空间中定义了边界曲线。我的问题是:有一种有效的方法可以将曲面上的曲线从世界空间转换为参数空间?
我能想到的唯一方法是从该曲线生成大量点,然后在参数空间中拟合一条新曲线,但我想有一种更有效的方法可以做到这一点,因为知道曲线位于表面上。
谢谢
我正在从 STEP 文件中读取 NURBS 曲面以及它们的边界曲线。现在我想对这些表面进行镶嵌。
我读过的每个算法都谈到了参数空间中的边界曲线,带有参数 t 的曲线,它映射到二维坐标 (u,v),即表面的参数坐标。
问题是在 STEP 文件中,我在世界空间中定义了边界曲线。我的问题是:有一种有效的方法可以将曲面上的曲线从世界空间转换为参数空间?
我能想到的唯一方法是从该曲线生成大量点,然后在参数空间中拟合一条新曲线,但我想有一种更有效的方法可以做到这一点,因为知道曲线位于表面上。
谢谢
如果 3D 边界曲线恰好是参数域 (u, v) 中 2D 边界曲线的 3D 映射,那么也许有更好的方法可以从给定的 3D 边界曲线计算这些 2D 边界曲线。然而,很多时候情况并非如此。对于双三次曲面,从 3 次 2D 边界曲线映射的精确 3D 边界曲线为 18 次。因此,任何 CAD 软件都不太可能以精确格式表示这些 3D 边界曲线。大多数时候,它们只是近似值,仅在一定公差范围内离表面足够近。因此,如果您没有二维边界曲线的信息,通常需要在参数域中进行曲线拟合。该过程是从 3D 曲线中采样点,将它们投影到曲面上以找到相应的 (u,v) 值,然后根据这些 (u,v) 值进行曲线拟合。当然,在某些特殊情况下,您可以使用简化的算法。例如,当 3D 曲线与曲面的等参曲线匹配时。