计算机辅助几何设计.ppt
第5章 计算机辅助几何设计,5.1 自由曲线5.2 自由曲面,CAD中由已知曲线或曲面的数学方程生成的曲线曲面称为规则曲线曲面,常用隐函数或二次方程的显函数表示。但在汽车、轮船、飞机、模具、艺术品等产品设计中,存在大量的不能用二次曲面描述的曲线曲面,这类曲线曲面称为自由曲线(Free Form Curves)和自由曲面(Free Form Surfaces),这是计算机辅助几何设计研究的主要几何形状。,5.1 自由曲线,5.1.1 曲线曲面描述的基本原理5.1.2 Hermite曲线5.1.3 Bezier曲线5.1.4 B样条曲线5.1.5 非均匀有理B样条(NURBS)曲线,5.1.1 曲线曲面描述的基本原理,自由曲线可以是由一系列的小曲线段连接而成,自由曲面可以是由无数个小的曲面片拼合而成。因此,曲线曲面的研究重点是曲线段或曲面片的描述及其连接拼合方法。,1.几何设计的基本概念,在自由曲线和曲面描述中常用三种类型的点:(1)特征点(控制顶点):用来确定曲线曲面的形状位置,但曲线或曲面不一定经过该点。(2)型值点:用于确定曲线或曲面的位置与形状并且经过该点。,在曲线曲面设计中,通常是用一组离散的型值点或特征点来定义和构造几何形状,并且所构造的曲线曲面应满足光顺的要求。这种曲线曲面定义的主要方法是插值和逼近。(1)插值:给定一组精确的数值点,要求构造一个函数,使之严格地依次通过全部型值点,且满足光顺的要求。(2)逼近:对于一组给定的控制顶点,要求构造一个函数,使之在整体上最接近这些控制点而不一定通过这些点。(3)光滑(smooth):从数学意义上讲,光滑是指曲线或曲面具有至少一阶连续导数。(4)光顺(fair):至今仍是一个模糊的概念,尚无统一的标准。一方面有主观的因素,另一方面与应用背景相关。但仍有一些客观标准及处理方法。,曲线曲面可以用隐函数、显函数或参数方程表示。用隐函数表示不直观,作图不方便(如ax+by+c=0);用显函数表示存在多值性(如x2+y2=r2)和斜率无穷大(如y=mx+b)等问题。此外,隐函数和显函数只适合表达简单、规则的曲线曲面。自由曲线曲面多用参数方程表示,相应地称为参数曲线或参数曲面。空间的一条曲线可以表示成随参数t变化的运动点的轨迹,其矢量函数为:P(t)=P(x(t),y(t),z(t),t 的范围是 0,1同理,空间中的一张曲面可用参数(u,v)表示为:P(u,v)=P(x(u,v),y(u,v),z(u,v),(u,v)的范围是 0,10,1,2.曲线曲面的数学描述方法,用参数表示曲线曲面的优点:(1)具有几何不变性。某些几何性质不随一定的坐标变换而变化的性质称为几何不变性。曲线形状本质上与坐标系的选取无关。(2)可以处理无穷大的斜率。dy/dx=(dy/dt)/(dx/dt)(3)参数方程将自变量和因变量完全分开,使得参数变化对各因变量的影响可以明显地表示出来。(4)可以处理多值曲线。(5)规格化参数变量,使其相应的几何分量是有界的。由于参数限制在0到1的闭区间之内,因而所表示的曲线总是有界的,不需另设其他数据来定义其边界。(6)对曲线曲面形状控制的自由度更大。如一条二维三次曲线的显式表示为:,(7)易于用矢量和矩阵表示几何量,从而简化了计算。,其中只有4个系数可控制曲线的形状,而对于其参数表示为:,其中有8个系数可用来控制曲线的形状。,5.1.2 Hermite曲线,Hermite曲线是给定曲线段的两个端点坐标以及两端点处的切线矢量来描述曲线。空间一条三次参数曲线可以表示为:,该曲线的矢量表达式为:,应用端点P0和P1,以及端点切矢P0和P1,可得:,矩阵表达式为:,于是,,5.1.3 Bezier曲线,1962年,Bezier提出了一种自由曲线曲面的设计方法,称为Bezier方法。其具体设计过程是:从模型或手绘草图上取得数据后,用绘图工具绘出曲线图,然后从这张图上大致定出Bezier特征多边形各控制顶点的坐标值,并输入计算机进行交互的几何设计,调整特征多边形顶点的位置,直到得出满意的结果为止;最后用绘图机绘出曲线样图。,1.Bezier曲线定义,在空间给定n+1个控制顶点Pi(I=0,1,n),称下列 参数曲线为n次Bezier曲线。,称为伯恩斯坦基函数(Bernstein Basis)。,一般称折线,为P(t)的控制多边形;称,各点为P(t)的控制顶点。,(1)三次Bezier曲线,常用 的三次Bezier曲线,由4个控制顶点确定。容易算出,与其对应的4个Bernstein基函数为:,相应的Bezier 曲线为,(2)二次Bezier曲线,二次Bezier曲线由三个控制顶点确定,此时,相应的曲线表达式为,对应于一条抛物线。,(3)一次Bezier曲线,一次Bezier曲线由两个控制顶点确定,此时,相应的曲线表达式为,这是一条连接P0和P1的直线段。,2.Bezier曲线的程序设计,实际应用的主要是三次Bezier曲线。利用它的参数表达式在区间(0,1)内取多个值,例如100,计算出这100个值对应的坐标点,依次连接这些点就得到一条Bezier曲线。,为程序设计方便,改写曲线的表达式为:,注意:再添加一个z 坐标,就可得到空间Bezier曲线。,3.Bezier曲线的性质,在Bernstein基函数,中,n为基本曲线的次数,i为基函数的序号。由排列组合和导数运算规律可以推导出Bernstein基函数的如下性质:,(1)正性(非负性):,(2)权性:,(3)对称性:,(4)导数性质:,(5)递推性质:,Bezier曲线的一些性质:,1)端点性质,曲线经过特征多边形的首末点。因为,曲线P(t)在P0点与边P0P1相切,在Pn 点与,2)对称性,由Bernstein基函数的对称性可知,控制点的次序完全颠倒过来后,曲线的形状不变,但走向相反。这表明,同一特征多边形定义的Bezier曲线是惟一的.,相切。因为,(3)凸包性,所以,P(t)是P0,P1,Pn凸线性组合。这证明Bezier曲线完全被包在其特征多边形的凸包内。,所以,控制顶点P0,P1,Pn的凸包为:,(5)交互能力,(4)几何不变性,由给定控制顶点所确定的Bezier曲线的形状与坐标系的选取无关。此性质就是Bezier曲线的几何不变性。,几何不变性对几何图形来说是一种很重要的性质。在计算机图形学中经常要作坐标变换,如果同一表示式在不同坐标系下表示不同的曲线,则会给图形变换带来很多不便之处。,控制多边形P0P1Pn大致地勾画出Bezier曲线P(t)的形状。要改变P(t)的形状,只要改变P0,P1,Pn的位置即可。,(6)变差减小性,(7)保凸性,如果Bezier曲线P(t)的控制多边形P0P1Pn是一平面图形,则该平面内的任意直线与P(t)的交点个数不多于该直线与控制多边形P0P1Pn交点的个数,这一性质称为变差减小性。此性质说明Bezier曲线比控制多边形所在的折线更光顺。,如果平面上的凸控制多边形能导致所生成的曲线为凸曲线,则称这个曲线生成的方法具有保凸性。我们将控制多边形的终点与起点连起来,如果这样形成一个闭的凸多边形,则相应的Bezier曲线是一个凸的平面曲线。此性质就是Bezier 曲线的保凸性。,4.Bezier曲线的拼接与反算,Bezier曲线的次数是由其控制顶点确定的。常用的三次Bezier曲线由四个控制顶点确定。,多控制点(n4)的三次Bezier曲线存在着几条曲线的拼接问题,其关键问题是如何保持拼接处的连续性。不同的问题在连接点处对连续性有不同的要求,常用到的有以下几种:,连续,参数连续:切矢同向且模长相等.几何连续:切矢同向.,1)拼接,P1,P0,P3=Q0,Q2,Q1,P2,Q3,设P(t)是Pi(i=0,1,2,3)确定的三次Bezier曲线;Q(t)是Qi(i=0,1,2,3)确定的三次Bezier曲线.,P3=Q0,满足,1)两曲线在连接点达到一阶导数连续的条件为,0=t=1,即,亦即,P2、P3(Q0)和Q1共线,且P2、Q1在P3的异侧。,2)两曲线在连接点达到二阶导数连续的条件为,由,可得,根据以上条件,可以调整P(t)和Q(t)这两段曲线,使得在连接点处达到一阶几何或导数连续:,步骤1:平移多边形,使Q0与P3重合。,步骤2:围绕Q0转动多边形,使,与,平行且同向(或模长相等)。,P1,P0,P3=Q0,Q2,Q1,P2,Q3,所谓曲线控制顶点的反算是指由曲线上的一系列点(称 之为型值点)反求出该曲线的一系列控制顶点的过程。,如果给定 n+1个型值点,要求一系列控,制点,由这些控制点定义的一条Bezier曲线通过已知的型值点,这与平常给定控制点求型值点的过程恰好相反。,设所求的控制点为,,它定义的Bezier,曲线为P(t),满足,,于是,注意:t的取法不同,反求的控制顶点不同。,2)反算,5.1.4 B样条曲线,Bezier曲线是通过逼近特征多边形而获得曲线的,存在的不足是:1)缺乏局部修改性,即改变某一控制点对整个曲线都有影响.2)n较大时,特征多边形的边数较多,对曲线的控制减弱。,1972年,Riesenfeld等提出了B样条曲线。,用B样条基函数代替Bernstein基函数;逼近特征多边形的精度更高.多边形的边数与基函数的次数无关。具有局部修改性.,设有控制顶点P0,P1,Pn,则k阶(k-1次)B样条曲线的数学表达式为:,式中Ni,k(t)是k-1次B样条曲线的基函数.它由一个结点向量递归定义,它仅在某个局部不等于零,因而使B样条曲线具有局部可修改性.,三次均匀B样条曲线,对于n+1个控制顶点,,每四个顺序点,1.三次均匀B样条曲线的表达式,一组构造相应的一段三次B样条曲线:,其中,N0,4(t)=1/6(1-t)3,N1,4(t)=1/6(3t3-6t2+4),N2,4(t)=1/6(-3t3+3t2+3t+1),N3,4(t)=1/6t3,所以,Pi(t)的矩阵表达式为,根据上式可以在平面直角坐标系中设计三次B样条曲线生成的程序.,Pi(0),Pi+3,Pi+2,Pi+1,Pi,Pi(0),Pi(1),Pi(1),2.三次均匀B样条曲线段的几何特性、拼接,3.三次均匀B样条曲线的边界控制与反算,P0,Pn-1,P1,P-1,Pn,Pn+1,在始端和终端各增加一个顶点,P-1,和,Pn+1,使,P-1 P0=P0 P1,Pn-1Pn=PnPn+1,则P0(0)=P0,P0=P1-P0.终点具有类似的特性.,边界处理在实际应用中,往往需要所设计的B样条曲线通过控制多边形的起点和终点,这就需要对曲线的边界进行处理.有多种处理方法,现介绍一种:,2)控制顶点的反求,在实际应用中往往是知道曲线上的型值点,而并不知道特征多边形顶点的位置,为构造B样条曲线,就需要由这些型值点反求出特征多边形的顶点,这就是B样条曲线顶点的反求.,设已知型值点列Qi(i=1,2,n-1),要求一条三次B样条曲线经过这些点,求出这条曲线的控制顶点Pi(i=0,1,n).由曲线的端点性质可得下列线性方程组:Pi-1+4Pi+Pi+1=6Qi(i=1,2,n-1)再补充两个边界条件就可得到唯一解.例如,已知Q1和Qi-1处的切矢,则有,把它们写成矩阵形式为,5.1.5 非均匀有理B样条(NURBS)曲线,它提供了解析曲线(如圆锥曲线)和自由曲线统一的数学描述,便于工程数据库的管理和应用.NURBS曲线的定义:给定n+1个控制点Pi(i=0,1,n)及其权因子Wi(i=0,1,n),则k阶(k-1次)NURBS曲线的表达式为:,缺点:计算量大、当权因子为零和负值时容易引起计算的不稳定,导致曲线畸变,因此使用NURBS时应有适当的限制以保证算法的稳定性。,5.2 自由曲面,5.2.1 参数曲面的概念 5.2.2 双三次曲面片的数学表示 5.2.3 曲面的反算、拼接和互化 5.2.4 新的自由曲面造型技术,5.2.1 参数曲面的概念,P(u,w)=x(u,w),y(u,w),z(u,w)0=u,w=1,0,1,1,u,w,(u,w),u和w向切矢:,四个角点的u向和w向切矢为:Pu(0,0)、Pu(1,0)、Pu(0,1)、Pu(1,1)、Pw(0,0)、Pw(1,0)、Pw(0,1)、Pw(1,1).,混合偏导矢(扭矢):,四个角点的扭矢为:,Puw(0,0)、Puw(1,0)、Puw(0,1)、Puw(1,1),三次曲面的数学表示 双三次曲面片的代数形式为,其矩阵表达式为,其中,,构造双三次曲面片的的关键是确定矩阵方程中的系数矩阵。,1.孔斯(Coons)曲面由曲面四个角点、每个角点处的两个切矢及四个角点处的混合偏导矢(扭矢)确定曲面。,Coons曲面的特点:属于构造插值曲面的方法,曲面构造的几何意义明确且曲面的表达式简洁,主要用于构造那些通过给定型值点的曲面,而不适用于进行曲面的设计。这是因为:在曲面设计的初级阶段,设计者对其所设计产品的外形仅有一个非常粗略的概念。为得到满意的外形,需要不断地修改型值点的位置。上述方法对位置尚未最后确定的型值点构造插值曲面,显然是不合理的。由于扭矢的几何意义不很明显,工程设计人员难以把握,因此难以提供精确的角点信息,使曲面的形状不易控制。不具备局部性。修改任意一个型值点都会影响整张曲面的形状,而其形状变化又难以预测。,2.Bezier曲面 用控制多边形网格(特征网格)替代点矢、切矢与扭矢构造Bezier曲面。,双三次Bezier曲面片,可以认为控制网格是曲面P(u,w)大致形状的勾画;P(u,w)是对控制网格的逼近。,Bezier曲面的特点:Bezier曲面是以逼近为基础的曲面设计方法。它先通过控制顶点网格勾画出曲面的大体形状,然后通过修改控制顶点的位置修改曲面的形状。这种构造方法比较直观,易于为工程设计人员所接受,因而获得了广泛的应用。这种方法不具有局部性,即修改任意一个控制顶点都会影响整张曲面的形状。,3.B样条曲面用控制多边形网格(特征网格)替代点矢、切矢与扭矢构造曲面,双三次均匀B样条曲面片,注意:Ni,3(t)为3次均匀B样条基函数.,特点:B样条曲面构造方法是Bezier曲面方法的推广,它用B样条基函数代替Bezier方法中的Bernstein基函数来反映控制顶点对曲面形状的影响。它在保留了Bezier曲面设计方法几乎所有优点的同时,解决了Bezier曲面设计中存在的局部性修改问题。,4.非均匀有理B样条曲面(NURBS),给定一张(m+1)x(n+1)的网格控制点 Pij(i=0,1,m;j=0,1,n),以及各控制网格点的权值Wij(i=0,1,m;j=0,1,n),则其确定的NURBS曲面的表达式为:,优点:,规则曲面与自由曲面精确的统一的数学表示。,有多种方式定义曲面,但构造这些曲面的数学基础以及在造型系统中存储它们的方法是相同的。NURBS方法已成为众多CAD/CAM系统的基本几何表达式和数据交换标准。,5.2.3 曲面的反算、拼接和互化,反算1)实际应用背景2)反算算法 第1步:将一个参数方向上的型值点(如u方向)依次按曲线反算方法反算出一系列点;第2步:沿另一个参数方向(如w方向),将第一次反算得到的点再按曲线反算方法反算出另一系列点,第二次反算得到的点即为曲面的控制点。,2.拼接,以双三次自由曲面为例,相邻两片曲面光滑拼接的条件为:1)对Coons曲面:两张双三次Coons曲面片共边界且在相邻两角点处的坐标、u向切矢、w向切矢、扭矢分别相等。2)对Bezier曲面:两张双三次Bezier曲面片在相邻边界的相邻的控制网格共边且在同一平面上。3)对B样条曲面:由于每4x4即16个控制点定义一片双三次曲面,如果定义B样条曲面的控制顶点矩阵有M行N列(M=4,N=4),则可以定义(M-3)(N-3)个曲面片。只要4x4的子矩阵在控制顶点矩阵中是依次向右或依次向下移动的,就能自动保证左右相邻的曲面或上下相邻的曲面片二阶连续。,3.互化,双三次Coons曲面、双三次Bezier曲面和双三次B样条曲面之间可以相互转化。,5.2.4 新的自由曲面造型技术,1.发展现状与存在的问题 四边域曲面的构造比较成熟。目前,主要是 基于四边域的CAD/CAM系统。采用NURBS方法作为基本几何表达形式和数 据交换标准 N(N大于等于3但不等于4)边域曲面的造型、曲面求交、光顺等问题尚未根本解决。,2.一些新的造型方法 基于物理的造型 偏微分方程(PDE)造型 小波造型,