Bezier curve & B-spline
1 Bezier曲线
1.1背景及意义
参数
其中,系数矢量
Bezier基函数
可以化成伯恩斯坦函数
1.2 定义
针对Bezier曲线,给定空间
其中,
二项式定理(牛顿二项式定理),给出两数之和的整数次幂的恒等式,
一次Bezier曲线
当
其中,
所以
恰好为连接起点
二次Bezier曲线
当
其中,
所以
为抛物线,其矩阵形式为:
三次Bezier曲线
当
其中,
所以
其中,
三次Bezier曲线的矩阵形式为:
其中,
1.3 性质
1.3.1 Bernstein基函数的性质
1.正性(非负性)
2.权性
基函数有
3.端点性质
4.对称性
将n次Bezier曲线控制多边形顶点位置不变、次序颠倒,则曲线保持不变,但是走向相反。
5.递推性
即n次Bernstein基函数可由两个n-1次Bernstein基函数线性组合而成。
6.导函数
7.最大值
在
8.积分
9.降阶公式
即一个n次Bernstein基函数能表示成两个n-1次基函数的线性和。
1.3.2 Bezier曲线的性质
1.端点性质
顶点
2.一阶导数
当
当
3.几何不变性
4.变差缩减性
若Bezier曲线的特征多边形是一个平面图形, 则平面内任意直线与
1.4 Bezier曲线生成算法
1.4.1 根据定义
1.给出
2.将
1.4.2 递推算法(de Casteljau)
由n+1个控制点
由此得到Bezier曲线的递推计算公式
利用递推公式,在给定参数下,求Bezier曲线上一点
1.5 Bezier曲线的拼接及升降阶
1.5.1 Bezier曲线的拼接
增加特征多边形的顶点数会引起Bezier曲线次数的提高,高次多项式会导致计算困难,所以需要采用分段设计,将各段曲线连接起来,并在接合处保持一定的连续条件。
给定两条Bezier曲线
(1)
(2)
1.5.2 Bezier曲线的升阶与降阶
升阶:保证曲线的形状和方向保持不变,但是增加定义它的顶点个数,即提高该Bezier曲线的次数。
设给定原始控制顶点
化简得:
升阶后的多边形更加靠近曲线,如果一直升阶下去,控制多边形收敛于这条曲线。
降阶:升阶的逆过程
假定
由该方程可以导出两个递推公式:
可利用以上两个式子进行降阶,但不精确。
2 B样条曲线
2.1背景
Bezier曲线存在不足:
(1)一旦确定了特征多边形的顶点数,也就确定了曲线的阶次;
(2)Bezier曲线或曲面的拼接比较复杂
(3)Bezier曲线或曲面不能作局部修改
样条(spline):分段连续多项式
如何分段?
现有n+1个点,每两点之间构造一条多项式,n+1个点有n个小区间,
每个小区间构造一条三次多项式,变成了n段的三次多项式拼接在一起,段与段之间满足两次连续,这就是三次样条。
2.2 B样条的递推定义和性质
B样条曲线的数学表达式为:
其中,
对于Bezier曲线来说,阶次和次数是一样的;但对于B样条,阶数是次数加1。
B样条基函数是一个称为节点矢量的非递减的参数u的序列所决定的k阶分段多项式,这个序列称为节点向量。
de Boor-Cox递推定义
约定:
该递推公式表明:若确定第i个k阶B样条
2.3 B样条基函数定义区间及节点向量
2.3.1 k阶B样条对应节点向量数
对于
2.3.2 B样条函数定义区间
区间要合法,区间里必须要有足够的基函数与顶点匹配,B样条基函数严重依赖于节点向量的分布。
2.4 B样条曲线定义
其中,
2.5 B样条基函数的主要性质
1.局部支撑性
对于每个区间
2.权性
3.连续性
4.分段参数多项式
2.6 B样条函数的主要性质
1.局部性
k阶B样条曲线上的一点至多与k个控制顶点相关,与其它控制顶点均无关。移动曲线的第i个控制点
2.变差缩减性
3.几何不变性
4.凸包性
B样条曲线落在
2.7 B样条曲线类型的划分
1.均匀B样条曲线(uniform B-spline curve)
当节点沿参数轴均匀等距分布,即
均匀B样条的基函数呈周期性。即给定n和k,所有的基函数形状相同,每个后续基函数时前面基函数在新位置上的重复:
其中,
2.准均匀B样条曲线(Quasi-uniform B-spline curve)
与均匀B样条曲线的差别在于两端节点具有重复度k,这样的节点矢量定义了准均匀的B样条基,解决了均匀B样条曲线没有保留Bezier曲线端点几何性质的问题。
3.分段Bezier曲线(Piecewise Bezier Curve)
节点矢量中两端节点具有重复度k,所有内节点重复度为k-1,这样的节点矢量定义了分段的Bernstein基。
用分段Bezier曲线表示B样条曲线后,各曲线段就具有了相对独立性,且可以采用Bezier曲线的简单有效算法,缺点是增加了定义曲线的数据、控制定点数及节点数。
4.非均匀B样条曲线(non-uniform B-spline curve)
当节点沿参数轴的分布不等距,即