《曲线曲面基本理论第三章曲线曲面建模技术.docx》由会员分享,可在线阅读,更多相关《曲线曲面基本理论第三章曲线曲面建模技术.docx(34页珍藏版)》请在第一文库网上搜索。
1、第三章曲线曲面基本理论1概述曲线曲面造型(SUrfaCeMOde1ing)是计算机辅助几何设计(COnIPUterAidedGeometricDesign,CAGD)和计算机图形学的一项重要内容,主要研究在计算机系统中如何用曲线曲面表示、设计、显示和分析物体模型。它在航空航天、船舶、飞机、汽车等行业得到广泛应用(如图IT所示)。由Coons.Bezier等大师于二十世纪六十年代奠定其理论基础,经过三十多年的发展,曲线曲面造型现在已形成了以有理B样条曲线曲面(Rationa1B-sp1ineSurface)参数化特征设计和隐式代数曲线曲面(InIPIiCitA1gebraicSUrfaCe)表示
2、为主体的两类方法,且以插值(InIerPo1ation)、逼近(APPrOXimatiOn)手段为几何理论体系。1.1曲线曲面表示曲线曲面可以用三种形式进行表示,即显式、隐式和参数表示,三种形式表示如下。显式表示:形如z=(x,y)的表达式。对于一个平面曲线而言,显式表达式可写为y=(x),在平面曲线方程中,一个X值与一个y值对应,所以显式方程不能表示封闭或多值曲线,例如,不能用显式方程表示一个圆。隐式表示:形如*,y,z)=O的表达式。如一个平面曲线方程,隐式表达式可写为/(x,y)=O.隐式表示的优点是易于判断函数/(x,y)是否大于、小于或等于零,也就易于判断点是落在所表示曲线上或在曲线
3、的哪一侧。参数表示:形如x=(f),y=(f),z=()的表达式,其中t为参数。即曲线上任一点的坐标均表示成给定参数的函数。如平面曲线上任一点P可表示为PQ)=MD,M。,如图1-2(a)所示;空间曲线上任一三维点P可表示为PQ)=Mf),y(),z(f),如图1-2(b)所示。(b)空间曲线(a)平面曲线图1-2曲线参数表示最简单的参数曲线是直线段,端点为巴、2的直线段参数方程可表示为PQ)=4+(68)frO,1;(1-1)圆在计算机图形学中应用十分广泛,其在第一象限内的单位圆弧的非参数显式表示为(1-2)(1-3)y=1-x2(0x1)-t2Itr10,1其参数形式可表示为计算机图形学中
4、通常用参数形式描述曲线曲面,因为参数表示的曲线曲面具有几何不变性等优点,其优势主要表现在:(1)可以满足几何不变性的要求,坐标变换后仍保持几何形状不变;(2)有更大的自由度来控制曲线曲面的形状。如一条二维三次曲线的显式表示为:(1-4)y=ax3+bx2+cr+d由上式可知只有四个系数控制曲线的形状。而二维三次曲线的参数表达式为:(1-5)P=”+卬+。4POJ1b#+b2r+b3t+b4与二维三次曲线的显式表达式比较,参数表达式由8个系数来控制此曲线的形状。(3)对非参数方程表示的曲线、曲面进行变换,必须对其每个型值点进行几何变换,不能对其方程变换(因不满足几何变换不变性);而对参数表示的曲
5、线、曲面来说,可对其参数方程直接进行几何变换实现曲线曲面的变换。(4)便于处理斜率为无穷大的情形,即当斜率为无穷大的时候,计算也不会中断。(5)参数方程中,代数或几何相关和无关的变量是完全分离的,而且对变量个数没有限制,从而使于用户将低维空间的曲线、曲面扩展到高维空间。这种变量分离的特点有助于实现用数学公式处理几何分量。(6)规格化的参数变量f0,1使其相应的几何分量是有界的,而不必用另外的参数去定义边界。(7)易于用矢量和矩阵表示几何分量,简化了计算。1.2 曲线曲面基本性质位置矢量:曲线上任一点的位置矢量可表示为P(f)=x(f),y),z(f);其一阶、二阶和上阶导数矢量(如果存在的话)
6、可分别表示为P(r)=P)=驾Pk(D=E(1-9)dtdt2dtk切矢量:若曲线上R、。两点的参数分别是,和,+加,矢量P=PQ+4)-P(f),其大小以连接RQ的弦长表示。如果在R处有确定的切线,则当。趋向于R,即,0时,导数矢量趋向于该点的切线方向。如果选择弧长S作为参数,则T=-=1im是单位矢量。dsz05法矢量:对于空间参数曲线上任意一点,所有垂直切矢量T的矢量有一束,且位于同一平面上,该平面称为法平面。若对曲线上任意一点的单位切矢为T,因为T(s)2=1,两边对S求导矢得:2T(s)T(s)=0,可见是一个与T垂直的矢量。与”平行的法矢称为曲线在该点的主法矢。主法asas矢的单位
7、矢量称为单位主法矢量N。矢量积5=TxN是第三个单位矢量,垂直于T和N。平行于矢量B的法矢称为曲线在该点的副法矢,B则称为单位副法矢量。对于一般参数f,切矢、法矢关系如下P=-,称为曲率半径。又B(S)T(S)=0,两边对$求导矢得:B(S)T(S)+B(S)T(S)=0,将T=AJVk代入上式,并注意到8(s)N(s)=0,得到B(S)T(S)=(),因为W9/=1,所以两边对S求导得到B(5)(5)=O,可见B(S)既垂直于T(s),又垂直于8(s),故有8(s)N(S),再令E(S)=-加(s),7称为挠率。挠率的绝对值等于副法线方向对于弧长的转动率。挠率大于0、等于0和小于0分别表示曲
8、线为右旋空间曲线、平面曲线和左旋空间曲线。对于一般参数,可知曲率和挠率Z的计算公式如下:AA(PcQ)=;:;(I-H)p1(r)3(PXPs)2光顺:通俗含义指曲线的拐点不能太多,因为曲线拐来拐去,就会不顺滑。对平面曲线而言,相对光顺的条件是:a)具有二阶几何连续性(G?);b)不存在多余拐点和奇异点;C)曲率变化较小。连续性:一条复杂曲线时通常由多段曲线组合而成,曲线段之间的光滑连接问题即为连续性问题。曲线间连接的光滑度的度量有两种:一种是函数的可微性,把组合参数曲线构造成在连接处具有直到阶连续导矢,即阶连续可微,这类光滑度称之为C或阶参数连续性。另一种称为几何连续性,组合曲线在连接处满足
9、不同于。的某一组约束条件,称为具有阶几何连续性,简记为G”。曲线光滑度的两种度量方法并不矛盾,C1连续包含在Gn连续之中。对于如图Id所示二条曲线P和。,参数f0J,若要求在结合处达到G连续或连续,即两曲线在结合处位置连续,则需P(I)=Q(0)。若要求在结合处达到G1连续(如图1-5所示),就是说两条曲线在结合处满足G连续的条件下,并有公共切矢:Q(0)=aP()(a0)(1-12)当=1时,G1连续就成为C1连续。若要求在结合处达到G?连续(如图1-6所示),即两条曲线在结合处满足G1连续的条件下,并有公共曲率矢:P(I)XP(1)=Q(O)XQ(O)pd)3,(0)3代入(1-12)得:
10、P(1)Q(O)=2A(1)P(1)(1-14)此式可进一步表示为:(O)=2p(1)+7A(1)(1-15)即。(0)在P(I)和尸确定的平面内。S为任意常数。当=1,/=0时,G?连续就成为C?连续。在弧长作参数的情况下,Cd连续保证G?连续,C1连续能保证G?连续,但反过来不行。也就是说Cn连续的条件比Gn连续的条件要苛刻。1.3 曲线曲面生成插值:给定一组有序的数据点6,j=0,1,,构造一条曲线顺序地通过这些数据点,称为对这些数据点进行插值,所构造的曲线称为插值曲线。常用插值方法有线性插值、抛物线插值等。逼近:构造一条曲线使之在某种意义下最接近给定的数据点,称为对这些数据点进行逼近,
11、所构造的曲线为逼近曲线。拟合:插值和逼近统称为拟合(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基函数:约定:On=1,0!=1;=0,8o(f)=1;=1,BOIa)=IT,11(t)=ti=2,%(r)=(1)2,%(f)=2f(1-f),B22(Z)=r2;n=3f线3Q)=(I-
12、I)3,13(0=3r(1-/)2,B23(Z)=32(1-f),B33(Z)=Z3;如图2-1所示为一条=3的三次Bezier曲线实例。三次Bezier曲线可以表达式为(2-4)P=PiBj3,t0,1Z=O其中,B03(Z)=(1-r)3,Bu(0=3r(1-02g,3。)=3/(IT),B33(Z)=Z3,因此其矩阵表达式为如果用上式求R(P)的值,则取Pj的X坐标进行计算,同理可求P*f),EQ),具体如下:P4)=%Bu(r)B2,3PVa)=瓦式f)/B23(r)=%s%1%&F%,31%,Gj儿匕心由上式可以看到Betnstain基函数仅需计算一次。2.1.2 Betnstein
13、基函数本节主要介绍Betnstein基函数的性质,其性质如图2-2所示。(1)正性(2-6)0/=0,10r(0,1),=1,2,w-1;(2)端点性质%()=(Z=O)(2-7)otherwise(i=)otherwise(3)权性%)=1f=0t(0,1)(2-8)由二项式定理可知:n=cy(1-f=(1-r)+r=11=0f=0图2-2BCtnStein基函数的性质(4)对称性4Q)=B(2-9)因为纥,=C;R_(1_d=Cr(ITrT=Bi“(1T)(5)递推性纥“+),P(Y)=n(n-1)(Pn-2Pn_1+Pn_2)上式表明:2阶导矢只与相邻的3个顶点有关,事实上,r阶导矢只与(r+1)个相邻点有关,与更远点无关。(2)对称性颠倒控制点顺序,即控制顶点P:=Pn.ii=0,),构造出的新Bezier曲线,则与原Bezier曲线形状相同,仅走向相反。因为:c*=6*%(f