您好,欢迎访问三七文档
计算机科学与技术系第6章曲线曲面(B样条曲线)赤峰学院计算机系计算机图形学08-09第二学期二、B样条曲线1.从Bezier曲线到B样条曲线(1)Bezier曲线在应用中的不足:缺乏灵活性一旦确定了特征多边形的顶点数(m个),也就决定了曲线的阶次(m-1次),无法更改;控制性差当顶点数较多时,曲线的阶次将较高,此时,特征多边形对曲线形状的控制将明显减弱;赤峰学院计算机系计算机图形学08-09第二学期不易修改由曲线的混合函数可看出,其值在开区间(0,1)内均不为零。因此,所定义之曲线在(0t1)的区间内的任何一点均要受到全部顶点的影响,这使得对曲线进行局部修改成为不可能。(而在外形设计中,局部修改是随时要进行的)赤峰学院计算机系计算机图形学08-09第二学期为了克服Bezier曲线存在的问题,Gordon等人拓展了Bezier曲线,就外形设计的需求出发,希望新的曲线要:易于进行局部修改;更逼近特征多边形;是低阶次曲线。于是,用n次B样条基函数替换了伯恩斯坦基函数,构造了称之为B样条曲线的新型曲线。赤峰学院计算机系计算机图形学08-09第二学期2.B样条曲线的数学表达式B样条曲线的数学表达式为:nknkkinitFPtP0,,)()(控制顶点在上式中0≤t≤1,i=0,1,2,…,m所以可以看出:B样条曲线是分段定义的。如果给定m+n+1个顶点Pi(i=0,1,2,…,m+n),则可定义m+1段n次的参数曲线。B样条基函数赤峰学院计算机系计算机图形学08-09第二学期)!(!!rnrnCrnknjnjnjnkjkntCntF01,)()1(!1)(式中:0≤t≤1k=0,1,2,…,n在以上表达式中:Fk,n(t)为n次B样条基函数,也称B样条分段混合函数。其表达式为:赤峰学院计算机系计算机图形学08-09第二学期连接全部曲线段所组成的整条曲线称为n次B样条曲线。依次用线段连接点Pi+k(k=0,1,…,n)所组成的多边折线称为B样条曲线在第i段的B特征多边形。赤峰学院计算机系计算机图形学08-09第二学期3.二次B样条曲线在二次B样条曲线中,n=2,k=0,1,2故其基函数形式为:22,222,1222220232,021)()122(21)()1(21]!2!3)1(!2!3)2(!3!3[21)2()1(!21)(ttFtttFttttjtCtFjjjknjnjnjnkjkntCntF01,)()1(!1)(赤峰学院计算机系计算机图形学08-09第二学期有了基函数,因此可写出二次B样条曲线的分段表达式为:22,212,12,0)()()()(iiiiPtFPtFPtFtP(i=0,1,2,…,m)m+1段赤峰学院计算机系计算机图形学08-09第二学期写成一般的矩阵形式为:2021022,011022121211)()(kkkBBBttBtFtP式中,Bk为分段曲线的B特征多边形的顶点:B0,B1,B2。对于第i段曲线的Bk即为:Pi,Pi+1,Pi+2连续的三个顶点。(见下图)赤峰学院计算机系计算机图形学08-09第二学期P3B:P0P0,P1,P2P2P1P1,P2,P3B:P4n=2,二次B样条曲线m+n+1个顶点,三点一段,共m+1段。i=0P0,2(t)i=1P1,2(t)nknkkinitFPtP0,,)()(赤峰学院计算机系计算机图形学08-09第二学期二次B样条曲线的性质先对P(t)求导得:2100111211)(BBBttP然后分别将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)赤峰学院计算机系计算机图形学08-09第二学期与以上这些式子所表达的性质相符的曲线是何种形状:(见下图)B0P(0)P(1)MB2P(1/2)B1P'(1/2)是什么曲线?与Bezier曲线有何差别?赤峰学院计算机系计算机图形学08-09第二学期结论:分段二次B样条曲线是一条抛物线;有n个顶点定义的二次B样条曲线,其实质上是n-2段抛物线(相邻三点定义)的连接,并在接点处达到一阶连续。(见下图)P3P0P2P1P4F282.c二次B-样条曲线赤峰学院计算机系计算机图形学08-09第二学期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-样条曲线赤峰学院计算机系计算机图形学08-09第二学期B样条曲线是一种非常灵活的曲线,曲线的局部形状受相应顶点的控制很直观。这些顶点控制技术如果运用得好,可以使整个B样条曲线在某些部位满足一些特殊的技术要求。如:可以在曲线中构造一段直线;使曲线与特征多边形相切;使曲线通过指定点;指定曲线的端点;指定曲线端点的约束条件。赤峰学院计算机系计算机图形学08-09第二学期对于特征多边形的逼近性二次B样条曲线优于三次B样条曲线三次Bezier曲线优于二次Bezier曲线•相邻曲线段之间的连续性二次B样条曲线只达到一阶导数连续三次B样条曲线则达到二阶导数连续•角点的修改对曲线形状的影响Bezier曲线:修改一个角点将影响整条曲线的形状。B样条曲线:修改一个角点只影响该角点所在位置前后三段曲线的形状。B样条曲线的适用范围赤峰学院计算机系计算机图形学08-09第二学期角点重叠和角点共线(*)•二重角点若要使B样条曲线与特征多边形相切,可运用二重角点的方法。Q0Q1Q3Q2Q4P1P2Q(0-1)P0Q0Q1Q3Q2Q4P1P2Q(0-1)赤峰学院计算机系计算机图形学08-09第二学期•三重角点若要使B样条曲线产生一个尖点,可运用三重角点的方法。Q1Q4Q3Q2Q5P1P2Q0P0Q6P3P4赤峰学院计算机系计算机图形学08-09第二学期•三角点共线若要使B样条曲线产生反向弧切接的效果,可运用三角点共线的方法。Q1Q4Q3Q2P0P2Q0P1。赤峰学院计算机系计算机图形学08-09第二学期•四角点共线若要使B样条曲线段之间切接入一段直线,可运用四角点共线的方法。Q1Q4Q3Q2P0P2Q0P1。。Q5P3赤峰学院计算机系计算机图形学08-09第二学期6.5Bézier曲面和B样条曲面•6.5.1Bézier曲面赤峰学院计算机系计算机图形学08-09第二学期曲面的形状、位置由边界上的四个角点决定。中间角点只反映曲面的凹凸程度。Bézier曲面及控制网格演示动画赤峰学院计算机系计算机图形学08-09第二学期Bezier曲面Bezier曲面是Bezier曲线的扩展,Bezier曲面的边界线就是由四条Bezier曲线构成的。三次Bezier曲线段由四个控制点确定,三次Bezier曲面片则由4×4控制点确定。16个控制点组成一个矩阵:B=Q00Q10Q20Q30Q01Q11Q21Q31Q02Q12Q22Q32Q03Q13Q23Q33Q00Q10Q20Q30Q01Q31Q32Q02Q03Q33Q13Q23Q11Q21Q12Q22wu赤峰学院计算机系计算机图形学08-09第二学期给定空间16个位置点bij,可以确定一张三次Bezier曲面片。3,2,1,0)()(3,30ivBbvbjjiji303,*)()()(iiiuBvbub由曲线拓展为Bézier曲面rijuvuvV*uv根据“线动成面”的思想,按设定间隔取,在四条v线上取点,沿u向生成三次Bezier曲线:]1,0[*v将u,v向曲线方程合并得:30303,3,303,),()()()()(),(ijjiiiijibvBuBuBvbvub首先生成四条v向的三次Bezier曲线:赤峰学院计算机系计算机图形学08-09第二学期Bézier曲面的定义在空间中给定(n+1)×(m+1)个点,称以下张量积形式的参数多项式曲面为n×m次的Bézier曲面:•贝塞尔曲面表达式如下:nmP(u,v)=∑∑bi,jBi,n(u)Bj,m(v)0≤u,v≤1i=0j=0•贝塞尔曲面中应用最广泛的是双3次贝塞尔曲面,它由给出的4*4个网格点唯一决定.赤峰学院计算机系计算机图形学08-09第二学期P04P03P02P40P30P20P10P00P01P11P21P31P41P14P(u,0)P(0,v)图9.15Bézier曲面的控制网格一般称为的控制顶点,把由和组成的网格称为的控制网格,记为,如图9.15所示。ijP01,,,iiimPPP(0,1,,)in01,,,jjnjPPP(0,1,,)jm{}ijP(,)Puv(,)Puv赤峰学院计算机系计算机图形学08-09第二学期Bézier曲面的矩阵表示是:0,000101,101110,1,,,01()()(,)[()()()]()mmmmnnnnmmnnnmJvJvuvJuJuJuJvPPPPPPPPPP赤峰学院计算机系计算机图形学08-09第二学期控制网格的四个角点是曲面的四个端点。决定了曲线的形状,位置。P03P02P30P20P10P01P11P21P31P41P14P(u,0)P(0,v)Bézier曲面的端点和边界线(1)端点位置0000,,,mnnmPPPP0000(0,0),(0,1)(1,0),(1,1)mnnmPPPPPPPPBézier曲面具有以下性质:P04P40P0044P(,)Puv赤峰学院计算机系计算机图形学08-09第二学期(2)边界线的位置(0,)vP(,0)uP(1,)vP(,1)uP00010mPPP00100nPPP01nnnmPPP01mmnmPPP的4条边界线,,,是Bézier曲线,它们分别以,,,为控制多边形。P03P02P30P20P10P01P11P21P31P41P14P(u,0)P(0,v)Bézier曲面的端点和边界线P04P40P0044P(,)Puv赤峰学院计算机系计算机图形学08-09第二学期•双一次Bezier曲面:取m=n=1。这是一张双曲抛物面(马鞍面);•双二次Bezier曲面:取m=n=2。该曲面的四条边界是抛物线。;•双三次Bezier曲面:取m=n=3;]1,0[,)()(),(00,,vupuBuBvuPnimjijmjni1mn注:矩阵表示见课本赤峰学院计算机系计算机图形学08-09第二学期曲面片1曲面片2Beziet曲面片的拼接边界线P0,0Q3,0P3,3(Q0,3)P0,3Q3,3P3,1(Q0,1)P3,0(Q0,0)P3,2(Q0,2)P(u,v)Q(u,v)赤峰学院计算机系计算机图形学08-09第二学期设节点向量,(≤,≤)分别是对参数平面的轴和轴的分割,如图1所示。称下列张量积形式的参数曲面为(k≤n,h≤m)阶的B样条曲面,uk-1≤u≤un+1,vh-1≤v≤vm+1其中是空间中给定的(n+1)×(m+1)个网格点,通常称为的控制顶点。,分别是关于节点向量U,V的k阶和h阶的B样条基函数。iiuU{}jjvViu1iujv1jvuvuvkh,,00(,)()()nmijikjhijuvBuBvPPijP,()ikBu,()jhBv6.5.2B样条曲面的定义和性质vm图1uv平面的分割u0u1uiunv0v1vju2v2(,)uvP赤峰学院计算
本文标题:B样条曲线
链接地址:https://www.777doc.com/doc-2330971 .html