B样条是贝塞尔曲线的推广。令一个向量,称为节点向量,定义为
(1)
|
其中 是一个非递减序列,其中
,并定义控制点
, ...,
。定义次数为
(2)
|
“节点” , ...,
被称为内部节点。
定义基函数为
(3)
| |||
(4)
|
其中 , 2, ...,
。那么由
(5)
|
定义的曲线是 B样条。
具体类型包括非周期 B样条(前 个节点等于 0,最后
个节点等于 1;如上图所示)和均匀 B样条(内部节点均匀分布)。没有内部节点的 B样条是贝塞尔曲线。
曲线在出现 重复节点值的点处是
次可微分的。节点值决定了控制点控制的范围。
B样条在 Wolfram 语言中实现为BSplineCurve[pts]。