文档介绍:B样条曲线和曲面
B样条曲线
给定n+1个控制点P0,P1,…,Pn,它们所确定的k阶B样条曲线是:
其中Ni,k(u)递归定义如下:
这里u0,u1,…,un+k,是一个非递减的序列,称为节点,(u0,u1,…,un+k)称为节点向量。定义中可能出现,这时约定为0。
选取,n=2,k=1,控制顶点是P0,P1,P2,这样应选择参数节点n+k+1=4个,设节点向量是(u0,u1,u2,u3),按式定义,可写出三个基函数:
由公式可知所定义的B样条曲线是
选取n=3,k=2,于是有四个控制顶点P0,P1,P2,P3,应有参数节点n+k+1=6个,设节点向量是(0,0,1,2,3,3),试画出所确定的2阶B样条曲线。
取u=,∈[0,1]=[u1,u2],因此N1,1()=1,而其它的Ni,1()=0,i≠1。往下公式做递归计算。
N2,2()和N3,2(),不必计算,因为计算它们需要的i》2时的Ni,1()=0,所以知N2,2()=N3,2()=0。这样代入公式计算P(),有:
再取u其它一些值进行计算,结果如表所示。
u
0
1
2
3
N0,2(u)
1
0
0
0
0
0
N1,2(u)
0
1
0
0
0
N2,2(u)
0
0
0
1
0
N3,2(u)
0
0
0
0
0
1
P(u)
P0
(P0+ P1)
P1
(P1+ P2)
P2
(P2+ P3)
P3
选取n=3,k=4,平面上四个控制顶点P0,P1,P2,P3的坐标依次是(1,1),(2,3),(4,3),(3,1),这时应取参数节点n+k+1=8个,设选取节点向量为(0,0,0,0,1,1,1,1),画出所确定的4阶B样条曲线。
计算N1,4() ,∈[0,1]=[u3,u4]
N3,1()=1,而对i≠3,Ni,1()=0。
用类似的过程可计算求出:
曲线上对应参数u=: