五、B样条曲线的矩阵表示
1)二阶B样条曲线
设空间P0 P1, …., Pn为n+1个控制点,节点矢量为
其中每相邻两个控制点之间可以构造出一段二阶B样条曲线。其中的第j=i-1段二阶B样条曲线Pj(t)的矩阵表示为:
;
其中,
。
��对于二阶均匀B样条曲线,其矩阵表示与非均匀B样条曲线的相同:
���。
2)三阶B样条曲线
给定节点矢量为
,n+1个控制点为P0,P1, …., Pn。其中每相邻三个点可构造出一段二次的B样条曲线。其中的第j(=i-2)段三阶B样条曲线Pj(u)的矩阵表示为:
;
其中,
。
对于三阶均匀B样条曲线,其矩阵表示为
。
三阶均匀B样条曲线的端点位置、一阶导数和二阶导数矢量分别为:
Pi,3(0)=(Pi+Pi+1)/2,
Pi,3(1)=(Pi+1+Pi+2)/2;
P'i,3(0)= Pi+1-Pi,
P'i,3(1)=Pi+2-Pi+1,
P'i,3(1)=P'i+1,3(0);
P''i,3(t)=Pi-2Pi+1+Pi+2
, |
三阶均匀B样条曲线的首末点通过相应边的中点;首末点的切矢方向与相应边重合;二阶导数矢量等于该曲线的两条边矢量Pi+1-Pi
和Pi+2-Pi+1所构成的对角线矢量。
三阶均匀B样条曲线段为抛物线,两相邻曲线段之间为一阶连续。
3)四阶B样条曲线
设节点矢量为
,控制点为P0 P1,
…., Pn,其中每相邻四个点可构造出一段三次的B样条曲线。其中的第j(=i-3)段三次B样条曲线Pi(u)的矩阵表示为:
;。
其中,
,
��m3,2 =-m2,2/3-
m3,3-(ti+1-ti)2/[(
ti+2-ti)(ti+2-ti-1)],mr,j是第r行第j列的元素。
第j(=i-3)段三次均匀B样条曲线Pj(t)的矩阵表示:
。
三次均匀B样条曲线的端点位置、一阶导数和二阶导矢量分别为:
Pi,4(0)=(Pi+4Pi+1+Pi+2)/6, |
Pi,4(1)=(Pi+1+4Pi+2+Pi+3)/6; |
P'i,4(0)=(Pi+2-Pi
)/2, |
P'i,4(1)= (Pi+3-Pi+1
)/2, |
P'i,3(1)= P'i+1,3(0); |
P''i,4(0)= Pi-2Pi+1+
Pi+2, |
P'i,4(1)= Pi+1-2Pi+2+
Pi+3。 |
三次均匀B样条曲线段的起点位于以Pj+1Pj和Pj+1Pj+2为邻边的平行四边形的对角线的1/6处;起点的切矢量与PjPj+2平行,切矢量的长度
;曲线段起点的二阶导数矢量等于以Pj+1Pj和Pj+1Pj+2为邻边所构成的平行四边形的对角线矢量。
4)k阶B样条曲线
设节点矢量为
,控制点为P0,P1, …., Pn,其中每相邻k个控制点可构造出一段k阶B样条曲线。其中的第j(=i-k+1)段曲线Pi-k+1(u)的矩阵表示为:
(6-4-4)
;
;
其中,Mk(i)称为k阶B样条基矩阵,它由下列递归公式计算:
(6-4-5)
如果 ,i=0,1,…,n+k-1,则由(6-4-4)式所定义的曲线Pi-k+1(u)
(i=k-1, k,…,n)为均匀B样条曲线,这时,k阶B样条基矩阵Mk(i)与i无关,简记为Mk:
上式也可以显式地表示为:
其中,
。
|