计算机图形学第五章曲线和曲面优秀课件.ppt
计算机图形学第五章曲线和曲面第1页,本讲稿共50页5.2 曲线分析1)曲线上的活动坐标架设曲线为P(t)=x(t),y(t),z(t),则:n切矢量:P(t)(当t为弧长时是单位矢),单位切矢记为T。n法矢量:过曲线上任意一点,以切矢为法线的平面称为法平面。l主法矢:当以弧长为参数时,切矢的导矢是一个与切矢垂直的矢量,其单位矢称为主法矢,记为N。l副法矢(记为B)B=TNT(单位切矢)、N(主法矢)和B(副法矢)构成了曲线上的活动坐标架;N、B构成的平面称为法平面;N、T构成的平面称为密切平面(它与曲线最贴近);B、T构成的平面称为从切平面。对于一般参数t,有:第2页,本讲稿共50页2)曲线的曲率曲率和挠率挠率n曲率:由于T(s)与N平行,令T(s)=N,(kappa)称为曲率,其几何意义是曲线的单位切矢对弧长的转动率。恒为正,又称为绝对曲率。曲率的倒数=1/,称为曲率半径。n挠率:由B(s)(s)=0,两边求导,可得:B(s)(s)=0;又由|B(s)|2=1,两边求导,可得:B(s)B(s)=0;所以,B(s)N(s),再令B(s)=-N(s),(tau)称为挠率,其几何意义是副法矢方向对于弧长的转动率。挠率大于0、等于0和小于0分别表示曲线为右旋空间曲线、平面曲线和左旋空间曲线。对于一般参数t,可以推导出曲率和挠率的计算公式如下:TNB注意:曲率和挠率是几何量,其值与参数的选择无关。第3页,本讲稿共50页示例:左旋右旋螺旋线当圆柱轴线平放时,用手握住圆柱并伸直拇指,拇指代表动点移动的方向,其余四个手指代表动点的转动方向,符合右手为右旋螺旋线,如图()所示;符合左手为左旋螺旋线,如图(b)所示。()右旋螺旋线 (b)左旋螺旋线 第4页,本讲稿共50页5.3 曲面与曲面分析1)曲面的表示P=P(u,v),u1uu2,v1vv2固定其中一个参数例如v=v0,则曲面变成单参数u的矢函数P=P(u,v0),表示曲面上的一条以u为参数的参数曲线,简称u线。类似地,P=P(u0,v)表示曲面上的一条v线。所以,参数曲面上存在两组等参数线,即一组u线和一组v线。在曲面上一点P(u0,v0)处,总存在一条u线和一条v线。u线在该点有一个切矢Pu(u0,v0),称为u向切矢。v线在该点也有一个切矢Pv(u0,v0),称为v向切矢。这两个切矢的矢量积,决定了该点处的曲面法矢n(u0,v0)。将曲面上的每一点P(u,v),沿法矢方向n移动一个固定距离d,就得到该曲面的一个等距面P(u,v)=P(u,v)+dn(u,v)。第5页,本讲稿共50页如果曲面的两族等参数线:u线与v线中,有一组是直线,则称该曲面为直纹面。它可以看成直线段在空间连续运动扫出的轨迹。直纹面上的直线族称为母线。在直纹面上取一条曲线与所有母线相交,称之为准线。在准线=(u)每一点的母线方向上给定一个非零矢量(u)。则直纹面方程可以写为P(u,v)=(u)+v(u)。当(u)为固定时,直纹面为柱面。当(u)为变矢量,且准线缩为一点时,直纹面为锥面。机翼表面通常为直纹面。如果直纹面沿它的每一条母线只有唯一的切平面(或者说沿直母线,法向量平行),则称该直纹面为可展曲面。可展曲面可以通过简单的弯曲来展平。圆柱面和圆锥面都是可展的,曲线的切线曲面(曲线上所有点的切线的集合)也是可展的,但机翼的直纹面就不一定。2)直纹面与可展曲面单叶双曲面和双曲抛物面都不是可展曲面第6页,本讲稿共50页3)曲面的曲率性质研究曲面的弯曲程度,通常是通过研究法截线的曲率来实现的。通过曲面上一点法线的平面与曲面的交线称为法截线,法截线的曲率n称为法曲率,围绕法线旋转的每一个平面会产生一个法截线,因此曲面上一点的法曲率有无穷多个,这些法曲率的最大值和最小值称为主曲率,而且两个主曲率所在的方向是相互垂直的,称为主方向,其它方向的法曲率可以由主曲率计算:n 1cos2 2sin2其中为该方向与主曲率的1所在主方向的夹角。两个主曲率的乘积称为高斯曲率(Gaussian)或全曲率、总曲率。两个主曲率的均值称为平均曲率或中曲率。如果曲面上的一条曲线,其切线方向总是在一个主方向,这样的曲线称为曲率线。第7页,本讲稿共50页5.4 曲线的插值、逼近与拟合 插值:给定一组有序的数据点Pi,i=0,1,n,构造一条曲线顺序通过这些数据点,称为对这些数据点进行插值,所构造的曲线称为插值曲线。逼近:构造一条曲线使之在某种意义下最接近给定的数据点,称为对这些数据点进行逼近,所构造的曲线称为逼近曲线。拟合:插值与逼近统称为拟合。第8页,本讲稿共50页多项式插值:通过n1个数据点Pi(i0,1,n)和对应的参数ti(i0,1,n)可以构造n次插值多项式其中ai是与Pi维数一致的向量,例如三维。多项式逼近:随着控制点增多,多项式的次数不断增高,摆动剧烈,稳定性降低。而且常常数据点是带有误差的,没有必要严格通过,这时可以用低阶多项式进行逼近,逼近时采用的方法通常是最小二乘法:第9页,本讲稿共50页为一组有序的数据点(P0,P1,Pn)赋予相应的一组参数值(t0t1tn,每个参数点称为节点)称之对这组数据点实行参数化。对一组数据点(P0,P1,Pn)实行参数化的常用方法有以下几种:均匀参数化(等距参数化),在型值点不均匀时不理想。累加弦长参数化,考虑到弧长因素:向心参数化法,又称平方根法:修正弦长参数化法,在四种方法中效果最好:5.5 参数化 第10页,本讲稿共50页5.6 几何连续性 设计一条复杂形状曲线时,一般是通过多段简单曲线的拼接完成的。这就涉及曲线在拼接处的连续性问题。拼接曲线的连续性(或称光滑性)有两类度量方式:n一类称为参数连续性:如果曲线函数对表达它的特定参数(并非所有参数)具有直达n阶的连续导矢,则称该曲线具有n阶参数连续性,简称Cn连续。n另一类称为几何连续性:如果曲线函数对弧长参数具有直达n阶的连续导矢,则称该曲线具有n阶几何连续性,简称Gn连续。曲线光滑度的两类度量并无因果关系,都能描述曲线的光滑性。由于弧长是几何量,所以几何连续性更能够代表曲线的光滑性。第11页,本讲稿共50页5.6 几何连续性(续)对于一般参数表达的多项式曲线的拼接,要想达到G2连续,在连接点处必须满足:G0连续:即两段曲线首尾相接。G1连续:要求两条曲线在首尾相接处的切矢方向相同。因为两条曲线对弧长参数的导数都是单位矢,再加上方向相同,就意味着两条曲线在首尾相接处的弧长参数一阶导矢连续。G2连续:要求曲率相同,并且副法矢方向相同。曲率相同保证了在首尾相接处弧长参数的二阶导矢大小相同,副法矢方向相同又保证了弧长参数的二阶导矢方向(主法矢)相同,即在首尾相接处弧长参数的二阶导矢连续。对一般参数来说,主法矢是副法矢与切矢的矢量积。第12页,本讲稿共50页5.7 参数三次样条曲线(插值)通过n+1数据点Pi(i0,1,n)的一条分段连续的3次多项式曲线,如果在两个数据点之间表示为一个三次多项式,各段多项式在数据点处(连接处)保持C2连续性,这种曲线称为参数三次样条曲线,这种样条曲线使用非常普遍。具体实现时,设其参数分割为u0u10,其余wi0,以防止分母为零、保留凸包性质及曲线不致权因子而退化为一点;节点矢量为Tt0,t1,ti,tn+k+1,节点个数是m=n+k+2(n1为控制项的点数,k为B样条基函数的次数)。第41页,本讲稿共50页2)NURBS曲线有理基函数的性质Ri,k(t)具有k次B样条基函数类似的性质:第42页,本讲稿共50页3)NURBS曲线的性质 NURBS曲线与B样条曲线也具有类似的几何性质(1)局部性质:k次NURBS曲线上参数为tti,ti+1)tk,tn+1)的一点P(t)至多与k+1个控制顶点Pj及权因子j,j=i-k,i-k+1,i有关,与其它顶点及权因子无关;另一方面,若移动k次NURBS曲线的一个控制顶点Pi或改变所联系的权因子,将仅仅影响定义在区间ti,ti+k+1)tk,tn+1)上那部分曲线的形状,对NURBS曲线的其它部分不发生影响。(2)变差减小性质。(3)强凸包性:定义在非零节点区间ti,ti+1)tk,tn+1)上那一曲线段位于定义它的k+1个控制点Pi-k,Pi-k+1,Pi的凸包内。整条NURBS曲线位于所有定义各曲线段的控制顶点的凸包的并集内。所有权因子大于零保证凸包性质的成立。(4几何不变性及仿射不变性。(5)在曲线定义域内有与有理基函数同样的可微性。(6)如果某个权因子i为零,那么相应控制顶点Pi对曲线没有影响。(7)若i,则当tti,ti+k+1)时,P(t)=Pi。(8)非有理与有理Bezier曲线和非有理B样条曲线是NURBS曲线的特殊情况。第43页,本讲稿共50页4)NURBS曲线的几何意义以二维NURBS曲线为例:根据每个数据点(xi,yi)(i=0,1,n)的权值wi将它表示为其次坐标(wixi,wiyi,wi)。在其次坐标空间中,作出数据点的B样条曲线:显然,将得到的三维空间中的B样条曲线,从齐次坐标返回原来的二维空间,得到的就是NURBS曲线。很容易将二维情况推广到n维,这种几何解释也被称为NURBS曲线的齐次坐标表示。据此,可以通过研究其次坐标空间中的B样条曲线性质,研究NURBS曲线。第44页,本讲稿共50页5.13 NURBS曲面 1)NURBS曲面的定义 由双参数变量、分段有理多项式定义的NURBS曲面是:Pij(i=0,1,m,j=0,1,n)是拓扑矩形域上的特征网格控制点列,ij是相应控制点的权因子,规定四角点处用正权因子,即00,m0,0n,mn0,其余ij 0。Ni,p(u),i=0,1,m和Nj,q(v),j=0,1,n分别为u向p次和v向q次的B样条基函数,它们分别由u向与v向的节点矢量U=u0,u1,um+p+1与V=v0,v1,vn+q+1,按de Boor-Cox公式计算。Ri,p;j,q(u,v)(i=0,1,m,j=0,1,n)是双变量有理基函数:第45页,本讲稿共50页2)NURBS曲面有理基函数的性质NURBS曲面有理基函数与非有理B样条基函数相类似的性质,例如:(3)可微性:在每个子矩形域内所有偏导数存在,在重复度为r的u节点处沿u向是p-r次可微,在重复度为r的v节点处沿v向是q-r次可微;(4)NURBS曲面双变量有理基函数是双变量B样条基函数的推广。即当所有ij=1时,Ri,p;j,q(u,v)=Ni,p(u)Nj,q(v)第46页,本讲稿共50页3)NURBS曲面的性质 NURBS曲面与非有理B样条曲面有相类似的几何性质,大多数NURBS曲线的性质可以直接推广到NURBS曲面,例如:(1)局部性质(2)凸包性质(3)几何不变性及仿射不变性。(4)沿u向在重复度为r的u节点处是Cp-r参数连续的;沿v向在重复度为r的v节点处是Cq-r参数连续的。(5)权因子的几何意义及修改、控制顶点的修改等与NURBS曲线类似。第47页,本讲稿共50页5.14 NURBS方法的主要优点(1)既为标准的解析形状,也为自由型曲线曲面的精确表示与设计提供了一个公共的数学形式。(2)由操纵控制顶点及权因子,为各种形状设计提供了充分的灵活性(3)计算稳定且速度相当快。(4)与B样条方法一样,具有明显的几何解释和强有力的几何配套技术。(5)几何不变性及仿射不变性。(6)非有理B样条、有理与非有理Bezier方法可以处理为它的特例。第48页,本讲稿共50页5.15 NURBS存在的问题(1)需要额外的存储以定义传统的曲线曲面。例如,空间圆需7个参数(圆心、半径、法矢),而NURBS定义空间圆需38个参数。(2)权因子有可能不合适。(3)有些技术用传统的形式比用NURBS工作更好。(4)某些基本算法,例如反求曲线曲面上点的参数值,存在数值不稳定问题。第49页,本讲稿共50页例:NURBS对圆的表示圆是二次曲线,所以使用二次NURBS表示圆。NURBS表示圆有多种方法,包括下图中的方法,即七顶点构成的外切正方形表示整圆:U0,0,0,1/4,1/2,1/2,3/4,1,1,1p1;w1=1/2p2;w2=1/2p3;w3=1p4;w4=1/2p5;w5=1/2p0=p6;w0=w6=1一共38个参数,注意:空间点是三维坐标第50页,本讲稿共50页