1、 xmu1.课程简介 (Computer Aided Geometric Design,简称CAGD)这一术语1974年由巴恩希尔(Barnhill)与里森费尔德(Riesenfeld)在美国犹他(Utah)大学的一次国际会议上提出,以描述计算机辅助设计(CAD)的更多的数学方面,为此加上“几何”的修饰词,在当时,其含义包括曲线、曲面和实体的表示,及其在实时显示条件下的设计,也扩展到其他方面,例如四维曲面的表示与显示。自此以后,计算机辅助几何设计开始以一门独立的学科出现。计算机辅助几何设计计算机辅助几何设计 xmu 1971年英国的福里斯特(Forrest)曾给出了含义与CAGD大致相同的另一
2、名称计算几何计算几何(Computational Geometry),定义为形状信息的计算机表示、分析与综合。但是由于“计算几何”同时也用于另外一门介绍关于几何搜索、凸包、近似、相交等算法的学科,因此为避免“计算几何”这一名称的二义性,这里沿用计算机辅助几何设计这一学科名称。计算机辅助几何设计 xmu1.1 CAGD的研究对象与核心问题计算机辅助几何设计 本学科是随着航空、汽车等现代工业的发展与计算机的出现而产生与发展起来的一门新兴学科。其 。一类仅由初等解析曲面初等解析曲面(例如平面、圆柱面、圆锥面、球面、圆环面等)组成,大多数机械零件属于这一类;第二类由以复杂方式自由变化的曲线曲面即所谓自
3、由自由型曲线曲面型曲线曲面组成,例如飞机、汽车、船舶的外形零件,而这一类形状单纯用画法几何与机械制图是不能表达清楚的。主要研究对象是工业产品的几何形状主要研究对象是工业产品的几何形状 xmu图例:工业产品中的解析曲面和自由型曲面滑动轴承座及轴承盖等机械零件,由若干解析曲面拼接而成。计算机辅助几何设计汽车车身由若干自由型曲面拼接而成,无法用解析曲面表示。xmu计算机辅助几何设计核心的问题是核心的问题是 在工业上,人们一直在寻求用数学方法惟一地定义自由型曲线曲面的形状以便由计算机来完成大量的工作。形状的几何定义为所有的后置处理(如数控加工、物性计算、有限元分析等)提供了必要的先决条件。在形状信息的
4、计算机表示、在形状信息的计算机表示、分析与综合中,分析与综合中,计算机表示,即要计算机表示,即要找到既适合计算机处理且有效地满足形状表示与找到既适合计算机处理且有效地满足形状表示与几何设计要求,又便于形状信息传递和产品数据几何设计要求,又便于形状信息传递和产品数据交换的交换的 形状描述的数学方法。形状描述的数学方法。xmu计算机辅助几何设计 自由型曲线曲面因不能由画法几何与机械制图方法表达清楚,成为工程师们首先要解决的问题。1963年,美国波音(Boeing)飞机公司的弗格森(Ferguson)首先提出将曲线曲面用参数方程表示。他最早引入参数三次曲线,构造了组合曲线和由四角点的位置矢量及两个方
5、向的切矢定义的弗格森双三次曲面片。弗格森所采用的曲线曲面的参数形式从此成为形状数学描述的标准形式。xmu计算机辅助几何设计 1964年,美国麻省理工学院(Massachusetts Institute 0f Technology,简称MIT)的孔斯(Coons)发表了一个具有一般性的曲面描述方法。但它与弗格森曲面片一样都存在形状控制与连接问题。同年,舍恩伯格(schoenberg)提出的样条函数提供了解决连接问题的一种技术,样条方法用于解决插值问题,在构造整体上达到某种参数连续阶(指可微性)的插值曲线、曲面时是很方便的,但不存在局部形状调整的自由度,而且样条曲线和曲面的形状难以预测。xmu计算
6、机辅助几何设计 法国雷诺(Renault)汽车公司的贝齐尔(Bezier)于1971年发表了一种由控制多边形定义曲线的方法。设计员只要移动控制顶点就可方便地修改曲线的形状,而且形状的变化完全在预料之中,贝齐尔方法简单易用,又出色地解决了整体形状控制问题。为CAGD的进一步发展奠定了坚实基础。贝齐尔方法仍存在连接问题,还有局部修改问题。稍早于贝齐尔,在法国雪铁龙(Citroen)汽车公司工作的德卡斯特里奥(de Casteljau)也曾独立地研究发展了同样的方法,但结果从未公开发表。xmu计算机辅助几何设计 德布尔(de Boor)于1972年给出了关于B样条的一套标准算法。美国通用汽车公司的戈
7、登(Gordon)和里森费尔德(Riesenfeld)于1974年将B样条理论应用于形状描述提出了B样条曲线曲面。它几乎继承了贝齐尔方法的一切优点,克服了贝齐尔方法存在的缺点,较成功地解决了局部控制问题,又轻而易举地在参数连续性基础上解决了连接问题。xmu计算机辅助几何设计 B样条方法较成功地解决了自由型曲线曲面形状的描述问题。然而,将其应用于圆锥截线及初等解析曲面却是不成功的,都只能给出近似表示。为此,1975年美国锡拉丘兹(Syracuse)大学的弗斯普里尔(Versprille)在他的博士论文中首先提出了有理B样条方法。以后,主要由于皮格尔(Piegl)、蒂勒(Tiller)和法林(Fa
8、rin)等人的功绩,至20世纪80年代后期,非均匀有理B样条(Non Uniform Rational B spline,简称NURBS)方法成为用于曲线曲面描述的最广为流行的数学方法。xmu1.3 其他一些重要进展与趋向计算机辅助几何设计 当今大部分CAD系统中的曲面都定义在矩形域上。其主要原因要追溯到曲面设计方法的最初应用上。当初设计的汽车与飞机机身等物体的外形曲面均具有内在的矩形结构。这导致早期系统都围绕矩形曲面片建立。后来,在一些更复杂的零件造型中,矩形曲面片与矩形拓扑的局限性就暴露出来。N边曲面片特别是三边曲面片成为一个广泛研究的课题。xmu计算机辅助几何设计 由于各种原因,有许多零
9、件未采用CAD系统描述,有必要自动地生成它们的几何模型,以便能像处理别的几何模型那样处理它们。这个准重构过程常被称为反向工程或逆向工程(reverse engineering)。在反向工程里,物理零件首先被测量,所生成的数字化数据随后通过某种算法被转换成为几何模型,这也是目前本学科领域内研究的热点问题之一。xmu计算机辅助几何设计 目前在本领域内出现、研究并取得进展的其他造型方法还有:自由变形造型、偏微分方程构造曲面、能量优化法曲线曲面造型、细分曲面造型等。它们部分目前已应用于商业CAD/CAM系统,可以预见不久的将来它们将获得更为广泛的应用。xmu图例:一个二次B样条曲线图案(细分方法)计算
10、机辅助几何设计自由型曲线自由型曲线 xmu图例:自由型曲面(CC细分法)计算机辅助几何设计 xmu2.曲线曲面参数表示的基础知识计算机辅助几何设计2.1 曲线和曲面的表示方法1显式表示y=f(x),z=f(x,y)。2隐式表示f(x,y)=0,f(x,y,z)=0。3参数表示 P(t)=x(t),y(t),z(t),S(u,v)=x(u,v),y(u,v),z(u,v)xmu计算机辅助几何设计 以上表示方法各有优缺点,显式表示中横纵坐标的对应关系直观明确,但是不能表示多值曲线。隐式表示坐标对应关系不直观,但是很容易判断一个点是在一条封闭曲线的内部还是外部。参数表示易于对曲线曲面上的点求值而且可
11、以表示多值曲线。本课程将主要采用参数表示法。xmu计算机辅助几何设计 参数表示的突出优点:(1)曲线的边界容易确定。(2)易于进行各种变换。(3)易于处理斜率为无穷大(如垂线)的情形。(4)表示能力强。(5)具备从低维到高维的推广能力。(6)一定条件下具有几何不变性。xmu计算机辅助几何设计 所谓几何不变性,简单地说就是方程所表示的曲线曲面与坐标系的选择无关。当用有限的信息决定一个形状(例如3个点决定一条抛物线)时,如果这些点的相对位置确定,所决定的形状也就固定下来,它不应随所取的坐标系的改变而改变。若采用显函数表示,就不具有这样的性质。例2.1给定三个点(0,0),(1,1/2),(2,0)
12、决定了唯一的二次多项式函数 其图形如图2.1所示 xmu计算机辅助几何设计图2.1 保持3点相对位置不变,当把这3点绕原点逆时针旋转45度后,则得如图所示的另一个二次多项式,表达式为:二者不但表达式不同,图形形状也不一样。xmu计算机辅助几何设计 如果对上面三点分别赋予参数u=0,0.5,1,则可得过这3点的一条惟一的参数二次曲线,表达式为:只要三点间的相对位置保持不变,无论将其怎样同时旋转和平移,所决定的参数二次曲线方程形式上都不会改变。虽然3个点的位置矢量的坐标分量发生了改变,但在方程中并不反映出来。方程所表达的曲线形状也保持不变。图形如图2.2所示 xmu计算机辅助几何设计图2.2但需要
13、指出的是,参数曲线曲面表示并不总是具有几何不变性。我们将在后面的课程中进一步讨论。xmu3.贝齐尔曲线与曲面 在产品零件设计中,许多自由曲面是通过自由曲线来构造的。对于自由曲线的设计,设计人员希望采用直观的具有明显几何意义的操作,使得设计的曲线能够逼近曲线的形状。贝齐尔曲线与曲面正好可以成为这样的工具。贝齐尔曾是法国雷诺汽车公司的工程师,其想法从一开始就面向几何而不是面向代数。1962年他提出这种独创的构造曲线曲面的方法,并以之为基 计算机辅助几何设计 xmu计算机辅助几何设计础,发展了一套自由型曲线曲面的设计制造系统,称之为UNISURF系统,于1972年正式投入使用。20世纪80年代中后期
14、,在国际CAD软件市场享有盛名的出法国达索(Dassault)飞机公司研制推出的CATIA系统,也广泛采用了贝齐尔方法,其中所用贝齐尔曲线高达15次,贝齐尔曲面高达9次。在多项式插值曲线曲面中是不可能达到这样高的次数而不出问题的。xmu计算机辅助几何设计3.1.1 贝齐尔曲线的定义 n次贝齐尔曲线由n+1个顶点构成的特征多边形确定。特征多边形大致勾画出了对应曲线的形状。图3.1中为一条3次Bezier曲线,其控制顶点依次为图3.1 三次Bezier曲线 xmu计算机辅助几何设计更多图例:4次Bezier曲线5次Bezier曲线 xmu计算机辅助几何设计 早期的Bezier曲线定义:早期Bezi
15、er曲线利用特征多边形的边矢量 定义。边矢量贝齐尔基函数其中,是Bezier基函数。xmun=5 时的Bezier基函数 xmu计算机辅助几何设计 由于Bezier没有把他怎样导出这些基函数的过程公开出来,人们初见到这些基函数时,留下的印象是“好像从天上掉下来似的”。图3.2 用边矢量表示的贝齐尔曲线的特征多边形早期的Bezier公式应用不便,Bezier本人后来对其进行了修改。xmu计算机辅助几何设计 修改后的Bezier曲线定义:修改后的Bezier曲线利控制顶点位置矢量 定义。其中,是n次Bernstein基函数。给定空间n+1个点的位置矢量 ,i=0,1,2,n则Bezier曲线可定义
16、为:xmu计算机辅助几何设计例3.1 三次Bezier曲线。三次贝齐尔曲线由4个控制顶点确定。xmu计算机辅助几何设计3.1.2 贝齐尔曲线的几何性质 贝齐尔曲线的几何性质取决于基函数的性质,所以我们首先研究Bernstein基函数的性质。Bernstein基函数具有以下性质:(1)正性(2)权性(规范性)(3)对称性(4)导数性质(5)递推性补充性质:(6)最值(7)升阶公式 xmu计算机辅助几何设计Bernstein基函数的图例(Mathematica绘制)一次Bernstein基函数 二次Bernstein基函数 xmu计算机辅助几何设计四次Bernstein基函数表达式、图形以及在同一
17、坐标系下的图形 xmu计算机辅助几何设计各项性质具体如下:(1)正性(2)权性这可由二项式定理证明 xmu计算机辅助几何设计(4)导数性质这可利用以下恒等式证明(3)对称性利用组合数的对称性 可证 xmu计算机辅助几何设计(6)最大值直接求函数最值即可(5)递推性利用组合数的递推性 可证的最大值在处取得(7)升阶公式 xmu计算机辅助几何设计贝齐尔曲线的几何性质可以从上述性质推出由Bernstein基函数的端点性质可知,当u=0时,r(0)=V0;当u=1时,r(1)=Vn。可见,Bezier曲线的端点与相应的特征多边形的首末点重合。(1)端点性质 I.曲线端点位置矢量II.曲线端点切矢量 由
18、基函数性质(4)xmu计算机辅助几何设计因而类似地说明曲线在首末点和特征多边形相切。且切矢长度分别为第一条边和最后一条边长度的n倍K阶导矢 xmu计算机辅助几何设计保持贝齐尔曲线的控制顶点位置不变,将其次序完全颠倒,则得到的新曲线和原曲线是同一条曲线,只是走向不同。(2)对称性新曲线的控制顶点为构成的新曲线为图形如图3.3所示则 xmu计算机辅助几何设计 图3.3 贝齐尔曲线的对称性 新曲线和原曲线是同一条曲线只是走向不同 xmu计算机辅助几何设计(3)凸包性质 由基函数的权性可知,当u在0,1区间变化时,对某一个u值,r(u)是特征多边形各顶点的加权平均,权因子依次是 。在几何图形上,意味着
19、Bezier曲线r(u)落在Vi构成的凸包之中,如图3.4所示。这是Bezier曲线用于几何造型的一个非常重要的性质。图3.4凸凸包包性性质 xmu计算机辅助几何设计更多图例:5次Bezier曲线及其凸包6次Bezier曲线及其凸包3次Bezier曲线端点的切矢和法矢 xmu计算机辅助几何设计当特征多边形是凸多边形时,相应的Bezier曲线也是凸的,这说明Bezier曲线具有保凸性(4)保凸性因Bezier曲线的基函数具有权性,所以曲线具有几何不变性。(5)几何不变性Bezier曲线和任一直线相交的次数不会超过其控制多边形和同一直线的相交次数。从几何上看,曲线的波动次数减少了,光顺的程度提高了
20、。(6)变差缩减性质 xmu计算机辅助几何设计该性质对于交互式设计Bezier曲线非常有用,设计人员可以调整最希望改动的那段曲线附近对应的控制顶点达到修改曲线的目的。(7)最大影响点由基函数的最大值所处的位置可知移动n次Bezier曲线的第i个控制定点,曲线上参数为u=i/n的那点r(i/n)受到最大的影响。xmu计算机辅助几何设计 Bezier曲线可用简单的几何作图来实现。给定参数 ,就把定义域分成长度为 的两段。依次对原始控制多边形每一边执行同样的定比分割,所得分点就是由第一级递推生成的中间顶点 对这些中间顶点构成的控制多边形再执行同样的定比分割,得第二级中间顶点 重复进行下去,直到n级递
21、推得到一个中间顶点 即为所求曲线上的点 ,如图3.5所示。3.2.1 Bezier曲线的几何作图法 xmu计算机辅助几何设计 图3.3 贝齐尔曲线的作图过程 以n=4,u=1/3为例:xmu计算机辅助几何设计 3.2.1节的几何作图法依赖于以下递推公式:3.2.2 Bezier曲线的递归分割算法(subdivision)其中下标L表示递推层数,i表示该点位于相应多边形的第i+1条边。这就是著名的de Casteljau算法。用这一递推公式,在给定参数下,求Bezier曲线上一点r(u)非常有效。该公式可以用如图3.6所示的de casteljau三角形表示 xmu计算机辅助几何设计 图3.6
22、递归分割三角形De Casteljau算法的形象表示 xmu计算机辅助几何设计更多图例(上一行u=0.3,下一行u=0.15)xmu计算机辅助几何设计3.3.1 连续条件与拼接曲线的光滑度 在复杂零件的几何设计中,仅用单条贝齐尔曲线或单张贝齐尔曲面是不能满足设计要求的,必须采用多段方式。对于曲线来说,即要求构造多段贝齐尔曲线,并按照一定的连续条件,将这些曲线拼接成一条贝齐尔曲线。拼接后的曲线从整体看是一条光滑曲线。在两段曲线的拼接点,可以根据设计需要,保持位置连续、切矢(斜率)连续或曲率连续 关于连续条件有两种不同的度量方法。一种是满足于数学上严格定义的函数曲线可微性方法,另一种是满足相对宽松
23、的约束条件的几何连续性方法。工程上主要采用后者。xmu计算机辅助几何设计 利用函数曲线的可微性,曲线在连接处有直到n阶连续导矢,即n次连续可微,这类光滑度称之为Cn或n阶参数连续性。在函数曲线里,可微性与光滑度是一致的,函数曲线是Cl 的,意味着具有连续的切矢,C2意味着不仅具有连续的切矢,还具有连续的曲率。这类连续性与参数选取有关,当用于参数曲线时,有时会出现可微性与光滑度不一致的问题。例如,当拼接点与前后邻贝齐尔点重合时,合成曲线在拼接点处有零切矢,曲线在该点仍时可微的,但曲线在该点可能形成一个尖点。因而是不光滑的。函数曲线的可微性:xmu计算机辅助几何设计 另外,如果曲线拼接点与前后邻贝
24、齐尔特征多边形顶点共线,且拼接点在前后邻两点之间,则按照贝齐尔曲线的性质,合成贝齐尔曲线在公共连接点有公共的切线方向,达到了最低阶的光滑连接,但在该点却不一定是Cl的。从上看出,参数连续性并不能客观准确地度量参数曲线连接的光滑度。在参数曲线上出现零切矢处仍是可微的,但可能是不光滑的;反之,光滑的曲线有可能是不可微的。由于参数连续性不能客观准确度量参数曲线连接的光滑度,因而经常用称之为几何连续性的方法来代替参数连续性。xmu计算机辅助几何设计合成曲线在拼接点处满足不同于Cn的某一组约束条件。称为具有n阶几何连续性,简记为Gn。事实上,产品的形状是与描述它所取的参数无关的,作为形状的内在几何特征的
25、光滑度及作为度量光滑度的几何连续性定义应当是独立于具体参数化的。当各段曲线段的贝齐尔顶点给定后各曲线段的形状就完全确定,合成Bezier曲线连接的光滑度也随之确定,而与所取参数无关。几何连续性放宽了对参数曲线光滑度的限制条件,为形状定义和形状控制提供了更多的自由度,更适合曲线在交互设计中使用,有文献称其为视觉连续性。几何连续性:xmu计算机辅助几何设计 参考文献7中给出了二阶以下几何连续性的含义:零阶几何连续G0与零阶参数连续C0是一致的。若两曲线段在拼接点处具有公共的单位切矢则称它们在该点处具有一阶几何连续性(或G1连续性,若在该点处又具有公共的曲率矢则称它们在该点处具有二阶几何连续性(或G
26、2连续性)或是G2的。xmu计算机辅助几何设计3.3.2 贝齐尔曲线的合成及连续性条件以三次贝齐尔曲线为例,给定两条三次Bezier曲线r(u)和s(u),相应控制点为Vi和Pj(i,j=0,1,2,3),现在把两条曲线连接起来。如图3.7所示,图3.7 Bezier曲线的拼接 xmu计算机辅助几何设计(2)斜率连续(G1)(1)位置连续即第一特征多边形的末点与第二个的首点重合因曲线和控制多边形的首末端点重合,所以必须有 G1不要求连接点两侧的切线长度相同,只须满足即要求V2,V3=P0,P1三点共线即可,xmu计算机辅助几何设计如果要求曲率连续,连接点两侧曲率大小须相同(3)曲率连续其中 为
27、一个正常数要达到二阶几何连续,必须满足如下连续性条件将相应的一、二阶导数代入上式展开并化简,可得到两条Bezier曲线拼接时达到曲率连续的必要条件为 xmu计算机辅助几何设计将其代入 得到此式说明V1,V2,V3=P0,P1,P2五点共面。见图3.8图3.8 满足曲率连续的Bezier曲线拼接 xmu计算机辅助几何设计3.4.1 Bezier曲线的不足 贝齐尔曲线虽然有许多良好的性质,但也存在明显的缺点,例如:1)当特征多边形的顶点分布不均匀时,参数u在曲线上对应点的分布也不均匀。2)贝齐尔曲线的形状与定义它的特征多边形相距甚远。3)改变特征多边形的一个顶点将影响整条曲线。为使贝齐尔曲线能够以
28、更大的逼近度逼近特征多边形,给使用者在控制曲线的形状时提供更大的灵活性,里森费尔德对贝齐尔方法作了改进和扩展。xmu计算机辅助几何设计3.4.2 Bezier曲线的升阶与降阶 Bezier曲线升阶是指保持Bezier曲线的形状与定向不变,增加它的控制顶点个数,相应提高了曲线的次数。实际效果克服了第二个缺点,使曲线的形状更接近特征多边形。而且增加控制顶点数,不仅能增加对曲线进行形状控制的灵活性,还在构造曲面方面有着重要的应用。对于一些由曲线生成曲面的算法,要求那些曲线必须是同次的。应用升阶的方法,我们可以把低于最高次数的的曲线提升到最高次数,而获得同一的次数。xmu计算机辅助几何设计 曲线升阶后
29、,原控制顶点会发生变化。下面,我们来计算曲线提升一阶后的新的控制顶点。设原来的n次Bezier曲线控制顶点为升阶(增加一个控制顶点)后的曲线和原曲线相同,则左边乘以u和(1-u),错项相加并注意到u+(1-u)=1得 xmu计算机辅助几何设计 然后比较两边对应项的系数,可得:图 3.10 Bezier曲线的升阶 xmu计算机辅助几何设计 事实上,n次曲线升阶后的参数的真实次数仍为n次,只是可以表示为n+1次Bezier曲线的形式。新多边形比原多边形更接近曲线,曲线形状不变。如果此时移动一个控制顶点,曲线的次数变为真正的n+1次。贝齐尔曲线的降阶在实际中很少应用,因为对于一般情况准确的降阶是不可
30、能的。例如具有拐点的三次贝齐尔曲线不能表为二次。降阶只被看作一条曲线被低次曲线逼近的方法。xmu计算机辅助几何设计 更多图例:(升阶后的多边形更靠近曲线)3次曲线 升为4次 升为6次 xmu计算机辅助几何设计 贝齐尔曲面是贝齐尔曲线的直接推广。贝齐尔曲面有两种定义方法,一种是张量积方法,另一种是由一系列线性插值定义的方法(德卡斯特里奥方法,请参考文献7)。下面以双三次贝齐尔曲面为例说明采用张量积方法构造贝齐尔曲面。3.5.1 双三次贝齐尔曲面 设在三维空间给出16个点,构成一张双三次贝齐尔曲面的特征多边形网格,在u、w方向上分布如图3.11(a)所示。点的位置用矢量Vi,j(i,j=0,1,2
31、,3)表示,形成一个44的顶点矩阵 xmu计算机辅助几何设计 顶点矩阵 (a)以u为参数的4条贝 齐尔曲线(b)由曲线上4个顶点构成 的w方向的特征多边形 xmu xmu计算机辅助几何设计Bezier曲面及实例 由16个顶点构造的双三 次Bezier曲面Bezier曲面实例(VC+OpenGL绘制)xmu计算机辅助几何设计给定一个u,令u=u*,则可以在4条曲线上分别得到相应的点S0(u*),S1(u*),S2(u*),S3(u*),以这4个点为顶点形成特征多边形,如图3.11(b)所示意。当u*从0变到1时,特征多边形沿着4条基线滑动,双三次Bezier曲面的构造过程如下:先对顶点矩阵V中每
32、一列的4个顶点构造一条以u为参数的三次Bezier曲线,共可得到4条三次Bezier曲线,如图3.11(a)所示 xmu计算机辅助几何设计一般地,我们定义由(m1)(n+1)阶矩阵表示的控制顶点定义的mn次张量积Bezier曲面为:相应控制生成的Bezier曲线“织”出曲面。该曲面写成数学表达式为:xmu计算机辅助几何设计张量积Bezier曲面的矩阵表达式为:xmu计算机辅助几何设计 3.5.2 Bezier曲面的性质 除变差减小性质外,Bezier曲线的其它性质均可推广到Bezier曲面:(1)Bezier曲面特征网格的四个角点正好是Bezier曲面的四个角点即 xmu计算机辅助几何设计 (
33、2)Bezier曲面特征网格最外一圈顶点定义Bezier曲面的四条边界;Bezier曲面边界的跨界切矢只与定义该边界的顶点及相邻一排顶点有关,且 和(图3.1.15打上斜线的三角形);边界的跨界曲率只与定义该边界的顶点及相邻两排顶点有关。(3)几何不变性 (4)对称性 (5)凸包性 (6)移动一个顶点Vi,j将对曲面上参数为 u=i/m,w=j/n的那个点影响最大。xmuBezier曲面及实例 由16个顶点构造的双三 次Bezier曲面Bezier曲面实例(VC+OpenGL绘制)xmu计算机辅助几何设计 在工程设计中,用上述方法设计的一张贝齐尔曲面经常不能满足复杂零件设计的要求,需要将多张贝
34、齐尔曲面进行合成,这里将每一张曲面称作一张曲面片。为了保证曲面片在拼接处满足一定的约束条件,例如在曲面边界上保证光滑连接,那么特征网格的顶点应满足什么条件呢?仍以双三次曲面片为例。通过调整特征多边形网格的顶点位置,我们可以得到位置连续、跨界斜率连续、跨界曲率连续的拼接条件。xmu计算机辅助几何设计 图3.12 曲面片的拼接给定两张Bezier曲面考察其连续性条件 xmu计算机辅助几何设计 3.6.2 位置连续如果要求两曲面片达到位置连续,则它们有公共的边界,即:代入曲面矩阵表达式并展开,可得:这说明两曲面片要具有公共边界须保证特征网格之间有一组由公共边界顶点构成的多边形边界。如图3.13 xm
35、u计算机辅助几何设计 图3.13 位置和跨界切矢连续条件满足位置和跨界切矢连续得曲面特征网格 xmu计算机辅助几何设计3.4.2 跨界斜率连续(1)方法一 因曲面必已满足位置连续,故有 如果要求沿曲面公共边界达到斜率连续,则两曲面片在该边界上有公共的切平面,因此曲面的法向应当是跨界连续的,即要满足以下条件:所以前述方程的最简单形式为 xmu计算机辅助几何设计所表示的物理意义为:合成曲面上w为常数的所有曲线在跨界切矢方向连续。但进一步的研究表明,该方法可供曲面调整形状的自由度太少,使用不方便,于是有人提出了第二种方法。(1)方法二 方法二能提供更大的自由度,即以更一般的形式给出拼接条件 上述表达
36、式的几何意义为:xmu计算机辅助几何设计求解该方程可得如下4个关系式第一式表明两个拼接曲面的特征多边形网格在公共角点处的三条边必须共面,同样最后一个式子表明另一角点的情况,而中间两个式子的几何意义不明显。xmu计算机辅助几何设计3.6.3 贝齐尔曲线的应用 贝齐尔方法以逼近原理为基础,人们可以方便地勾画出特征多边形的形状,从而得到逼近的曲线或曲面。这种设计方法给用户提供了一种直观的几何设计工具,特别适合于曲线曲面的形状设计,这是因为初始设计时人们还不能精确描绘曲线或曲面的形状,只能大致勾画出基本形状,并通过逐步调整顶点满足设计要求。贝齐尔曲线设计在工程上应用较多,一些复杂零件都是先构造截面曲线
37、,再根据需要采用旋转或拉伸方法生成零件表面。其中旋转方法是指截面线绕一个指定的轴旋转一定的角度得到零件形状,xmu计算机辅助几何设计拉伸方法则是使截面线沿着一条直线运动得到的零件形状。贝齐尔曲线和贝齐尔曲面在工程设计中应用广泛。尽管目前一般的CADCAM系统是采用非均匀有理B样条曲线和曲面,但是由于贝齐尔曲线和曲面的一些优良特性,并且是非均匀有理B样条曲线和曲面的特例,所以在工程中还是经常使用的。xmu计算机辅助几何设计 贝齐尔曲线和曲面虽然使用非常方便,但也存在缺点:贝齐尔方法不具备局部性,即特征多边形(网格)的任意顶点的修改都会影响整条曲线(或整张曲面)的形状。当曲线、曲面的形状复杂时,需
38、要增加特征多边形的顶点个数,从而使曲线、曲面的幂次增高。当曲线的幂次较高时,贝齐尔曲线或曲面的形状与定义它的特征多边形(网格)有较大差距(下一章的B条曲线和曲面方法能够克服贝齐尔方法的一些不足)。xmu 我们已经对贝齐尔曲线曲面有所了解,贝齐尔曲线是以伯恩斯坦基函数为基础的,虽然它有许多优点,但也存在一些不足:1)当给定了贝齐尔曲线n+1个特征多边形顶点时,也就确定了曲线的次数n,当次数n过高时,会给贝齐尔曲线的计算带来很多不便。如果采用分段三次贝齐尔曲线且要保持曲线段与段之间二阶连续还必须有附加条件。2)贝齐尔曲线是整体定义的,曲线的形状要受到全部顶点的影响。改变其中某一顶点的位置,对整条曲
39、线都有影响,因而贝齐尔曲线不具有局部修改性。计算机辅助几何设计4.B样条曲线和曲面 xmu 1946年由舍恩伯格(Schoenberg)提出了B样条理论(1967年发表),1972年德布尔(de Boor)与考克思(Cox)分别独立给出了关于B样条的标准算法。戈登(Gordon)和Riesenfeld又把B样条理论应用于形状描述,最终提出了B样条方法。用B样条基替代了Bernstein基,构造出B样条曲线,这种方法继承了贝齐尔方法的一切优点,克服了贝齐尔方法存在的缺点,较成功地解决了局部控制问题,又轻而易举地在参数连续性基础上解决了连接问题,从而使自由型曲线曲面形状的描述问题得到较好解决。计算
40、机辅助几何设计 xmuB样条方法具有表示与设计自由型曲线曲面的强大功能,它不仅是最广为流行的形状数学描述的主流方法之一,而且已成为关于工业产品几何定义国际标准的有理B样条方法的基础。计算机辅助几何设计中间站立者是Carl de Boor左边是Ulrich Rief,右边是Helmut Pottmann三人都是CAGD领域的著名学者 xmu4.1 B样条基函数的递推定义及其性质计算机辅助几何设计4.1.1 B样条基的递推定义 在区间a,b上,取分割 称为节点(knot),B样条基函数定义为:其中第一个下标i表示序号,第二个下标k表示基函数的次数。xmu计算机辅助几何设计该递推公式表明,Ni,k(
41、x)的值仅由共k+2个节点确定。我们称区间为Ni,k(x)的支撑区间,也就是说Ni,k(x)仅在这个区间内的值不为零。由递推公式,我们很容易直接写出0到3次的B样条基函数。xmu计算机辅助几何设计 1.零次(一阶)B样条 当k=0时可由基函数定义直接给出零次B样条。4.1.2 B样条基的推导过程 图4.1 零次B样条Ni,0(x)xmu计算机辅助几何设计 1.一次(二阶)B样条 由Ni,0(x)“移位”得 当k=1时,将两个零次B样条代入递推公式有 xmu计算机辅助几何设计 图4.2 一次B样条Ni,1(x)按同样的方式,容易求出二次(三阶)B样条和三次(四阶)B样条的表达式(图形见后)。由d
42、e Boor Cox递推公式可知,只要知道零次B样条基函数,就可以得到任意次B样条基函数。它既适合于等距节点,也适合于非等距节点。xmu计算机辅助几何设计B样条基函数图例(Matlab绘制)0次B样条基的分段函数图形表示 xmu计算机辅助几何设计 1次B样条基的分段函数图形表示 xmu计算机辅助几何设计 2次B样条基的分段函数图形表示 xmu计算机辅助几何设计 3次B样条基的分段函数图形表示 xmu计算机辅助几何设计4.1.3 B样条基的性质 B样条基具有如下性质:(1)递推性,由递推公式可知(2)局部支承性(3)规范性(4)可微性。在节点区间内部它是无穷次可微 的,在节点处它是K-r次可微的
43、。这里r是节 点的重复度。xmu计算机辅助几何设计B样条基性质图例 B样条基函数的递推关系 xmu计算机辅助几何设计B样条基函数性质图例 一次B样条基函数 三次B样条基函数和为1验证单位分解验证单位分解和为1 xmu4.2 B样条曲线计算机辅助几何设计4.2.1 B样条曲线的定义 B样条曲线的方程定义为:是控制多边形的顶点(i=0,1,.,n)称为k次(k1阶)B样条基函数,B样条基函数是一个称为节点矢量的非递减的参数x的序列所决定的k次分段多项式,也即为k次(k1阶)多项式样条,因而B样条曲线也是分段多项式曲线。xmu计算机辅助几何设计4.2.2 B样条曲线的性质 B样条曲线除了具有变差缩减
44、性质、几何不变性以外,还有其它一些性质。(1)局部性 k 阶B样条曲线上参数为 的一点至多与k个控制顶点Vj(j=i-k+1,i)有关,与其它控制顶点无关;移动该曲线的第i个控制顶点Pi至多影响到定义在区间 上那部分曲线的形状,对曲线的其余部分不发生影响。(2)可微性或参数连续性 B样条曲线在每一曲线段内部是无限次可微的,在节点处是k-r次可微的。r为节点的重复度数。xmu计算机辅助几何设计(3)凸包性 B样条曲线凸包定义在各曲线段特征顶点的凸包 的并集之内,与贝齐尔曲线相比有更强的凸包性。xmu计算机辅助几何设计B样条曲线图例节点矢量0 1 2 3 4 5 6 7 8 9 10 11 12
45、13 顶点矢量0,0;1,2;3,0;4,0;5,3;6,2.5;5.3,-0.5;7,1.8;8.2,-1;9,1.5三次均匀 样条曲线B xmu计算机辅助几何设计4.2.3 B样条曲线的分类 B样条曲线一般是按定义基函数的节点序列是否等距(均匀)分为均匀B样条曲线和非均匀B样条曲线。当节点序列x=x0,x1,xn+k+1时,B样条曲线按节点序列中节点分布情况不同,又分为4种类型:均匀B样条曲线、准均匀B样条曲线、分段贝齐尔曲线和一般非均匀B样条曲线。设给定特征多边形顶点Vi,i=0,1,n,曲线的次数k,于是有:1)均匀B样条曲线(Uniform B-spline Curve)。节点序列中
46、节点为沿参数轴均匀或等距分布,所有节点区间长度i=xi+l-xi=常数0,i=0,1,,n+k。这样的节点序列定义了均匀B样条基。xmu计算机辅助几何设计 2)准均匀B样条曲线(quasi-uniform B-spline curve)。其节点序列中两端节点具有重复度k十1,即x0=xl=xk,xn+l=xn+2=xn+k+1,而所有内节点均匀分布,具有重复度1。3)一般分段贝齐尔曲线(piecewise Bezier curve)。在其节点序列中两端节点重复度与类型2相同,为k+1。所不同的是所有内节点重复度为k。xmu计算机辅助几何设计4)非均匀B样条曲线(general non-unif
47、orm B spline)这是对任意分布的节点序列x=x0,x1,xn+k+1,只要在数学上成立(其中节点序列非递减,两端节点重复度k+1,内节点重复度k)都可选取。这样的节点序列上定义了一般非均匀B样条基。前三种类型都可作为特例被包括在这种类型中。下面我们分别对均匀B样条曲线和非均匀B样条曲线进行讨论 xmu4.3 均匀B样条曲线计算机辅助几何设计4.3.1 三次均匀B样条曲线表达式 均匀与非均匀是按定义B样条基的节点是否等距区分的。均匀B样条基最简单的形式是,若xi+1-xi=h,特别是取节点为xi=i,由整数节点,令xi-xi-1=u,则参数 代入de Boor-Cox公式,有 xmu计
48、算机辅助几何设计前面是一个基函数在若干个节点区间的分段表示,下面来考察在同一个节点区间若干个基函数的表达式,仍以3次情况为例。在x3,x4中令xi-xi-1=1,x-xi=u,则参数 ,有 xmu计算机辅助几何设计上述不同基函数的图形,及其在同一区间上的图形 xmu计算机辅助几何设计2 三次均匀B样条曲线段的表示形式 三次B样条曲线段的和式形式为:写成矩阵形式为:xmu计算机辅助几何设计曲线的形状如下 图4.7 三次均匀B样条曲线 xmu计算机辅助几何设计4.3.2 三次均匀B样条曲线的几何性质 (1)端点性质 a.两端点的位置矢量 (4-11)xmu计算机辅助几何设计b.两端点的切矢 c.两
49、端点的二阶导矢 xmu计算机辅助几何设计几何意义 上面几组表达式具有明显的几何意义:三次均匀B样条曲线段的几何意义 xmu计算机辅助几何设计(2)凸包性 整条B样条曲线落在又相邻4个特征顶点所组成的凸包的并集之中。图4.9 三次B样条曲线的凸包 xmu计算机辅助几何设计(3)局部性 移动三次均匀B样条一个顶点最多只会影响相邻四段B样条曲线段,而其他曲线段的形状不会发生改变。下面两幅图中,相对于左边的图,右边一幅移动了顶点7 xmu计算机辅助几何设计(4)变差减小性质 (5)几何不变性 (6)可微性或参数连续性 xmu计算机辅助几何设计4.3.3 特征顶点对形状的影响 (1)三顶点共线 图4.1
50、0 三顶点共线 xmu计算机辅助几何设计(2)四点共线 图4.11 四顶点共线 xmu计算机辅助几何设计(3)两个顶点Vi和Vi+1重合 图4.12 两顶点重合 xmu计算机辅助几何设计(4)顶点重合 图4.13 三顶点重合 xmu计算机辅助几何设计总结:三次均匀B样条曲线的几何形状是由特征多边的顶点来控制的。调整特征顶点可得出不同形态的曲线,大致可归纳为:1)如要构造一段直线时,可采用四个顶点共线。2)为了使曲线和特征多边形相切,可采用三顶点 共线或两重顶点的技巧。3)要使曲线通过某一顶点,在曲线上形成一个尖 点,可采用三重顶点的方法 xmu计算机辅助几何设计一种利用B样条曲线端点几何性质构