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