曲线曲面基本理论第三章曲线曲面建模技术.docx
第三章曲线曲面基本理论1概述(a)飞机(b)船舶(C)汽车图I-I曲线曲面造型应用曲线曲面造型(SUrfaCeMOdeling)是计算机辅助几何设计(COnIPUterAidedGeometricDesign,CAGD)和计算机图形学的一项重要内容,主要研究在计算机系统中如何用曲线曲面表示、设计、显示和分析物体模型。它在航空航天、船舶、飞机、汽车等行业得到广泛应用(如图IT所示)。由Coons.Bezier等大师于二十世纪六十年代奠定其理论基础,经过三十多年的发展,曲线曲面造型现在已形成了以有理B样条曲线曲面(RationalB-splineSurface)参数化特征设计和隐式代数曲线曲面(InIPIiCitAlgebraicSUrfaCe)表示为主体的两类方法,且以插值(InIerPolation)、逼近(APPrOXimatiOn)手段为几何理论体系。1.1曲线曲面表示曲线曲面可以用三种形式进行表示,即显式、隐式和参数表示,三种形式表示如下。显式表示:形如z=(x,y)的表达式。对于一个平面曲线而言,显式表达式可写为y=(x),在平面曲线方程中,一个X值与一个y值对应,所以显式方程不能表示封闭或多值曲线,例如,不能用显式方程表示一个圆。隐式表示:形如*,y,z)=O的表达式。如一个平面曲线方程,隐式表达式可写为/(x,y)=O.隐式表示的优点是易于判断函数/(x,y)是否大于、小于或等于零,也就易于判断点是落在所表示曲线上或在曲线的哪一侧。参数表示:形如x=(f),y=(f),z=()的表达式,其中t为参数。即曲线上任一点的坐标均表示成给定参数的函数。如平面曲线上任一点P可表示为PQ)=MD,M。,如图l-2(a)所示;空间曲线上任一三维点P可表示为PQ)=Mf),y(),z(f),如图l-2(b)所示。(b)空间曲线(a)平面曲线图1-2曲线参数表示最简单的参数曲线是直线段,端点为巴、2的直线段参数方程可表示为PQ)=4+(68)frO,l;(1-1)圆在计算机图形学中应用十分广泛,其在第一象限内的单位圆弧的非参数显式表示为(1-2)(1-3)y=l-x2(0xl)-t2Itr10,l其参数形式可表示为计算机图形学中通常用参数形式描述曲线曲面,因为参数表示的曲线曲面具有几何不变性等优点,其优势主要表现在:(1)可以满足几何不变性的要求,坐标变换后仍保持几何形状不变;(2)有更大的自由度来控制曲线曲面的形状。如一条二维三次曲线的显式表示为:(1-4)y=ax3+bx2+cr+d由上式可知只有四个系数控制曲线的形状。而二维三次曲线的参数表达式为:(1-5)P=”+卬+。4POJlb#+b2r+b3t+b4与二维三次曲线的显式表达式比较,参数表达式由8个系数来控制此曲线的形状。(3)对非参数方程表示的曲线、曲面进行变换,必须对其每个型值点进行几何变换,不能对其方程变换(因不满足几何变换不变性);而对参数表示的曲线、曲面来说,可对其参数方程直接进行几何变换实现曲线曲面的变换。(4)便于处理斜率为无穷大的情形,即当斜率为无穷大的时候,计算也不会中断。(5)参数方程中,代数或几何相关和无关的变量是完全分离的,而且对变量个数没有限制,从而使于用户将低维空间的曲线、曲面扩展到高维空间。这种变量分离的特点有助于实现用数学公式处理几何分量。(6)规格化的参数变量f0,1使其相应的几何分量是有界的,而不必用另外的参数去定义边界。(7)易于用矢量和矩阵表示几何分量,简化了计算。1.2 曲线曲面基本性质位置矢量:曲线上任一点的位置矢量可表示为P(f)=x(f),y"),z(f);其一阶、二阶和上阶导数矢量(如果存在的话)可分别表示为P(r)=P")=驾Pk(D=E(1-9)dtdt2dtk切矢量:若曲线上R、。两点的参数分别是,和,+加,矢量P=PQ+4)-P(f),其大小以连接RQ的弦长表示。如果在R处有确定的切线,则当。趋向于R,即,0时,导数矢量趋向于该点的切线方向。如果选择弧长S作为参数,则T=-=lim是单位矢量。dsz05法矢量:对于空间参数曲线上任意一点,所有垂直切矢量T的矢量有一束,且位于同一平面上,该平面称为法平面。若对曲线上任意一点的单位切矢为T,因为T(s)2=l,两边对S求导矢得:2T(s)T(s)=0,可见"是一个与T垂直的矢量。与”平行的法矢称为曲线在该点的主法矢。主法asas矢的单位矢量称为单位主法矢量N。矢量积5=TxN是第三个单位矢量,垂直于T和N。平行于矢量B的法矢称为曲线在该点的副法矢,B则称为单位副法矢量。对于一般参数f,切矢、法矢关系如下p(o×p'IPa)XpG)IN= BxT =, XPP)XPQ (A(r)×P"(r)×P'(r)(MO)曲率和挠率:k= Iim0sA v图1-3曲线矢量因为一与N平行,令TG)= kN, dsIimsOMTIimsOT而5称为曲率,其几何意义是曲线的单位切矢对弧长的转动率,与主法矢同向。曲率的倒数P=-,称为曲率半径。又B(三)T(三)=0,两边对$求导矢得:B(三)T(三)+B(三)T(三)=0,将T=AJVk代入上式,并注意到8(s)N(s)=0,得到B(三)T(三)=(),因为W9/=1,所以两边对S求导得到B(5)(5)=O,可见B(三)既垂直于T(s),又垂直于8(s),故有8(s)N(三),再令E(三)=-加(s),7称为挠率。挠率的绝对值等于副法线方向对于弧长的转动率。挠率大于0、等于0和小于0分别表示曲线为右旋空间曲线、平面曲线和左旋空间曲线。对于一般参数,可知曲率和挠率Z的计算公式如下:A×A(PcQ)=;:;(I-H)p1(r)3(PXPs)2光顺:通俗含义指曲线的拐点不能太多,因为曲线拐来拐去,就会不顺滑。对平面曲线而言,相对光顺的条件是:a)具有二阶几何连续性(G?);b)不存在多余拐点和奇异点;C)曲率变化较小。连续性:一条复杂曲线时通常由多段曲线组合而成,曲线段之间的光滑连接问题即为连续性问题。曲线间连接的光滑度的度量有两种:一种是函数的可微性,把组合参数曲线构造成在连接处具有直到阶连续导矢,即阶连续可微,这类光滑度称之为C"或阶参数连续性。另一种称为几何连续性,组合曲线在连接处满足不同于。的某一组约束条件,称为具有阶几何连续性,简记为G”。曲线光滑度的两种度量方法并不矛盾,C1连续包含在Gn连续之中。图1-4曲线连续性图二阶连续对于如图Id所示二条曲线P和。,参数f0J,若要求在结合处达到G°连续或连续,即两曲线在结合处位置连续,则需P(I)=Q(0)。若要求在结合处达到Gl连续(如图1-5所示),就是说两条曲线在结合处满足G°连续的条件下,并有公共切矢:Q(0)=aP()(a>0)(1-12)当=l时,Gl连续就成为Cl连续。若要求在结合处达到G?连续(如图1-6所示),即两条曲线在结合处满足Gl连续的条件下,并有公共曲率矢:P(I)XP"(1)=Q(O)XQ(O)p'd)3,(0)3代入(1-12)得:P(1)×Q(O)=2A(l)×P"(l)(1-14)此式可进一步表示为:(O)=2p(1)+7A(1)(1-15)即。"(0)在P(I)和尸确定的平面内。S为任意常数。当=l,/=0时,G?连续就成为C?连续。在弧长作参数的情况下,Cd连续保证G?连续,Cl连续能保证G?连续,但反过来不行。也就是说Cn连续的条件比Gn连续的条件要苛刻。1.3 曲线曲面生成插值:给定一组有序的数据点6,j=0,1,,构造一条曲线顺序地通过这些数据点,称为对这些数据点进行插值,所构造的曲线称为插值曲线。常用插值方法有线性插值、抛物线插值等。逼近:构造一条曲线使之在某种意义下最接近给定的数据点,称为对这些数据点进行逼近,所构造的曲线为逼近曲线。拟合:插值和逼近统称为拟合(fitting)。2Bezier曲线曲面2.1 Bezier曲线2.1.1 BeZier曲线定义给定空间+1个点的位置矢量Pj(/=0,1,2,.),则BeZier参数曲线上各点坐标的插值公式为:P")='"/,/),Z(2-D/=O将其写成矩阵表达形式为:四P=瓦,九纥/)F(2-2)A_其中,Pj构成该BeZier曲线的特征多边形,用.是次BemSIein基函数:%(f)= C)(l 尸nz!(n-z)!(/= 0,1,(2-3)约定:On=1,0!=1;=0,8°o(f)=l;=1,BOIa)=IT,ll(t)=ti=2,%(r)=(l)2,%(f)=2f(l-f),B22(Z)=r2;n=3f线3Q)=(I-I)3,l3(0=3r(l-/)2,B23(Z)=32(l-f),B33(Z)=Z3;如图2-1所示为一条=3的三次Bezier曲线实例。三次Bezier曲线可以表达式为(2-4)P=£PiBj3,t0,1Z=O其中,B03(Z)=(l-r)3,Bu(0=3r(l-02>g,3。)=3/(IT),B33(Z)=Z3,因此其矩阵表达式为P=% %。)B2,3(t)%(。1尼6鸟6=P-13-313-630-33001000P2(2-5)如果用上式求R(P)的值,则取Pj的X坐标进行计算,同理可求P*f),EQ),具体如下:P4)= % Bu(r) B2,3 PVa) =瓦式f) / B23(r) = %s %1%&F%,3 1% % , Gj儿匕心由上式可以看到Betnstain基函数仅需计算一次。2.1.2 Betnstein基函数本节主要介绍Betnstein基函数的性质,其性质如图2-2所示。(1)正性(2-6)0/=0,1>0r(0,l),=l,2,w-l;(2)端点性质%(°)=(Z= O)(2-7)otherwise(i=)otherwise(3)权性%")= 1f=0t (0,1)(2-8)由二项式定理可知:n=cy(l-f=(l-r)+r=l1=0f=0图2-2BCtnStein基函数的性质(4)对称性4Q)=B(2-9)因为纥,=C;R_(1_»d=Cr(ITrT=Bi“(1T)(5)递推性B,=QT)Bg + 码 Wa=o,«),其计算过程表示为:纥“<一i,n-(0+九_2(,)Bin_3(f)BiTn_2BiTH'%皿X-'-2.-2(0'-3(0递推性即高一次的Bernstein基函数可由两个低一次的Bemstein调和函数线性组合而成。(6)导函数B;.=Bg,(/=0/,(2-10)(7)最大值名“。)在T=人处达到最大值。n2.1.3 Bezier曲线性质Bezier曲线的性质如图2-3所示。(1)端点性质a.曲线端点位置矢量由BemStein基函数的端点性质可以推得P(O)=玲,P(I)=P11,因此,BeZier曲线的起点、终点与相应的特征多边形的起点、终点重合。b.端点切矢量因为P=川BTE-(r),即P(0)=稣),A(I)=n(Pn-KT)/=O上式说明Bezier曲线的起点和终点处的切线方向和特征多边形的第一条边及最后一条边的走向一致。c.端点二阶导矢尸=(一1)£(七2一2匕I+小瓦(2-1D/=O即:P'(0)=n(n-l)(-2>+>),P(Y)=n(n-l)(Pn-2Pn_l+Pn_2)上式表明:2阶导矢只与相邻的3个顶点有关,事实上,r阶导矢只与(r+l)个相邻点有关,与更远点无关。(2)对称性颠倒控制点顺序,即控制顶点P:=Pn.ii=0,),构造出的新Bezier曲线,则与原Bezier曲线形状相同,仅走向相反。因为:c*=6*%(f)=K=XPZBMj)=SPiBin(1-0,-0,1(2T2)1=0=0/=O/=0这个性质说明Bezier曲线在起点处有什么几何性质,在终点处也有相同的性质。(3)凸包性由于£练式。=1,且°""(f)l(°l,j=°J,),这一结果说明当/在0,1区间变化i=0时,对某一个"直,Pa)是特征多边形各顶点p,的加权平均,权因子依次是在几何图形上,意味着Bezier曲线P在t0,1中各点是控制点Pi的凸线性组合,即曲线落在Pj构成的凸包之中,如图2-4所示。(4)几何变换不变性即某些几何特性不随坐标变换而变化的特性。BeZier曲线的位置和形状与其特征多边形顶点6(i=0,1,/)的位置有关,它不依赖坐标系的选择,即有:PiBin=Pijt(FLg),(参变量是t的置换)。r=0匕C(5)变差缩减性若BeZier曲线的特征多边形”62是一个平面图形,则平面内任意直线与的交点个数不多于该直线与其特征多边形的交点个数,这一性质叫变差缩减性质。此性质反映了BeZier曲线比其特征多边形的波动还小,也就是说Bezier曲线比其特征多边形的折线更光顺(如图2-5所示)。2-5Bezier曲线与其特征多边形(6)仿射不变性对于任意的仿射变换A,有:(2-13)AP=A±PiBi,n=APi纥J=O即在仿射变换下,P")的形式不变。2.1.4 Bezier曲线几何作图计算BeZier曲线上的点,可用BeZier曲线方程,但使用deCasteljau提出的递推算法则要简单的多。如图1T9所示的抛物线,设与、片、是一条抛物线上顺序三个不同的点。过几和8点的两切线交于耳点,在后点的切线交稣和84于心和弓,则如下比例成立:(2-14)明二虹二姐KPl仃巴哥阡这就是抛物线的三切线定理,其几何意义如图2-6所示。当几,(2-15)H=(IT)6+俏P1l=(l-t)Pl+tP2斤二(IT)H+阳,从O变到L第一、二式就分别表示控制二边形的第一、二条边,它们正好是两条一次BeZier曲线。将一、二式代入第三式得:A:=(l-02庶+2t(-t)Pt2P2(2-16)当f从0变到1时,表示由三顶点稣,P1,鸟定义的一条二次BeZier曲线。并且表明:这二次BeZier曲线片可以定义为分别由前两个顶点(综,6)和后两个顶点(R,£)决定的一次BeZiel曲线的线性组合。依次类推,由四个控制点定义的三次BeZier曲线外可被定义为分别由(4,4,鸟)和(匕鸟,居)确定的二条二次Bezier曲线的线性组合;进一步由(/?+1)个控制点Pi(/=0,1,h)定义的次Bezier曲线以可被定义为分别由前、后个控制点定义的两条(-1)次Bezier曲线以T与的线性组合:以=(1一+tPt0,1(2-17)由此得到Bezier曲线的递推公式如下:xPiZ=O邛=(,(2-18)(IT)邛+哨k=l,2nj=0,1,一改这便是著名的deCasteljau算法。用此递推公式,在给定参数下,求Bezier曲线上一点P(Z)非常有效。且上式中Pf=Pj是定义Bezier曲线的控制点,P;即为曲线Pa)上具有参数f的点。deCaSteIjaU算法稳定可靠,直观简便,可以编出十分简捷的程序,是计算BeZier曲线的基本算法和标准算法。functiondeCasteljau()beginif/=0thenreturnPOjelsereturn(1-m)*deCasteljau(-1j)+u*deCasteljau(-1+1)end上述算法也可用简单的几何作图来实现。给定参数f0,1,将定义域分成长度为的两段。依次对原始控制多边形每一边执行同样的定比分割,所得分点就是第一级递推生成的中间顶点E=o,-1),对这些中间顶点构成的控制多边形再执行同样的定比分割,得第二级中间顶点严。=01,2)。重复进行下去,直到级递推得到一个中间顶点以即为所求曲线上的点P。如图2-7所示为几何作图求三次BeZier曲线(给定参数域,0J)上1=1/3的点。把定义域分成长度为1/3:(17/3)的两段。依次对原始控制多边形每一边执行同样的定比分割,所得分点就是第一级递推生成的中间顶点弓、阡、P2',对这些中间顶点构成的控制多边形再执行同样的定比分割,得第二级中间顶点片、P12o重复进行下去,直到第3级递推得到一个中间顶点用即为所求曲线上的点PQ)。图2-7几何作图法求BeZier曲线上一点(72=3,=1/3)上述过程的deCasteljau算法递推出的外呈三角形,对应结果如图2-8所示。递归算法是上述过程的逆过程,首先从上向下递归,直到最底层后开始返回,最顶层点片即为曲线上的点。图2-8=3时,匕”的递推关系另外,这一算法隐含说明任一BeZier曲线均可被分割为两段BeZier曲线。第一段由玲、*母、以确定,参数空间为0,1/3;第二段痣工尸、P;、&确定,参数空间为1/3,1,分割后的曲线形状保持不变。如图2-9所示。P.P12p2,P*rP,2图29BeZier曲线的分割(=3,/=1/3)2.2 Bezier曲面根据上一节的BeZier曲线的定义以及性质,可以方便地给出BeZier曲面的定义和性质,BeZier曲线的一些算法也很容易扩展到Bezier曲面的情况。2.2.1 BeZier曲面定义设与(i=OJ,=0,1,tri)为(n+1)×(w+l)个空间点列,则m×n次张量积形式的Bezier曲面定义为:MP(",y)=ZZ与%M,v0,li=0=0(2-19)其中BillM=Cinui(-u)n-i,Bjltt(V)=Gv(I-U)皿是Bemstein基函数。依次用线段连接点列尾&=0,1,=0,1,机)中相邻两点所形成的空间网格,称之为特征网格。Bezier曲面的矩阵表示式是:00AlOwP(w,v)=0(w)%(w)Bntl(u)%当几I_Ko,纥.ZM”在一般实际应用中,根,不大于4。以双三次BeZier曲面为例,将其写为矩阵表达式则为:P(m,v)=b03(m)B13(u)/3(U)与.3()1舄LJ综.3。)%B23(V)B33(V)K-13-3Il1)%治电-l3-3V=L3U2u13-63044%匕3-630V2-33002。当今多-3300V100oj鸟。与心心10001其具体计算方法为:P(w,V)=¾j(w)及3()式)B33(w)I44¾,3(v)耳,3(丫)823。)833(y)F与(#)=%()Bu(u)B23(U)/(")I%U%(v)B23(V)/(时与(d)=%()Bu(U)B23(U)%(")kzU%(y)B13(V)B23M%(疥其中,上式中各基函数的值只需计算一次。先按等参数方向均匀离散成网格点,再按一定规则绘制网格线绘制其线框图,绘制的线框图如图2-10所示。图2-10线框图2.2.2 Bezier曲面性质除变差减小性质外,Bezier曲线的其它性质可推广到Bezier曲面。(1) BeZier曲面特征网格的四个角点正好是BeZier曲面的四个角点,即:P(Oo)=之,P(l,O)=o,P(0,l)=,P(U)=Pnni(2) Bezier曲面特征网格最外一圈顶点定义Bezier曲面的四条边界,且每条边界曲线仍为一Bezier曲线,该边界BeZier曲线由对应的一条边界特征网格顶点确定,即:P(w,0)=0,f(w)B,(w).Bnjl(w)Jq06oKoPOM)=%Q)Bln(u).纥,“(")1%IPin.PnnYP(Of)=瓦Hw)Bitn(V).,(V)Itj1pg2.P0fJP(1,v)=b0w(v)Bltw(V).lW)IK"Pm2PnunX推广之:沿BeZieI'曲面任何等参数的截线均为BeZier曲线(读者证明)。(3) Bezier曲面边界的跨界一阶切矢只与定义该边界的顶点及相邻一排顶点(共二排顶点)有关,且之岛电、旦足Ai虞凡和2,.”/(如图卜26所示打上斜线的三角形)组成的平面与曲面在对应的角点相切;其跨界二阶导矢只与定义该边界的及相邻两排顶点(共三排顶点)有关。(4)几何不变性。(5)对称性。(6)凸包性。如图271所示,以双三次BeZiel曲面1.3(v)B23(V) %”)F 为例,可以P=综.3()Bu(u)B2i(u)3(z)>lt4B0v)清楚看出它的上述几何特性。图2-11双三次BeZier曲面及边界信息2.2.3 BeZier曲线拼接几何设计中,一条BeZier曲线往往难以描述复杂的曲线形状。这是由于增加由于特征多边形的顶点数,会引起BeZier曲线次数的提高,而高次多项式又会带来计算上的困难,实际使用中,一般不超过10次。所以有时采用分段设计,然后将各段曲线相互连接起来,并在接合处保持一定的连续条件。下面讨论两段Bezier曲线达到不同阶几何连续的条件。给定两条Bezier曲线P(Z)和Q(Z),相应控制点为。(i=O,L和2(i=OJ,加),且令4=£一£_”鸟=Qj-Q”,如图2T2所示,现在把两条曲线连接起来。(1) G°连续的充要条件是:匕=以;(2) Gl连续的充要条件是:夕一、P“=G、0三点共线,即伪=30);(3) G?连续的充要条件是:在Gl连续的条件下,并满足方程。”(0)二二2尸“+/。图2-12Bezier曲线的拼接我们将Q"(0)、P”和P,Q°=PttQ-Q2=(2-E)代入,并整理,可以得到:Q,=2+2a+-+lVj-2a2+2a+-V,+a2Pn2(2-21)l-IJIn-)选择和夕的值,可以利用该式确定曲线段。的特征多边形顶点。2,而顶点。°、0已被Gl连续条件所确定。要达到G?连续的话,只需自由选取顶点。2。如果上式的两边都减去Pn,则等式右边可以表示为(K-匕T)和(2-Pn-1)的线性组合:Q2-P=(a2+2a+-Pz)-a2(Ptl-Ptl_2)(2-22)这表明与-2、P“7、匕=00、0和。2五点共面,事实上,在接合点两条曲线段的曲率相等,主法线方向一致,还可以断定,与_2和。2位于匕70直线的同一侧。2.2.4Bezier曲面拼接如图2T3所示,设两张mx次BeZier曲面片P3,U)=舄冬(U)(2-23)/=OJ=O2(w,v)=ZZQy%Q)%m(y)w,v0,lr=0;=0分别由控制顶点“和0,定义。图2-13Bezier曲面片的拼接如果要求两曲面片达到G°连续,则它们有公共的边界,即:(2-24)P(l,v)=(O,v)于是有Pni=Q),(Z=0,1,2,.,m)o如果又要求沿该公共边界达到连续,则两曲面片在该边界上有公共的切平面。因此曲面的法向矢量应当是跨界连续的,而曲面的偏导切向矢量不必跨界连续,如图2-14所示,仅需(l,v)>v(0,v)共线,K(I,切、Qu(Ofv),0(0J)共面即可。图2T4跨界连续QiQOi=喈JT(。力=0,L,M图2-15三次BeZier曲面的拼接由此可知:QltQv)×v(0,v)=a(v)Pu(l,v)×(2-25)下面来研究满足这个方程的两种方法。(1)鉴于公式(3-4),公式(3-5)最简单的取解(但更苛刻)是:V)=a"",。#)(2-26)这相当于要求合成曲面上U为常数的所有曲线,在跨界时有切向的连续性。为了保证式(3-6)两边关于U的多项式次数相同,必须取(y)=(一个正常数)。于是有:(2-27)(2)公式(3-6)使得两张曲面片在边界达到Gl连续时,只涉及面P(f)和。()的两列控制顶点,比较容易控制。用这种方法匹配合成的曲面的边界,向和y向是光滑连续的。实际上,该式的限制是苛刻的。为了构造合成曲面时有更大的灵活性,BeZier在1972年放弃把(3-6)式作为G连续的条件,而以Qu(O,u)=(u)与(1,V)+以u)R(1,V)(2-28)要满足(2-28)式,仅仅要求2,(0,v)位于优(1,v)和P1.(1,v)所在的同一个平面内,也就是要求Q11(0,v)位于曲面片P(,y)边界上相应点处的切平面,这样就有了大得多的余地,但跨界切矢在跨越曲面片的边界时就不再连续了。其几何意义可以用图276解释,如图2-16所示的两张三次BeZier曲面的拼接条件仅需相应顶点满足共面即可,显然这一条件更为宽松。图2-16顶点满足共面的三次BeZier曲面的拼接同样,为了保证等式两边关于U的多项式次数相同,须为任意正常数,万(U)是V的任意线性函数。如果要实现多张曲面拼接,需要更多的自由度和更为宽松的条件才可能。为实现这一目标往往需要更高阶的曲面,常用的方法是对低阶曲面升阶来提高阶次。3B样条曲线与曲面BeZier曲线具有很多优越性,但有二点不足:1)特征多边形顶点数决定了它的阶次数,当较大时,不仅计算量增大,稳定性降低,且控制顶点对曲线的形状控制减现;2)不具有局部性,即修改一控制点对曲线产生全局性影响的性质。因此,1972年Gordon等用B样条基函数代替BemStein基函数,从而改进上述缺点。3.1 B样条曲线3.1.1 均匀双三次B样条曲线定义1一次均匀B样条曲线的矩阵表示空间+1个顶点E(i=O,l,定义段一次(女=1,二阶)均匀B样条曲线,即每相邻两个点可构造一曲线段?(),其定义表达为:1-i-p.Pi(u)=1i=l,;0wl1Uj=(1-)隼+uPi(3-1)=NoJ3*+Nj("*线就是控制多边形。2二次均匀B样条曲线空间+1个顶点的位置矢量(i=0,l,定义一1段二次(k=2,三阶)均匀B样条曲线,每相邻三个点可构造一曲线段Piui=0,1,m-1),其定义表达为:1-21-221PTP1(3-2)图3-2二次B样条曲线=J(I"+/)%+(>2"-2*+,2/4/乙、=Ao,2(M)1÷N2(u)Pi+Nz2(u)Pm由图3-2可知,二次B样条曲线有如下矢量。a)端点位置矢量:E(O)=O.5(6+±),月=0.5(6+匕1),即曲线的起点和终点分别位于控制多边形隼出和月匕1的中点。若?T、R、匕I三个顶点位于同一条直线上,甘()蜕化成匕直线边上的一段直线。b)端点一阶导数矢量:E(O)=4-兄,Pi(三)=P-Pi,40)=匕",甲D=匕2F,即曲线的起点切矢和终点切矢分别和二边重合,且相邻两曲线段在节点处具有一阶导数连续。C)二阶导数矢量:PiO)=尸T-2,+Pi+i=Pi)=P:Q),即曲线段内任何点处二阶导数相等,且相邻两曲线段在节点处二阶导数不连续03三次均匀B样条曲线空间+1个顶点的位置矢量(i=0,l,构造一2段三次(左=3,四阶)均匀B样条曲线段,每相邻四个点可定义一曲线段C(n)(i=O,l,-2),其定义表达为:141OJLP,+2二W(I-)'Et+(4-6w2+2>uy)Pi+(1+3«+3w2-3w1)+1+uPi+2(3-3)=Noj(U)Pi+NT式“四+N23(u)Pm+MJ(N)匕2由图3-2可知,:羊条曲线有如下矢量。a)端点位置矢量:E(O)=%(P"+4Pj+H.),(l)=%(Py+4P+1+P,+2),即起点位于三角形匕E匕I中线4的1/3处,终点位于三角形匕匕+山+2中线的1/3处。可见B样条曲线的端点并不通过控制点。b)端点一阶导数矢量:£(0)=(PjT-PjT)/2,d)=(P,+2-Pf)2=1(0),即曲线起点的切矢平行于匕出月讨的底边匕M+,其模长为底边匕出+1长的1/2,同样曲线终点的切矢平行于CE+2的底边匕匕2,其模长也为底边66+2长的1/2。且相邻两曲线段具有一阶导数连续(因A,(l)=A,+(0)oC)二阶导数矢量:Pin(0)=P,_,-2P+PwE(l)=P-2Pz+1+P.+2=El(O),即曲线段在端点处的二阶导数矢量等于相邻两直线边所形成的平行四边形的对角线,且两曲线段在节点处具有二阶导数连续(因邛=印(0)。若P,T、PPm三个顶点位于同一条直线上,三次均匀B样条曲线将产生拐点;若Et、Pi、Pm、勺,2四点共线,则Ea)变成一段直线;若耳T、Pi、P-I三点重合,则与()过4点。(C)二重节点和三重节点图3-4三次B样条曲线的一些特例3.1.2 均匀双三次B样条曲线性质(1)局部性空间+1个控制顶点Ea=O,)构造(一&+D段上次(+1阶)b样条曲线段,且每一曲线段£()(i=0,l,A+l)由P、R、Pj+I等出+1个控制顶点确定,与其它控制点无关。(2)整体性和连续性一般情况下(即无重节点、重顶点),+1个控制顶点所构造的(-欠+1)段&次(女+1阶)B样条曲线段组成一完整的B样条曲线,曲线段与段之间具有CI阶函数连续性(或GJ阶几何连续性),当有K重顶点时,将可能产生尖点(前面已介绍),虽然仍满足函数连续,但不满足几何连续。(3)几何不变性改变坐标系不改变曲线形状。(4)变差缩减性与BeZier曲线性质相同。造型的灵活性由于其良好的局部特性,可以方便构造低次的复杂曲线,旦编辑顶点对曲线形状的改变是局部的;(6)整体光滑性由于其整体性和连续性,曲线具有整体的光滑性。但是B样条首末两端点不通过控制顶点,不过此缺点与其优点比较微不足道。正由于上述优点,B样条曲线比BeZier应用更为广泛,为商用系统普遍采用。3.1.3 均匀三次B样条曲线几何作图思考:用作图法绘制如图3-5所示均匀三次B样条曲线。图3-5绘制实例由本章节的图和上一章节的图比较可知,B样条曲线段与段之间具有天然的连续性,具有整体的光滑特性,而BeZier曲线段与段之间必须光滑拼接。因此在商用系统中B样条方法应用更为广泛。3.2 均匀双三次B样条曲面3.2.1 均匀双三次B样条曲面定义已知曲面的控制点=0,1,2,3),参数出卬,且,卬k,l,k=l=3,构造双三次B样条曲面的步骤同上述。1)沿卬向构造均匀三次B样条曲线,有:p(X)P1OP2OP3O3R2RFTTwrw W y T- T- B 03- - - 3 3,702)再沿向构造均匀三次B样条曲线,此时可认为顶点沿滑动,每组顶点对应相同的,当值由O此时表达式为:到1连续变化,即形成均匀双三次B样条曲面(如图3-6所示)。S(w,卬)=UMB其中P=Po(W)P1(W) Pz(W) P3(W)=UM,»PM«WTo n(3-5)P()3P13P23P3313-313-6O4-33311OOO图3-6双三次B样条曲面片上式(3-5)也可表达为:Sij(,W)=瓦 3 ()N J ()N.Q)心()1*4瓦,3(卬)2,3(W)N23(W) N33(W)对于由控制点Pij(/=0,1,.,m,j=0,1,.,)组成的均匀双三次B样条曲面(如图3-7所示),其定义如下:SDQ,w)= “3(") N1m) N23(U) B),/以,W23E,j+2小MW)E+1J+26+53NI式 W)S+2J+26+2J+3电式W)P 3+3 J+2匕+3J+3 JEj(W)即任意单张均匀双三次B样条曲面片Sij(N,卬)是由Pu(k = 1,.,/ + 3;/ =,,j+ 3)等16个控制点定义而成。图3-8为一均匀双三次B样条曲面的示意图。图38均匀双三次B样条曲面示意图3.2.2 均匀双三次B样条曲面性质B样条曲面具有B样条曲线的多种性质,曲面的片与片之间具有天然的连续性。下面仍以均匀双三次曲面为例说明B样条曲面的性质。1)均匀双三次B样条曲面的顶点不经过任何特征网格顶点,且仅与各角点对应的9个特征网格顶点有关,如:Sjj(0,0)=%6(吃+6j+2+6+2J+匕+2j+2)+%(EJ+1+E+,j+6+2j+E+ij+2)+%+1.+1,同理可得%(0,1)、S,j(l,0)SiJ(1,1)。2)均匀双三次B样条曲面的边界曲线仍为B样条曲线,该边界B样条曲线由对应的三条边界特征网格顶点确定,由B样条曲面得定义可得:吃+i,j+2”,j+3SMao)=瓦,3()Nu(U) N23(U) (w)i+2,j+P *+2+l6+1,/+2P r*+2+2÷l+3 P ri+2,j+3