【问题标题】:Does the B-spline pass through the control points?B样条是否通过控制点?
【发布时间】:2020-11-22 08:00:50
【问题描述】:

维基百科上的内容和图片表明B样条没有通过控制点,我在其他地方找到的信息与维基百科上的内容相同。但是,样条插值可以在scipy.interpolate中进行,比如interp1d'cubic'splrepsplev(这两个操作应该类似Difference between quadratic and 2nd order spline interpolation in scipy)。通过绘制,我发现曲线通过了所有的控制点。但是文档和库代码显示这些操作的基础是 B 样条。

我现在对此深感困惑。我知道B样条是样条的一种,除了B样条插值外,样条插值还有很多种,比如自然三次样条插值和三次Hermitian插值。

我目前的问题:

  1. 样条曲线和样条插值的关系。样条插值是否总是通过所有控制点?
  2. B样条和B样条插值和三次样条插值是一样的吗?
  3. B 样条插值是否会通过控制点?

【问题讨论】:

    标签: python interpolation bspline


    【解决方案1】:
    1. 与贝塞尔曲线不同,B 样条曲线通常不通过终点控制点MIT discussion,但钳位 B 样条曲线通过 Clamped B-splines

    2. B 样条是由基本函数组成的样条。 B 样条插值是一种评估 B 样条以找到准确点的方法。三次 B 样条是多项式阶数为 3 的一种 B 样条。

    3. 如果您将足够多的控制点放在另一个顶部,则样条线将被夹紧并通过这些控制点。终点需要的结数取决于曲线的顺序,并打破了该点曲线的连续性。

    【讨论】:

    • 我刚刚发现scipy中可以使用平滑因子s来判断曲线是否通过所有控制点。这意味着B样条可以根据结的数量来选择是否通过所有控制点。你的答案基本一致,谢谢!
    猜你喜欢
    • 2014-12-16
    • 1970-01-01
    • 2023-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-15
    相关资源
    最近更新 更多