2、坦基函数为了克服Bezier曲线存在的问题,Gordon等人拓展了Bezier曲线,就外形设计的需求出发,希望新的曲线要:易于进行局部修改;更逼近特征多边形;是低阶次曲线。于是,用n次B样条基函数替换了伯恩斯坦基函数,构造了称之为B样条曲线的新型曲线。2.B样条曲线的数学表达式B样条曲线的数学表达式为:控制顶点在上式中0≤t≤1,i=0,1,2,…,m所以可以看出:B样条曲线是分段定义的。如果给定m+n+1个顶点Pi(i=0,1,2,…,m+n),则可定义m+1段n次的参数曲线。B样条基函数式中:0≤t≤1k=0,1,2,…,n在以上表达式中:Fk,n(t)为n次B样条基
3、函数,也称B样条分段混合函数。其表达式为:连接全部曲线段所组成的整条曲线称为n次B样条曲线。依次用线段连接点Pi+k(k=0,1,…,n)所组成的多边折线称为B样条曲线在第i段的B特征多边形。3.二次B样条曲线在二次B样条曲线中,n=2,k=0,1,2故其基函数形式为:有了基函数,因此可写出二次B样条曲线的分段表达式为:(i=0,1,2,…,m)m+1段写成一般的矩阵形式为:式中,Bk为分段曲线的B特征多边形的顶点:B0,B1,B2。对于第i段曲线的Bk即为:Pi,Pi+1,Pi+2连续的三个顶点。 (见下图)n=2,二次B样条曲线m+n+1个顶点,三点一段,共m+1段
4、。i=0P0,2(t)i=1P1,2(t)二次B样条曲线的性质先对P(t)求导得:然后分别将t=0,t=0.5,t=1代入P(t)和P’(t),可得:P(0)=1/2(B0+B1),P(1)=1/2(B1+B2);P’(0)=B1-B0,P’(1)=B2-B1;P(1/2)=1/2{1/2[P(0)+P(1)]+B1}P’(1/2)=1/2(B2-B0)=P(1)-P(0)与以上这些式子所表达的性质相符的曲线是何种形状:(见下图)是什么曲线?与Bezier曲线有何差别?结论:分段二次B样条曲线是一条抛物线;有n个顶点定义的二次B样条曲线,其实质上是n-2段抛物线(相邻三点
5、定义)的连接,并在接点处达到一阶连续。(见下图)F282.c二次B-样条曲线4.三次B样条曲线分段三次B样条曲线由相邻四个顶点定义,其表达式为:P(t)=F0,3(t)•B0+F1,3(t)•B1+F2,3(t)•B2+F3,3(t)•B3(0≤t≤1)可见,由n个顶点定义的完整的三次B样条曲线是由n-3段分段曲线连接而成的。很容易证明,三次B样条曲线在连接处达到二阶连续。***F281.c三次B-样条曲线B样条曲线是一种非常灵活的曲线,曲线的局部形状受相应顶点的控制很直观。这些顶点控制技术如果运用得好,可以使整个B样条曲线在某些部位满足一些特殊的技术要求。如:可以在曲线
6、中构造一段直线;使曲线与特征多边形相切;使曲线通过指定点;指定曲线的端点;指定曲线端点的约束条件。对于特征多边形的逼近性二次B样条曲线优于三次B样条曲线三次Bezier曲线优于二次Bezier曲线相邻曲线段之间的连续性二次B样条曲线只达到一阶导数连续三次B样条曲线则达到二阶导数连续角点的修改对曲线形状的影响Bezier曲线:修改一个角点将影响整条曲线的形状。B样条曲线:修改一个角点只影响该角点所在位置前后三段曲线的形状。B样条曲线的适用范围角点重叠和角点共线(*)二重角点若要使B样条曲线与特征多边形相切,可运用二重角点的方法。Q0Q1Q3Q2Q4P1P2Q(0-1)P0Q
7、0Q1Q3Q2Q4P1P2Q(0-1)三重角点若要使B样条曲线产生一个尖点,可运用三重角点的方法。Q1Q4Q3Q2Q5P1P2Q0P0Q6P3P4三角点共线若要使B样条曲线产生反向弧切接的效果,可运用三角点共线的方法。Q1Q4Q3Q2P0P2Q0P1。四角点共线若要使B样条曲线段之间切接入一段直线,可运用四角点共线的方法。Q1Q4Q3Q2P0P2Q0P1。。Q5P36.5Bézier曲面和B样条曲面6.5.1Bézier曲面Bezier曲面Bezier曲面是Bezier曲线的扩展,Bezier曲面的边界线就是由四条Bezier