第二章贝齐尔曲线和B样条曲线随着计算机的发展,人们希望通过计算机对飞机、船体和汽车的外形进行设计。20世纪60年代,人们已经研究出三次样条函数,并将其作为描述飞机等几何行体的数学模型。到了70年代,法国雷诺汽车公司的工程师贝齐尔(Bezier)创造出一种适用于几何体外形设计的新的曲线表示法。这种方法的优越性在于:对于在平面上随手勾画出的一个多边形(称为特征多边形),只要把其顶点的坐标输入计算机,经过计算,绘图机就会自动画出同这个多边形很相象,又十分光滑的一条曲线,这种方法称为贝齐尔(Bezier)方法。贝齐尔(Bezier)方法的实际是把复杂曲线的描绘转化成简单的多边形描绘。2.1贝齐尔曲线贝齐尔曲线的形状是通过一组多边形(也称为贝齐尔控制多边形)的各顶点唯一地定义出来的。在该多边形的各个顶点中,只有第一点和最后一点在曲线上,其余的顶点则用来定义曲线的形状。第一条边和最后一条边则表示出了曲线在起点处和终点处的切线方向。即第一条边和最后一条边分别和曲线在起点和终点处相切,曲线的形状趋向于多边形折线的形状。改变多边形折线的顶点位置和曲线形状的变化有着直观的联系。多项式次的为)-(,我们称是二项式系数其中:)-(将它写成假定)-()(=)-+=(恒等式:=-=-=-=Bernsteinnf(t)1)t(0(t))Bnkf(t1)t)(nkf(fBk)!-(nk!n!)(t1)tf(t)(f(t)c[0,1],ft1tt1t1n0knk,knkn0knknnkknkn0knkknkn0knkn称为n次Bernstein多项式的基函数,贝齐尔曲线是以Bernstein多项式的基函数构造而成的。knknknktttB)1()(,其中在外形设计中,给出一组初始型值点Pk(k=0,1,…,n),将它们按顺序连接为一个多边形,称为控制多边形。型值点与Bernstein多项式的基函数的线性组合:称为n次贝齐尔曲线。)(),,,,(,010tBPtPPPBnknkknn)10(t多边形的起点和终点。可以看出曲线通过控制时当时,那么,当如果我们规定nn0nn0knk,kn1000n0n0knk,kn100pp1)-(11n!0!n!(1)BP,1),...pp,Bn(p1tpp0)-(10n!0!n!(0)BP,0),...pp,Bn(p0t1,0!01)-1,2,...n(k)]()([])1()()!1(!)!1()1()!()!1()!1([])1()()1([)!()!1()!1(])1()()1([)!(!!)(1,1,1111111',tBtBnttknknknttknknnttkntktknkknnttkntktknkntBnknkknkknkknkknkknkknknk两端点处的切矢情况来分析一下曲线在我们通过对基函数求导]p))()((pp)1([-)(p(t)Bp)(p(t)Bpt),p,...,p,(pB)()()1())1(()(1)-1,2,...n(k)]()([)(1n1,1,11-n1kk01',nn1-n1k'nk,k',00n0k'nk,kn10'n1'',1'',01,1,1',nnknknnnnnnnnnnnknknkttBtBtntBtBntttBtnttBtBtBntB于是得到)p-n(p]0p))()((pp)01([-,0)p,...,p,(pB0t]p))()((pp)1([-t),p,...,p,(pB011n1,1,11-n1kk01n10'n1n1,1,11-n1kk01n10'nnnknknnnknkntBtBnttBtBtn在起始点00)-(10k)!-1-(nk!1)!-(n)(10)-(101)!-(n0!1)!-(n)(1kt)-(1tk)!-(nk!n!)(k-1-nk1-,0-n01-,1-k-nk,tBtBtBnknknk时当因:)p-n(p,1)p,...,p,(pB1t]p))()((pp)1([-t),p,...,p,(pB1-nnn10'n1n1,1,11-n1kk01n10'n在终点nnknknttBtBtn11)-(11k)!-1-(nk!1)!-(n)(01)-(111)!0!-(n1)!-(n)(1kt)-(1tk)!-(nk!n!)(1)-(n-1-n1-n1-,1)-(n-n1-n1-,1-k-nk,tBtBntBnknknk时当因:说明,Bezier曲线在两端点处的切矢方向与控制多边形的第一条边和最后一条边一致的1)t(0tpt)p-(1t),p,(pBPPtt)-(1)t((t)Bt-1t)-(1)t((t)B1n1-nn,10101101-11111,10-10100,1两点的直线段,即,是连接时当低次的贝齐尔曲线,下面我们来讨论一下较次的贝齐尔曲线。可以定义一条个型值点,给定知道由贝齐尔曲线公式我们是二次参数曲线时当t),p,p,(pBy1)t(0ptt)p-t(12pt)-(1t),p,p,(pBtt)-(1t)!22(!2!2t)-(1)t((t)Bt)-(12t)-(1t)!12(!1!2t)-(1)t((t)Bt)-(1t)-(1t!2!0!2t)-(1)t((t)B2n210222102210222-22...