均匀开B样条
1 原理
定义红色函数为f1,蓝色函数为f2

如果现在我们取Rn中的两个点P1,P2,定义f(x)=f1⋅P1+f2⋅P2,这样我们就得到了一条曲线,并且由于f1,f2是连续的所以曲线也是连续的
如果我们有n个点,那我们就可以选取n个函数,通过计算得到一条曲线f(x)=∑fi⋅Pi,f(x)的光滑程度与fi有关
每个点对应一个函数,这一系列函数称为基函数
2 基函数
定义
fn,n+1(x)=⎩⎪⎨⎪⎧10n≤x<n+1other
当k>1递归定义
fn,n+k=k−1x−nfn,n+k−1+k−1n+k−xfn+1,n+k
其中fn,n+k是Ck−2的,并且有
i∑i+kfi,i+k=1i+k−1≤x<i+k
3 均匀开B样条
设有n个点为P1…Pn,需要次数为p的一个开B样条曲线,由以上条件我们选择f1,1+p+1…fn,n+p+1作为基函数,于是
f(x)=i=1∑nfi,i+p+1(x)⋅Pi
因为B样条曲线自变量x取值范围需要满足
i=1∑nfi,i+p+1(x)=1
所以取值范围为p+1≤x<n+1,而为了使曲线存在需满足p<n
4 示例
https://examples.tbolp.club/#/bspline