【问题标题】:Is there any difference between closed and open NURBS on control and knots?控制和结上的封闭式和开放式 NURBS 之间有什么区别吗?
【发布时间】:2014-07-14 23:38:07
【问题描述】:

我想知道在控制和结上的封闭和开放 nurbs 之间是否有任何区别。

查了很多资料,都没有找到准确的答案,所以在这里问。

【问题讨论】:

    标签: spline nurbs


    【解决方案1】:

    在开放或封闭的 nurbs 曲线的控制点和节点序列方面确实没有区别。他们都遵循规则“number_of_knots = number_of_control_points + order”。然而,闭合 nurbs 曲线(或周期性 nurbs 曲线)是通过对控制点和节点序列进行一些特殊排列来实现的。例如,结序列 [ 0., 0., 0., 0., 0.25, 0.5, 0.75, 1.0, 1.0, 1.0, 1.0] 将产生 7 个控制点(P1, P2,... to P7)在开放三次 B 样条曲线中。如果我们将节点序列更改为 [ -0.75, -0.5, -0.25, 0., 0.25, 0.5, 0.75, 1.0, 1.25, 1.5, 1.75] 并使 P5=P1, P6=P2 和 P7=P3, 那么曲线将变为在关节处具有 C2 连续性的周期性三次 B 样条曲线。

    【讨论】:

    • 判断nurbs曲线是否闭合的公式是什么?
    • @fang 如果我按照你的公式运行从 t=0 到 t=1 的样条线,我是否会在不“环绕”的情况下通过原始起点和终点?
    • @nonremovable:是的。如果您从 0 到 1 评估样条曲线,那么您将看不到“环绕”。
    • @fang。如果生成我的控制点以使生成的曲线插入我拥有的数据集,此方法是否有效?我使用 NURBS 书籍第 369 页“GlobalCurveInterp”中的算法来插入数据集。但我想让结果曲线闭合,这本书对此没有提及。在其他作品中,我想让曲线闭合(具有 C2 连续性),但保持它仍然可以插入数据。
    • @nonremovable:是的。它会起作用的。为了用 C2 连续性的周期性三次 B 样条插值 N 个点,B 样条需要有 (N+3) 个控制点。您还需要设置类似于我帖子中的“样式”的结序列,并在插值方程组中添加 3 个兼容性方程,以确保最后 3 个控制点与前三个控制点相同。有关此主题的更多问题,请在 SO 中发布问题。
    猜你喜欢
    • 2017-02-17
    • 2016-09-05
    • 2016-09-05
    • 2013-04-15
    • 1970-01-01
    • 2010-10-14
    • 1970-01-01
    • 2013-06-10
    • 1970-01-01
    相关资源
    最近更新 更多