三次样条是由分段三次样条构成的多项式,这些多项式穿过一组控制点。每个多项式的二阶导数通常在端点处设置为零,因为这提供了一个边界条件,完成了方程组。这产生了一个所谓的“自然”三次样条,并导致一个简单的三对角系统,可以很容易地求解以给出多项式的系数。然而,这种选择不是唯一可能的,并且可以使用其他边界条件来代替。
三次样条在 Wolfram 语言 中实现为BSplineCurve[pts,SplineDegree ->3].
考虑一组 点的一维样条 。根据 Bartels et al. (1998, pp. 10-13),设样条的第 段表示为
(1)
|
其中 是参数 且 , ..., 。那么
(2)
| |||
(3)
|
对每个区间中的 求导,得到
(4)
| |||
(5)
|
(6)
| |||
(7)
| |||
(8)
| |||
(9)
|
现在要求二阶导数在点处也匹配,因此
(10)
| |||
(11)
| |||
(12)
| |||
(13)
|
对于内部点,以及端点满足
(14)
| |||
(15)
|
这总共给出了 个方程,用于求解 个未知数。为了获得另外两个条件,要求端点处的二阶导数为零,因此
(16)
| |||
(17)
|
重新排列所有这些方程(Bartels et al. 1998, pp. 12-13)得到以下优美的对称三对角系统
(18)
|
如果曲线是闭合的,则系统变为
(19)
|