我有一组3D点,我正试图使用pth次B样条插值。我已经实现了这里描述的算法https://pages.mtu.edu/~shene/COURSES/cs3621/NOTES/INT-APP/CURVE-INT-global.html,以便曲线通过数据点。此外,我的曲线的第一个点等于最后一个点,因为它是一条闭合曲线。
现在,我已经实现了钳制情况的插值算法,其中第一个p和最后一个p+1多重性。然而,对于闭合的情况,我很难做到这一点,因为我希望曲线是周期性的。
根据此处描述的控制点缠绕算法,通过修改结,我成功地将我获得的clamping(或开放(曲线表示转换为闭合表示:https://pages.mtu.edu/~shene/COURSES/cs3621/NOTES/样条曲线/bspline-curve-closed.html
然而,我也尝试过用打结缠绕算法做同样的操作,但没有成功。他们说用第一个结包裹最后一个结,但结向量应该是一个不递减的实数序列,所以这不可能。我还试图通过将与包裹的控制点对应的结的结向量扩展到1以上来进行包裹,同时将结增量保持在结向量的开头,但这也不起作用。
现在我想知道我是否应该在知道最终曲线必须闭合的情况下求解方程组,而不是试图将钳制曲线转换为闭合。有人知道如何正确地实现这一点吗,或者知道在哪里给我指明正确的方向吗?
如有任何帮助,我们将不胜感激。
在我看来,它添加了一个新的b样条,而不是移动旧的一部分使其闭合。