维基百科上的内容和图片表明B样条曲线不会经过控制点,我在其他地方找到的信息与维基百科上的内容相同。然而,在scipy.interpolate
中可以执行样条插值,例如interp1d
'cubic'
或splrep
splev
(这两个操作应该类似于 Difference between quadratic and 2nd order spline interpolation in scipy)。通过绘图,我发现曲线穿过了所有的控制点。但是文档和库代码显示这些操作的基础是B样条。
我现在非常困惑。我知道B样条是一种样条曲线,在B样条插值之外还有许多种样条插值,如自然立方样条插值和三次Hermite插值。
我的当前问题:
- 样条曲线和样条插值之间的关系。样条插值是否总是经过所有的控制点?
- B样条和B样条插值以及三次样条插值是否相同?
- B样条插值是否会经过控制点?
scipy
中可以使用平滑因子s来确定曲线是否通过所有控制点。这意味着B样条可以根据节点的数量选择是否通过所有控制点。你们的答案基本上是一样的,谢谢! - yu2014ol