车身曲线曲面的数学模型基础.ppt
第4章 车身曲线曲面的数学模型基础 对于汽车、飞机及其他一些具有复杂外形的机电产品,CAD/CAM的一个关键性环节,就是用数学方法来描述它们的外形,并在此基础上建立它们的几何模型。本章介绍定义车身外形曲线和曲面的一些常用的、基本的数学方法。主要内容有:参数样条曲线及孔斯曲面、贝齐尔方法、均匀B样条曲线、非均匀B样条曲线、双三次B样条曲面、非均匀有理B样条曲线和曲面等。,4.1 参数样条曲线及孔斯曲面,4.1.1 三次样条曲线(cubic spline curve)数学上的样条函数是对绘图用的样条的模拟。如将样条简化为弹性细杆,必定满足欧拉方程:M(x)=EIK(x)(4.1.1-1)其中M(x)是弯矩,E是杨氏系数,I是截面惯性矩,K(x)是样条的曲率。从(4.1.1-1)式出发,经数学推导可得出如下的三次样条函数表达式:(4.1.1-15)三次样条函数S(x)的本质是:一致通过型值点、二阶连续可导的分段三次多项式函数。,M(二阶导数)关系式,在各中间(连接)点一阶导数连续,S(xi-0)=S(xi+0),即(式中:hi=xi-xi-1)各项乘以,得:令:则有 Mi-1+2Mi+i Mi+1=di(i=1,2,n-1)(4.1.1-16)当i取值1,2,n-1时,可得到n-1个形如(4.1.1-16)的M关系式。但未知数二阶导数Mi却有n+1个,即M0,M1,Mn。要唯一定解,必须再附加两个方程。通常按实际问题的具体情况,在样条两端,即P0和Pn处给出约束条件,常用的边界条件有:,常用的边界条件有:,1给定两端的斜率m0=y0 和 mn=yn 以x=x0,i=1代入式(4.1.1-14),得(4.1.1-17)以x=xn,i=n代入式(4.1.1-14),得(4.1.1-18)式(4.1.1-16)和这两个附加方程合在一起得到有确定解的线性方程组。写成矩阵形式为(4.1.1-19)。2.给定两端的二阶导数M0=y0,Mn=yn 这可以写成:2M0+0M1=2y0 0Mn-1+2Mn=2 yn 此时式(4.1.1-19)中的0=0,d0=2y0,n=0,dn=2 yn。如果y0=yn=0,则称为自然插值三次样条函数。3.如果取0=-2,d0=0,n=-2,dn=0 则M0=M1,Mn-1=Mn,这就是抛物端边界条件。,三次样条函数的解法,()由端点条件补充两个方程后,得出如下线性方程组:(4.1.1-19)式中:可以用“追赶法”(参看附录A)求解(4.1.1-19)式,解出Mi(i=1,2,n)代入(4.1.1-15),便可由(4.1.1-15)式计算出 样条曲线上的一系列插值点。,4.1.2 三次参数样条曲线,在大挠度情况下,三次样条函数的光顺性可能变坏。用三次样条函数表示的插值曲线,依赖于座标系的选择,不具有几何不变性。有时旋转座标轴也不可能满足小挠度条件在这些情况下,最常用的处理办法之一是将曲线参数化,即将曲线上点的座标分别用某种参数表示:(4.1.2-1)其中t为参数,常取曲线内在的量 弧长作为参数,它与坐标系无关。若将t取作弧长s,则x和y作为分量,dxds和dyds都不会大于1,在(x,s),(y,s)平面上各构造一个三次样条函数:(4.1.2-2)曲线上的点比较密时,弦长之和近似于弧长,因此可取累加弦长作为三次参数样条曲线的参数。,设给定个点Pi(xi,yi),i=0,1,n,两相邻点之间的弦长为:(4.1.2-3)记:这里ti的几何意义是累加弦长,它近似等于弧长参数。在每一个节点 pi 都有一个确定的ti与之对应。当然 pi 的每一个坐标xi或yi也与ti一一对应。这就相当于给定了两组点(xi,ti)和(yi,ti),i=0n。对于每一组点,都可按节所述方法构造一个三次样条函数。这种曲线称为累加弦长三次参数样条曲线。在平面曲线的情况下,构造三次参数样条曲线相当于构造两遍三次样条曲线。这在工程上是经常使用的方法。,弗格森曲线,下面讨论参数样条曲线中的某一段,并用端点及端点的导数来表达出这段曲线的方程。设参数为u,第i段曲线对应的参数范围为,在0,1区间上对应于两个端点型值点的函数值及一阶导数值分别为r(0),r(1),r(0),r(1)。则插值函数为(4.1.3-1)那么(4.1.3-2)将四个已知条件代入以上两式,可解得四个系数a0,a1,a2,a3,再将求得的系数代回上式则得曲线段的方程为:(4.1.3-3)式中(4.1.3-4)我们称F0(u),F1(u),G0(u),G1(u)为埃尔米特(Hermite)基函数。,由式(4.1.3-4)可见,F0与F1专门控制端点的函数值对,曲线形态的影响,G0和G1专门控制端点的一阶导数 对曲线形态的影响。或者说,F0和G0控制左端的影响,F1和G1控制右端的影响。由式(4.1.3-3)确定的曲线可以进一步整理为矩阵形式:()该曲线也叫弗格森曲线。,4.1.4 孔斯(Coons)曲面,是S.A.Coons(是美国波音公司搞实际设计的专家)提出的一种适用于CAGD的构作自由型曲面的方法。孔斯曲面的基本思想是:把所要描述的曲面看作由若干曲面片光滑拼接而成,每个曲面片一般用四条边界曲线来定义。且尽量用简缩符号来表达。双三次孔斯曲面的表达形式为:uw=UMCMTWT(4.1.4-1)式中 U=1 u u2 u3 MTWT 分别是M和W的转置。,=(4.1.4.2)C称为角点信息矩阵。Coons曲面主要用于曲面设计,但用于曲面拟合也有较好的效果。(如,用零扭矢Coons曲面拟合飞机局部复杂曲面)。Coons曲面方法的主要缺点:1)角点扭矢与曲面内部形状的联系,难以掌握;2)确定扭矢是个难题;3)双三次Coons曲面的拼接只能达到一阶连续;4)角点信息多,占内存大,计算量也大。这些缺点限制了Coons曲面的广泛应用。,4.2 贝齐尔(Bezier)方法,法国雷诺汽车公司的贝齐尔(PBezier)于1962年着手研究一种以逼近为基础的构造曲线与曲面的方法,并以这种方法建立了一种自由型曲线与曲面设计系统UNISURF系统。该系统于1972年投入使用,至今已有很大的发展。应用该方法的还有英国剑桥大学的Multiobject实用设计系统等。贝齐尔方法有许多优良的性质,已成为 自由型曲线曲面造型先进的数学方法之一。贝齐尔曲线 设有n+1个控制顶点P0,P1,Pn,借助于一组Bernstein基函数Bi,n(u)=C(n,i)ui(1-u)n-i(i=0,1,2,n),可以定义一条曲线:(4.2.1-1)该曲线称为n次贝齐尔曲线。其中:C(n,i)是组合数,n是贝齐尔曲线次数,i是顶点标号,u为曲线的参数。,贝齐尔曲线的分量的形式:,P(u)=x(u),y(u),z(u)(4.2.1-2)Pi=(xi,yi,zi,)(4.2.1-3)(4.2.1-4)为了了解控制顶点Pi(i=0,1,2,n)如何通过基函数Bi,n(u)控制曲线的形状,先考察n3的情形。由定义可得:(4.2.1-6)Bi,3(u)(i=0,1,2,3)的图形见图。,控制顶点Pi通过基函数Bi,n(u)控制曲线的形状,B0,3(u)在u=0附近影响最大,B1,3(u)在u=13附近,B2,3(u)在u=23附 近影响最大,而B3,3(u)在附近影响最大。因为u=0时P(0)=P0,故P0决定曲线的起点。U=1时P(1)=P3,故P3决定曲线的终点。P1则主要通过B1,3(u)影响曲线在u=13附近的形状;P2则主要通过B2,3(u)影响曲线在u=23附近的形状。图是 P0,P1,P2,P3控制曲线形状的几个例子。,贝齐尔曲线的性质,1端点性质。根据贝齐尔曲线的定义可以证明:P(0)=P0,P(1)=Pn,表明P0和Pn是贝齐尔曲线的起点和终点。还可以证明:P(0)=na1,P(1)=nan 式中ai=Pi-Pi-1(i=1,2,n)代表贝齐尔多边形的边向量,说明贝齐尔曲线分别以a1和an为起端和终端的切向,类似地也有:P”(0)=n(n-1)(a2-a1)P”(1)=n(n-1)(an-an-1)2对称性。保持贝齐尔曲线诸顶点的位置不变,只把次序完全颠倒过来,新的顶点序列记为P*i=Pn-i(i=0,1,2,n)生成贝齐尔曲线仍然是原曲线,,3凸包性。贝齐尔曲线上各点一定落在特征多边,形在的凸包之中。4几何不变性。由于贝齐尔曲线曲线的形状与特征多边形各顶点Pi有关,它不依赖于座标系的选择。5交互能力。控制多边形P0,P1,Pn大致地勾画出Bezier曲线P(u)的形状,要改变P(u)的形状,只需改变P0,P1,Pn 的位置,把控制多边形作为曲线输入和人机交互的手段,既直观又简便。6保凸性。如果平面上的凸控制多边形能导致所生成的曲线为凸曲线,则称这个生成曲线的方法具有保凸性。Bezier曲线具有这种保凸性质。7.变差缩减性。如果Bezier曲线P(u)的控制多边形是一平面图形,则该平面内的任意直线与P(u)的交点个数不多于该直线与控制多边形的交点的个数。这一性质被称为变差缩减性。此性质反映了Bezier曲线比控制多边形所在的折线更光顺。,8.曲线的可分割性。为求出曲线上任意一点,,贝齐尔曾给出一种有趣的几何分割作图法。设Pk(k=0,1,2,n)是控制多边形顶点,在每边上取点,重复上面的过程(4.2.1-14)可以证明,如图是入=1/2的分割情况。入可取几个不同的值,得到曲线上几个不同的点,再根据贝齐尔曲线端点性质,便可绘出曲线。(画图讲解),三次贝齐尔曲线,在产品外形设计中,C2阶连续的三次贝齐尔曲线已相当理想。高次贝齐尔曲线的许多问题还有待于理论上的解决。下面给出实际中常用的三次贝齐尔曲线的表达式。根据贝齐尔曲线的表达式并设n=3,则得三次贝齐尔曲线的表达式:()或写成矩阵形式:()这里的四个基函数分别为:,贝齐尔曲线的计算,1.正算 根据给定的特征多边形顶点Pi,构造贝齐尔曲线表达式(按照(4.2.2-1)式),并计算曲线上的一系列点。(写成分量形式表达式进行计算)。2.反算 用给定的曲线上的型值指点xi,yi及对应的参数ui反求出顶点Pi(运用贝齐尔曲线公式进行逆运算),再构造贝齐尔曲线表达式并计算曲线上的一系列点。,4.2.3 贝齐尔样条曲线,贝齐尔曲线是一整段n次参数曲线,不是样条,但可以把多段贝齐尔曲线光滑连接起来构造样条曲线,为了使合成后的整条曲线达到一定的连续性,连接处要满足特定的条件。设已经给定两条贝齐尔曲线L(n次)和L*(m次),它们的特征顶点分别为Pi(i=0,1,2,n)和Qi(i=0,1,2,m),特征多边形的边向量分别为ai(i=1,2,n)和bi(i=1,2,m),见图。两条曲线L和L*达到C1连续的充耍条件是:(1)P(1)=Q(0)(4.2.3-1);(2)Q/(0)=P/(1)0(4.2.3-2)由此可知两条贝齐尔曲线L与L*达到C1连续的充要条件是L的终点同L*的起点重合,且 b1=an 0(4.2.3-3)对于两条空间曲线L和L*如果要达到C2连续要求,那么除了上述(4.2.3-2)条 件以外,还应使连接点处 有连续变化的曲率K和单位主法矢N。,因为在连接处已有相同的单位切矢T,又由于单位副法矢B=TN。因此在连接处还应满足(3)、(4)两条件:(3)副法矢同向;(4)曲率相等。从贝齐尔曲线的端点性质可推得,L在终点的副法矢和L*在起点的副法矢分别是:(1)=n2(n-1)(an-1 an)(4.2.3-4)(0)=m2(m-1)(b1 b2)(4.2.3-5)由于要求副法线向量同向,则边向量an-1,an,b1,b2共面。又知an-1,an是两个线性无关的量,再考虑到式(4.2.3-3),则有(3)b2=-an-1+an(4.2.3-6)如果只考虑条件(3),和可以是任意常数。若考虑条件(4),则还有一定的限制。由曲线L和L*在连接点的曲率可推得:,(4)()综上所述可得出如下结论:1.L和L*拼接达到一阶连续,要满足条件(1)和(2),即L的末端点与L*的首端点重合且斜率相等;2.L和L*拼接达到二阶连续,要满足条件(1)、(2)、(3)、(4),即除了满足(1)、(2)外,在连接点处L和L*的副法矢同向且曲率相等。,4.2.4 贝齐尔曲面,利用控制顶点和基函数生成曲线的方法很容易推广来生成曲面。现在,我们考虑(n+1)(m+1)个排成网格的控制顶点Pij(i=0,1,n;j=0,1,m)利用基函数Bi,n(u),Bi,m(w)就可以生成一块曲面:(4.2.4-1)该曲面称为nm次的贝齐尔曲面。显然,固定w,对u而言是一簇贝齐尔曲线;固定u,对w而言也是一簇贝齐尔曲线。可以认为,贝齐尔曲面是由贝齐尔曲线交织而成的曲面。也就是说可以利用贝齐尔曲线的网格来绘制或显示贝齐尔曲面。,注意到 时,;时,;令,得,即Pi,0(i=0,1,n)恰好是P(u,0)的控制顶点。令,得,即Pi,m(i=0,1,n)恰好是P(u,1)的控制顶点。同理P0,j(j=0,1,m)恰好是P(0,w)的控制顶点,Pn,j(j=0,1,m)恰好是P(1,w)的控制顶点。而其余的Pi,j并不是P(u,w0)、P(u0,w)的控制顶点。此外,只有四个顶点P0,0,P0,m,Pn,0,Pn,m,与贝齐尔曲面的4个角点重合,并且在那里相切。,一个复杂的曲面往往不能用单一的贝齐尔曲面来实现。,于是要用几块贝齐尔曲面拼接起来,这时就要注意一定的连续性。对于3 3次贝齐尔曲面的情形,要4 4个控制点阵。根据定义用矩阵表示为(4.2.4-2)其中,曲面拼接条件:如果有二块3 3次贝齐尔曲面,要进行拼接,如图,当P(1)(1,w)=P(2)(0,w)对所有0w1成立时,拼接处连续。显然,这只要控制顶点满足 P3,i(1)=P0,i(2)(i=0,1,2,3)(4.2.45)就行。而为了在拼接处满足C1连续,还要满足 Pu(1)(1,w)Pw(1)(1,w)=Pu(2)(0,w)Pw(2)(0,w)(4.2.4-6)其中为常数,0 w 1。这时除条件P3,i(1)=P0,i(2)(i=0,1,2,3)外,最简的充分条件是:P3,i(1)-P2,i(1)=(P1,i(2)-P0,i(2)(i=0,1,2,3)(4.2.4-7)图表示的两拼接曲面达到了C1级连续。图,4.3 均匀B样条曲线,4.3.1 B样条方法引论。以上讨论的贝齐尔方法,因为它的许多优良性质,诸如直观性、凸包性、变差减小,可分割性等,已经成为从事机电产品几何外形设计的得力工具。但使用中也发现,由于贝齐尔曲线曲面是采取单一参数多项式的整体表示,它难以构造形状复杂的曲线曲面,而不得不借助于拼接。拼接虽然灵活,但使用起来却不够方便。正由于贝齐尔曲线曲面的整体性,不可能作局部修改,移动一个控制顶点的影响将波及整条曲线或整张曲面。在19721976年期间,里森费尔德(Riesnfeld)、戈登(Gordon)、福雷斯特(Forrest)等人推广了贝齐尔曲线,改用B样条基代替贝齐尔曲线的伯恩斯坦基,用这种方法构作的曲线曲面叫B样条曲线曲面。B样条曲线与曲面也具备良好的性质。它继承了贝齐尔曲线的直观性等优良属性,又克服了贝齐尔方法的不足之处。B样条曲线与特征多边形相当接近,便于局部修改。首先介绍工程上常用的三次B样条曲线,然后再对B样条曲线作进一步讨论。,4.3.2 三次B样条曲线段,B样条曲线也是即分段又连续,先讨论各分段的特性,再解决各分段间的连续性问题。(1)三次B样条基。B样条基函数可以由多种方法推导:如差商定义、德布尔一考克斯的递推定义、考虑曲线段之间连续性要求的几何定义等。由于推导的途径不一,B样条基函数的表达式各有不同,但实质是完全一致的。现在直接引出工程上经常应用的三次B样条基函数的矩阵表达式:(4.3.2-1)Nj,4(u)(j=0,1,2,3)是一组重要的基函数,利用它和四个相邻顶点线性组合,可构成三次B样条曲线段。,(2)三次B样条曲线段,(4.3.2-2)它的端点具有如下的一些性质:(4.3.2-3)根据上述端点几何性质,三次B样条曲线段的形状就大体确定了。,4.3.3 三次B样条曲线,当特征多边形的顶点超过四点时,其上每增加一个顶点。则相应地在样条上增加一段曲线,下图表示B特征多边形及其对应的B样条曲线,多边形中每四个相邻的顶点按公式()定义一段曲线。现在从曲线连续、光滑的要求出发,推导出三次B样条曲线方程。推导过程的几何意义十分明显。已知n+2个按顺序排列的顶点矢量V0,V1,Vn+1(见上图),设N0,4(u),N1,4(u),N2,4(u),N3,4(u),分别为u的三次多项式。顺次以相邻的四顶点Vi,Vi+1,Vi+2,Vi+3作为一组,共得到(n-1)个线性组合:(4.3.3-1),这些线性组合在连接点处要求直到二阶连续,即,ri(1)=ri+1(0),ri(1)=ri+1(0),ri”(1)=ri+1”(0),由此可推导出三次B样条基函数:(见115-116页)(4.3.3-6)(4.3.3-6)式正是前述的三次B样条基。在(4.3.3-1)式中,特征多边形顶点Vi+j和三次B样条基函数Nj,4(u)(j=0,1,2,3)线性组合得到ri(u)。当参数u从0变化到1时,上式描绘出第i段曲线。各段曲线在连接点处保持C2连续。由于Nj,4(u)是三次B样条基,故上述曲线叫三次B样条曲线。它在工程上的应用最普遍。,将(4.3.3-6)代入(4.3.3-1),写成矩阵形式得三次B样条,曲线公式为:(4.3.3-7)此式为三次B样条曲线的计算公式,请记住并会计算。,4.3.4 B样条曲线的几何性质,除了图所示的曲线端点性质外,B样条曲线还具备另一些性质。下面以三次B样条曲线为例加以说明。但这些性质对任意次B样条曲线也都成立。(1)直观性 B样条曲线的形状决定于B特征多边形,而且曲线和多边形相当逼近。(2)局部性 由于三次B样条曲线段ri(u)仅由四个顶点矢量确定,而与其它顶点矢量无关。所以改变特征多边形的某一顶点矢量,只对相邻的四段曲线段产生影响,而对其它曲线段不会引起变化。B样条所具备的局部性在B样条曲线的几何性质中占有很重要的地位。(3)凸包性 所谓空间点的凸包是指连接各空间点所围成的空间区域。曲线段必 在ViVi+1Vi+2Vi+3所张 成的凸包内。而整条 B样条曲线必定落在 这种由相继的四个多 边形顶点所组成的凸包的并集之中。,(4)对称性 把特征多边形的顶点V0,V1,Vn反序排,成Vn Vn-1,V0按此顶点矢量序列用式(4.3.3-7)构成曲线,就将沿相反的方向描画出同一条曲线。三次B样条曲线的几种退化情况(亦即构造特殊B样条曲线的技巧):(1)三顶点Vi,Vi+1,Vi+2共线 m是线ViVi+2的中点,见图,则三次B样条曲线段的起点ri(0)所在位置为 利用端点性质容易证明,ri(0)处的曲率K=0。曲线起点ri(0)与直线ViVi+2相切,利用此性质可设计出需要的拐点。,(2)四顶点ViVi+1Vi+2Vi+3共线,四个相邻顶点共线,构作的B样条曲线退化为直线,见图。ri(0)和ri(1)的位置同样可由作图法求出。(3)两顶点Vi+1,Vi+2重合 相当于三顶点共线,三次B样条曲线的端点ri(0)满足关系式 而且端点曲率K=0,见图。,(4)三顶点重合,为了构作含有尖点的B样条曲线,可以取三次重合顶点,即把一个顶点重复取三次。如图所示,由顶点Vi,Vi+1,Vi+2,Vi+3,Vi+4可以定义两段三次B样条曲线,具有C2连续条件。若把Vi+2看作为重复的两个顶点,则由顶点Vi,Vi+1,Vi+2,Vi+2,Vi+3,Vi+4可以构作三段B样条曲线。若把Vi+2看作为重复三次的顶点,则由顶点i,Vi+1,Vi+2,Vi+2,Vi+2Vi+3,Vi+4可以定义四段三次B样条曲线。三重顶点Vi+2处,曲线的斜率不连续形成尖点,而且两侧含有直线段和。在尖点处斜率尽管不连续。然而对于参数曲线来说,确实是达到了C2连续。因为在三重顶点处的一阶和二阶导矢都退化为零。,上述退化情况表明(构造特殊B样条曲线的技巧):,(1)如果想构造一段直线,只要使四个顶点共线就可以了。(2)为了使样条曲线和特征多边形相切,可以采用三顶点共线或两重顶点的技巧。(3)要使样条曲线通过某一顶点,即在曲线上使之形成一个尖点,可以运用三重顶点的技巧。在具有复杂外形的机电产品设计中,常常要用到上述技巧。,4.3.5 三次B样条曲线的算法,从已知B特征多边形顶点Vi计算三次B样条曲线的结点Pi以及曲线上的任意点,是逼近问题,称为正算,而从已知型值点列Pi反推多边形顶点Vi,是应用于插值的反问题,称为反算。(1)曲线的正算 给定特征多边形顶点Vi,构作B样条曲线,按式(4.3.3-7)计算曲线上结点以及任意点的位置矢量,这是不用赘述的。在数控绘图和数控加工中往往需要对参数进行等间隔插值,这时不必将参数代入式(4.3.3-7)逐点计算,而可采用差分运算,使计算可以高速进行。差分法的算法及源程序见附录B。,(2)曲线的反算,在机电产品外形设计实际中,常常是给出曲线上一批型值点,希望用B样条曲线来拟合这些点。然后求出其它需要的插值点。这时首先要求出B样条曲线特征多边形顶点,才能构造曲线,并对曲线进行插值计算。设已知(n+1)个有序型值点列Pi(i=0,1,n)。求特征多边形顶点位置矢量Vi(i=-1,0,n+1)。从(4.3.2-3)式的第一、第二式可看出,反算问题归结为下列线性代数方程组的求解:(4.3.5-5)如果补充两个适当的端点条件,方程组就有唯一解。工程中常见的情况有如下三种端点条件:,(1)两端点给出切矢量,补充条件为:(4.3.5-6)其中P0和Pn在实际设计中可以依据抛物线端点条件给出。(4.3.5-6)经推导整理后与(4.3.5-5)构成三对角线性方程组:(4.3.5-9)用“追赶法”求解方程组(4.3.5-9)并将结果代入式(4.3.5-6)中求出Vi(i=-1,0,n+1)。全部未知数求解完毕。关于“追赶法”求解方程的原理和程序参见本书附录A。,(2)自由端点条件,一般可取(4.3.5-10)由(4.3.5-10)、(4.3.5-5)构成三对角线性方程组(4.3.5-11)可由“追赶法”求解此方程组,(3)封闭曲线,为使曲线起点和终点光滑连接,应考虑多生成一小段曲线PnP0将原曲线光滑封闭。考虑Pn点的连续性,PnP0应由顶点Vn-1VnVn+1Vx生成;考虑P0点的连续性,PnP0应由顶点VyV-1V0V1生成,又知PnP0是同一条曲线,所以必有:即要曲线封闭,必须:Vn+1=V0,Vn=V-1(4.3.5-12)由(4.3.5-12)和(4.3.5-5)联立求解,但它不能构成三对角线性方程组,因此不能用解三对角方程的追赶法求解,只能用一般的线性方程组解法求解Vi。方程的形式为(4.3.5-13),4.3.6 三次参数曲线段的三种等价表示,三次参数曲线可以用不同的方法构造,列成附表。,三次参数曲线段的三种等价表示(续),三种构作方法有其内在联系。从几何角度分析(见图所示),B0和B3是曲线段r(u)的始点r(0)和终点r(1),r(0)和r(1)是曲线段始点和终点的切矢量。根据贝齐尔曲线的性质可以验证,从B0开始,沿r(0)的方向截取其模长的13,得B1点;从B3开始,沿r(1)的反方向截取其模长的13,得B2点,则B0B1B2B3即为r(u)曲线段的贝齐尔特征多边形。再根据B样条的端点性质,将线段B1B2向两侧各延长自身的长度,分别得V1和V2。用线段连接V1B0,并延长两倍到d0,再用线段连接V2d0,并延长自身的长度到点V0,在V2和B3方面作对称的操作,得到V3,则V0 V1V2 V3即为r(u)曲线段的B特征多边形。,三者的几何关系是明显的,三种几何表示方法可以相互转换。由一,种几何表示方法很容易用作图法找出另外两种等价的几何表示。三次参数曲线段可以用不同方法构造,表示形式有所不同,但它们之间有其内在联系。从代数上看,这三种表示式可以统一在矩阵形式之下:r(u)=U Mj BjT 0 u 1(j=1,2,3)其中:U是参数矢量,Mj是基函数阵,BjT 是顶点信息(见前表)。从上述等价表示中可以看出,贝齐尔方法和B样条方法用特征多边形表示曲线,比一般参数曲线更加直观。学习了三次参数曲线段的等价表示,同学们要会解决如下问题:1)给定一曲线段的B特征 多边形顶点,如何求出该曲 线段的贝齐尔多边形顶点?2)给定一曲线段的贝齐尔 多边形顶点,如何求出该曲线段的B特征多边形顶点?,4.3.7 二次B样条曲线,在实际应用中,用得最多的是三次B样条曲线,其次就是二次。现在考察二次均匀B样条曲线,其公式为:曲线段的两端点是二次B特征多边形两边的中点,并且以两 边为其端点切线(图4.3.7-1)。一次B样条曲线就是B特征 多边形本身。对于同一特征 多边形而言,随着曲线次数 的增高,曲线拉紧,离特征多边形越来越远。三次B样条能保持C2连续,对特征多边形又相当逼近,所以最常用。二次B样条曲线由于简单,与特征多边形更加逼近,尽管只能保持C1连续,在工程中也经常应用。,4.4 非均匀B样条曲线,上节对工程上常用的均匀B样条曲线作了较全面的介绍。它最重要的特征是:(1)参数轴采用均匀分布的节点;(2)各段B样条曲线均采用相同的基函数;(3)计算简单。但当型值点或顶点间距相差较大时,应用均匀B样条曲线效果不好。因此,机电产品设计过程有时要用到非均匀B样条曲线,它可以在基函数里用节点的不均匀分割来适应特征顶点或型值点严重不均匀的情况。虽然计算量增加,但造型功能和效果得以提高,特别是可以应用重节点技术,更增加了B样条曲线的应用灵活性。,4.4.1 B样条基函数,首先明确几个概念:节点是参数轴上的分割点。将参数轴等距分割,得到均匀节点。若 非等距分割,则得到非均匀节点。前面提到过的型值点,是指曲线段间的连接点。前者是曲线上的点,后者是参数轴上的点。而顶点则是确定曲线形状的控制点。定义:在区间a,b上,取分割a=x0 x1xn=b为节点,构造B样条基函数。仅在区间xi x xi+M 内其值不为零的M阶(M-1次)B样条基函数Ni,M(x)称为在 xi,xi+M上具有局部支集性。M为阶数(为大于或等于1的整数),基函数Ni,M(x)由下列递推关系给出:式中约定0/0=0,Ni,M(x)称为a,b上第i个M阶(M 1次)B样条基函数。,()递推公式的几何意义可以归结为“移位”,“升阶”,和“线性组合”。Ni,M1(x)“移位”得Ni+1,M1(x)(对非均匀节点而言则指Ni,M1(x)的下一个基函数为Ni+1,M1(x);M1阶基函数乘以x的线性函数,就是“升阶”;再将其“线性组合”,得到M阶B样条基。由上述递推关系可知,M阶B样条基是一个只在M个子区间 xi,xi+M上非零的分段M1次多项式,它具有直到M2阶连续导数。现在具体地讨论0次到3次B样条基当M1,零次(一阶)B样条基为:Ni,1(x)的图形如图(4.4.1-1)所示。在区间a,b上,它只在一个子区间xi,xi+1上非零,且为常数1(即为零次多项式)。在其他子区间上均为零。Ni,1(x)称为平台函数。,M=2,一次(二阶)B样条基:,由(4.4.1-2)的Ni,1(x)的“移位”得 将Ni,1(x)和Ni+1,1(x)代入递推公式,得 Ni,1(x)和Ni+1,1(x)及由递推所得到的Ni,2(x)见图。人们形象地称Ni,2(x)为屋顶函数。Ni,2(x)只在两个子区间xi,xi+1,xi+1,xi+2上非零,且各段均为x的一次多项式。,M=3,二次(三阶)B样条基:,将Ni,2(x)的表达式(4.4.1-3)的下标i换成i+1,即得到Ni+1,2(x)的表达式。再将Ni,2(x)和Ni+1,2(x)代入递推公式,即可得到Ni,3(x)。二次B样条基为:(4.4.1-3)Ni,2(x)、Ni+1,2(x)以及递推所得到的Ni,3(x)见图。Ni,3(x)在三个子区间上非零,且为分段的二次多项式,形象地被称为钟形函数。,M=4,三次B样条基 Ni,4(x),Ni,4(x)是工程上经常用到的一种B样条基,它只在四子区间上非零,且为分段的三次多项式,其图形见图,人们称Ni,4(x)为草帽函数。三次B样条基的表达为:,依次递推,可得任意次B样条基函数的分段表达式。,按()递推公式,可编制十分简洁的程序,用以计算任意次B样条基函数。下面给出一个以0、2、5、6、8、10为节点的三次B样条基函数图形,见图。如果取参数xi=i(i=0,1,2,n)为节点,即可在等距节点参数轴上形成均匀B样条基。由()或直接由()、(4.4.1-3)、(4.4.1-4)、(4.4.1-5)可得均匀B样条基的表达式。,4.4.2 B样条基的性质,由前面介绍的B样条基,可以明显地看出它们具有下列性质:局部性 Ni,M(x)只在xi,xi+M范围内有值,且为分段(M-1)次多项式。其它子区间上其值为零。全正性 在xi,xi+M区间之内,Ni,M(x)0 单调性 Ni,M(x)是单调函数。规范性 对称性 均匀B样条基具备对称性。Nj,M(u)=NM-1-j,M(1-u)(j=0,1,M-1)。(),4.4.3 非均匀B样条曲线,前面介绍了B样条基函数及其性质,在均匀节点情况下,导出均匀B样条基,将其与顶点线性组合,构作了均匀B样条曲线。当定义B样条基函数的节点分布不均匀时,所得曲线称为非均匀B样条曲线。下面给出常用的二次和三次非均匀B样条曲线的方程。二次非均匀B样条曲线的方程为:,三次非均匀B样条曲线的方程为,令u=(x-xi)(xi+1-xi),可将(4.4.3-2)式改写成参数形式,并可进一步将其写成矩阵形式:()式中的系数方阵M4的元素由相应的节点距离确定。()式在等距节点的情况下,将退化为三次均匀B样条曲线。,比较均匀B样条曲线与非均匀B样条曲线得知:,两者的公式相似,前者系数方阵M的元素是固定值;而后者的元素随节点距离而改变。换句话说,均匀B样条曲线的形状只取决于特征多边形顶点,而非均匀B样条曲线不仅取决于特征多边形顶点,而且还受基函数节点距离的影响。在工程应用中,非均匀B样条基函数的节点如何分割,其主要的考虑就是要用节点的不均匀分割适应型值点或项点的不均匀性,实践证明,下述处理方法是简单而有效的。(1)对一次曲线,曲线本身即是特征多边形,节点距离取成与型值点的实际距离(也就是折线边长)成比例。(2)对于二次和三次曲线,在正算情况下,可取节点距离与 特征多边形顶点距离(边长)成某一比例;在反算情况下,可取节点距离与型值点实际距离成某一比例。(3)两端还需补充一定的节点,可向端点外等距延伸,也可取重节点。非均匀B样条的反算方法与均匀B样条反算方法类似,这里不再赘述。,双三次B样条曲面是机电产品外表面设汁时最常用的曲面形式,它完全可以从B样条曲线在两个参数方向的推广而得到。4.5.1 双三次B样条曲面片 给定空间十六个点的位置矢量 Vi,j(i=0,1,2,3;j 0,1,2,3),并按序排成一个四阶方阵。我们把这些矢量的端点叫做顶点,上述的四阶方阵叫顶点信息方阵。将这些顶点沿参数方向分别连成特征多边形,构成特征网格,如图所示。取方阵中的每一列元素,作为一个特征多边形的四个顶点,用来构作三次B样条曲线。,4.5 双三次B样条曲面,并将它表示为矩阵形式:,将以上四条三次B样条曲线用下列矩阵表示 对于0,1之间的每个u值,我们再把S0(u),S1(u),S2(u),S3(u)看成一个特征多边形的四个顶点,构作一条关于参数w的B样条曲线 将Sj(u)(j=0,1,2,3)代入上式,得到如果把参数u和w都看成相互独立地在0,1中变化,那么(4.5.1-1)就是双三次B样条曲面片的方程。,由于N0,4(u),N1,4(u),N2,4(u),N3,4(u)=1 u u2 u3 MB,,则(451-1)可以表示为紧凑的形式:如果改变构造曲面片的方式,先按行后按列,得出的结果是完全相同的。由此可以断定,双三次B样条曲面片是由十六个顶点唯一确定的。由三次B样条曲线的性质和双三次B样条曲面片的构造方式可知,曲面片一般不通过顶点。曲面片的四个角点接近于顶点V11V12 V21V22,参看图。图中曲面片用虚线表示。还可以将(4.5.1-1)改写成,4.5.2 双三次B样条曲面,给定(n+1)(m+1)个空间顶点,把它们排成一个(n+1)(m+1)阶矩阵Vi,j(i=0,1,n;j=0,1,m)它们构成双三次B样条曲面的特征网格。相应的双三次B样条曲面方程为:它是由(n-2)(m-2)块双三次B样条曲面片拼合而成的,每两相邻曲面片之间都理所当然地达到了C2连续。这一点自然是从三次B样条基函数的C2连续得到保证的。所以说,双三次B样条曲面相当简单地解决了曲面片之间的拼合问题。,4.5.3 双三次B样条曲面的计算,(1)给定特征网络顶点Vi,j,构造B样条曲面,再计算曲面上任意点的位置矢量及法矢量。(正算)按(4.5.1-3)计算曲面上任意参数(0u,w1)的位置矢量是不用赘述的。为了计算等距面,需要求出曲面上点的法矢量。为此对(4.5.1-1)求u向和w向偏导矢:曲面上点的法矢量N为,(2)曲面的反算,要构造通过型值点的B样条曲面,先要反算出B样条特征网格顶点。这就是曲面反算问题。如图所示,首先对u向的n+1组型值点,按B样条曲线的反算方法,得到各条插值曲线的特征多边形顶点Qi.j(i=-1,0,1,n+1;j=0,1,m)。然后,把上面算出的Qi.j,看成在w方向的m+1组型值点列,再按B样条曲线的反算法得Vi,j(i=-1,0,1,n,n+1;j=-1,0,1,m,m+1),这批Vi,j就是双三次B样条曲面的特征网格顶点。将Vi,j代入B样条曲面公式,便可以算出曲面上任意点的位置矢量。,(2)曲面的反算,454 双三次曲面的三种等价表示,双三次参数曲面片可以用不同的方法构作。对于同一张双三次曲面片而言,它可以写成孔斯(Coons)形式,也可以写成贝齐尔(Bezier)形式或B样条形式。三种构作方法有其内在联系。式中:VC 孔斯形式的角点信息方阵;VBE贝齐尔形式的顶点信息方阵;VB B样条形式的顶点信息方阵;MC、MBE、MB三种形式的基函数系数方阵。由于在0 u,w 1 域内,所以 rC(u,w)=rBE(u,w)=rB(u,w)(4.5.4-2)从而获得 通过矩阵运算,孔斯形式角点信息方阵Vc与贝齐尔或B样条形式的顶点信息方阵可以相互转换。这些方阵的元素自然也可以相互转换。这些等价表示的关系式反映了三种构作方法的内在联系。尽管这三种形式是等价的,但B样条形式直观,有良好的局部性,便于实现对曲面形状的控制,因此应用越来越广泛。,4.6 关于B样条曲面的说明,4.6.1 均匀B样条曲面任意次B样条曲面片的方程如下:当B样条基的阶数n=m=2时,B样条曲面片为双一次曲面片。它的边界是由顶点张成的四边形。(2)当n=m=3时,B样条曲面片为双二次曲面片。图中示意了曲面片与特征网格之间的关系。图中只画了一片B样条曲面。如果网格向外扩展,则曲面片也相应延伸,而且相邻两片之间保持C1连续。这是因为Ni,3(u)是C1连续的缘故。(3)当n=m=4时,B样条曲面片为双三次曲面片。(4)当n=4,m=2时,B样条曲面片为3 1次曲面片。翼面类直母线部件采用31次B样条曲面可获得良好的效果。构造均匀B样条曲面方法简单,计算量小,适合于设计较规则曲面。但如果曲面型值点分布很不均匀,尽管插值曲面通过给定的型值点,在定义域上有直到二阶的连续单向偏导矢,可是从宏观角度看,曲面并不光滑,往往出现不应有的波动。,4.6.2 非均匀B样条曲面片,双三次均匀B样条曲面在两个参数方向都采用均匀基,而双三次非均匀B样条曲面允许两个参数方向选用不同的基,因此具有更大的灵活性,有更广泛的适用范围。根据参数平面的划分不同及工程上曲面的不同复杂程度,B样条曲面可分为以下几种:u 矩形网格基 在u向、w向各采用统一的一组非均匀基,w