《非均匀有理B样条ppt课件.ppt》由会员分享,可在线阅读,更多相关《非均匀有理B样条ppt课件.ppt(71页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、清华大学清华大学 计算机图形学计算机图形学3.3 B样条曲线与曲面 Bezier曲线或曲面有许多优越性,但有两点不足: Bezier曲线或曲面不能作局部修改; Bezier曲线或曲面的拼接比较复杂清华大学清华大学 计算机图形学计算机图形学 1972年,Gordon、Riesenfeld等人发展了1946年Schoenberg提出的样条方法 , 提出了B样条方法,在保留Bezier方法全部优点的同时,克服了Bezier方法的弱点。 样条的史话清华大学清华大学 计算机图形学计算机图形学 样条的史话(1) 1946年的红皮书 Schoenberg拉开了神话的序幕 从插值的R-K现象说起 样条分段连续
2、多项式清华大学清华大学 计算机图形学计算机图形学 样条的史话(2) 断言样条不可能用于外形设计 几何样条出现,离散计算,峰回路转 Riesenfield, Gordan, .清华大学清华大学 计算机图形学计算机图形学 如何理解B-样条? 样条插值,三对角方程 (函数、参数) 给定分划,所有的B样条的全体组成一个线性空间,线性空间有基函数,这就是B样条基函数 由B样条基函数代替Bezier曲线中的Bernstein基函数,即B样条曲线。清华大学清华大学 计算机图形学计算机图形学3.3.1 B样条的递推定义和性质 B样条曲线的方程定义为: 是控制多边形的顶点 (i=0,1,.,n) 称为k阶(k-
3、1次)B样条基函数 B样条基函数是一个称为节点矢量的非递减的参数t的序列所决定的k阶分段多项式,也即为k阶(k-1次)多项式样条。nikiitNPtP0,)()(), 1 , 0(niPi)(,tNki清华大学清华大学 计算机图形学计算机图形学 de Boor-Cox递推定义 并约定 几个问题OtherwisetxttNiii01)(11 ,)()()(1, 111,1,tNtttttNtttttNkiikikikiikiiki000knknnnkktttttttt,11110清华大学清华大学 计算机图形学计算机图形学 几个问题 的非零区间是什么? 需要多少个节点? 定义区间是什么?)(,tN
4、ki清华大学清华大学 计算机图形学计算机图形学 以k4,n=4为例876543210,ttttttttt清华大学清华大学 计算机图形学计算机图形学2性质 局部支承性。 权性。 微分公式。otherwisettttNkiiki0,0)(,ninkkittttN011,1)()(1)(1)(1, 111,1,tNttktNttktNkiikikiikiki清华大学清华大学 计算机图形学计算机图形学 B样条曲线类型的划分 曲线按其首末端点是否重合,区分为闭曲线和开曲线。 B样条曲线按其节点矢量中节点的分布情况,可划分为四种类型。清华大学清华大学 计算机图形学计算机图形学 均匀B样条曲线。 节点矢量中
5、节点为沿参数 轴均匀或等距分布,所有 节点区间长度为常数。这样的节点矢量定义了均匀的B样条基。图3.1.23 三次均匀的B样条曲线清华大学清华大学 计算机图形学计算机图形学 准均匀B样条 与均匀B样条曲线的差别在于两端节点具有重复度k,这样的节点矢量定义了准均匀的B样条基。均匀B样条曲线没有保留Bezier曲线端点的几何性质,即样条曲线的首末端点不再是控制多边形的首末端点。采用准均匀的B样条曲线解决了这个问题图3.1.24 准均匀三次B样条曲线清华大学清华大学 计算机图形学计算机图形学 分段Bezier曲线 节点矢量中两端节点具有重复度k,所有内节点重复度为k-1,这样的节点矢量定义了分段的B
6、ernstein基。图3.1.25 三次分段Bezier曲线清华大学清华大学 计算机图形学计算机图形学 B样条曲线用分段Bezier曲线表示后,各曲线段就具有了相对的独立性,移动曲线段内的一个控制顶点只影响该曲线段的形状,对其它曲线段的形状没有影响。并且Bezier曲线一整套简单有效的算法都可以原封不动地采用。缺点是增加了定义曲线的数据,控制顶点数及节点数。清华大学清华大学 计算机图形学计算机图形学 非均匀B样条曲线 任意分布的节点矢量 ,只要在数学上成立(节点序列非递减,两端节点重复度k,内节点重复度k-1)都可选取。这样的节点矢量定义了非均匀B样条基。,21kntttT清华大学清华大学 计
7、算机图形学计算机图形学3.3.2 B样条样条曲线的性质曲线的性质 局部性。k 阶B样条曲线上参数为的一点至多与k个控制顶点有关,与其它控制顶点无关;移动该曲线的第i个控制顶点Pi至多影响到定义在区间 上那部分曲线的形状,对曲线的其余部分不发生影响。,1iittt), 1(ikijPj),(kiitt清华大学清华大学 计算机图形学计算机图形学 连续性 P(t)在r重节点处的连续阶不低于 k-1-r。 凸包性 P(t)在区间 上的部分位于k个点 的凸包 内,整条曲线则位于各凸包 的并集之内。nikttii1),(1ikiPP,1iCiC清华大学清华大学 计算机图形学计算机图形学 分段参数多项式P(
8、t)在每一区间上都是次数不高于k-1的参数t的多项式 导数公式 ,)() 1()()()(111,1110,0,nkkiniikiiinikiinikiittttNttPPktNPtNPtP清华大学清华大学 计算机图形学计算机图形学 变差缩减性 设平面内 n+1 个控制顶点 构成B样条曲线 P(t) 的特征多边形。在该平面内的任意一条直线与 P(t) 的交点个数不多于该直线和特征多边形的交点个数。 几何不变性B样条曲线的形状和位置与坐标系的选择无关。清华大学清华大学 计算机图形学计算机图形学 仿射不变性即在仿射变换下,的表达式具有形式不变性。 直线保持性控制多边形退化为一条直线时, 曲线也退化
9、为一条直线。ninkkiittttNPAtPA011, )()(清华大学清华大学 计算机图形学计算机图形学 造型的灵活性。用B样条曲线可以构造直线段、尖点、切线等特殊情况.对于四阶(三次)B样条曲线.若要在其中得到一条直线段,只要四点 位于一条直线上321,iiiiPPPP清华大学清华大学 计算机图形学计算机图形学 为了使P(t)能过P(i)点,只要使 重合 尖点也可通过三重节点的方法得到 为了使曲线和某一直线L相切,只要取 位于L上及 的重数不大于2。21,iiiPPP21,iiiPPP3it清华大学清华大学 计算机图形学计算机图形学 iP1iP2iP3iP)(tP(a)四顶点共线iP1iP
10、2iP3iP4iP三重顶点二重顶点(b)二重顶点和三重顶点iP1iP2iP1iPiP1iP2iP3iP(c)二重节点和三重节点(d)三顶点共线图.1.26 三次B样条曲线的一些特例清华大学清华大学 计算机图形学计算机图形学3.3.3 de Boor 算法 欲计算B样条曲线上对应一点P(t),可以利用B样条曲线方程,但是采用de Boor 算法,计算更加快捷。 de Boor 算法的导出,)()()()()()(11,1111111, 111,11,0,jjkijkjiiikikiiikiijkjikiikikikiikiiijkjikiinikiittttNPttttPtttttNtttttN
11、ttttPtNPtNPtP清华大学清华大学 计算机图形学计算机图形学 现令则这就是著名的de Boor 算法 jrkjrkjikrtPtttttPttttjkjkjirPtPriirkirkiriirkiiiri, 2, 1; 1, 2 , 1),()(, 2, 1, 0,)(111jkjikiijkjikiitNtPtNPtP21,11,)()()()(清华大学清华大学 计算机图形学计算机图形学de Boor 算法的递推关系如图nkjjjjkjkjkjkjkjkjPPPPPPPPPPPPP12123133122121清华大学清华大学 计算机图形学计算机图形学 De Boor 算法的几何意义
12、de Boor算法有着直观的几何意义 割角,即以线段 割去角 。从多边形 开始,经过 k-1 层割角,最后得到P(t)上的点1ririPP1riPjkjkjPPP 21)(1tPrj清华大学清华大学 计算机图形学计算机图形学 1kjP2kjPjP12kjP1 3kjP1jP23kjP2jP34kjP1 kjP图3.1.28 B样条曲线的deBoor算法的几何意义清华大学清华大学 计算机图形学计算机图形学3.3.4 节点插入算法 通过插入节点可以进一步改善B样条曲线的局部性质,提高B样条曲线的形状控制的灵活性,可以实现对曲线的分割等。 插入一个节点 在定义域某个节点区间 内插入一个节点t,得到新
13、的节点矢量: 重新编号成为1,iitt11121111101,1kniiittttttTkniittttttT,1101清华大学清华大学 计算机图形学计算机图形学这个新的节点矢量U1决定了一组新的B样条基原始的B样条曲线就可以用这组新的B样条基与未知新顶点 表示1iP101,1)()(njkjtNPtPj清华大学清华大学 计算机图形学计算机图形学 Boehm给出了这些未知新顶点的计算公式 r 表示所插结点t在原始节点矢量T中的重复度。1, 1 , 2 ,)1 (1, 1 , 0 ,11111nrijPPrikijPPPkijPPjjjjjjjjjjkjjjtttt1清华大学清华大学 计算机图形
14、学计算机图形学 1kiP2kiP3kiP1iPiP12kiP13kiP1iP图3.1.30 实线框中k个新顶点 取代虚线框中k-1个原始顶点0P1P2P3P11P12P13P1t2t3t4t5t6tt图3.1.31 三次B样条曲线插入一个节点,43ttt清华大学清华大学 计算机图形学计算机图形学 0P1P2P3P11P1t2t3t4t5t6tt图3.1.32 三次B样条曲线插入一个节点)(32ttt清华大学清华大学 计算机图形学计算机图形学 3.3.5 B样条曲面 给定参数轴u和v的节点矢量 pq阶阶B样条曲面样条曲面定义如下 ,10pmuuuU,10qnvvvVminjqjpiijvNuNP
15、vuP00,)()(),(清华大学清华大学 计算机图形学计算机图形学 构成一张控制网格,称为B样条曲面的特征网格特征网格。 和 是B样条基,分别由节点矢量U和V按deBoor-Cox递推公式决定。)(,uNpi)(,vNqjijP清华大学清华大学 计算机图形学计算机图形学 00P10P20P30P01P11P21P31P02P22P12P32P03P23P33P图3.1.33 双三次B样条曲面片清华大学清华大学 计算机图形学计算机图形学3.4 NURBS曲线与曲面 B样条曲线包括其特例的Bezier曲线都不能精确表示出抛物线外的二次曲线,B样条曲面包括其特例的Bezier曲面都不能精确表示出抛
16、物面外的二次曲面,而只能给出近似表示。 提出NURBS方法,即非均匀有理非均匀有理B样条样条方法主要是为了找到与描述自由型曲线曲面的B样条方法既相统一、又能精确表示二次曲线弧与二次曲面的数学方法。清华大学清华大学 计算机图形学计算机图形学 NURBS太过复杂,常令人望洋兴叹 NURBS Book, 走向实用化 (见下页)清华大学清华大学 计算机图形学计算机图形学 Some years ago a few researchers joked about NURBS, saying that the acronym really stands for NOBODY Understands Rati
17、onal B-Splines, write the authors in their foreword; they formulate the aim of changing NURBS to EURBS, that is, Everybody. There is no doubt that they have achieved this goal. I highly recommend the book to anyone who is interested in a detailed description of NURBS. It is extremely helpful for stu
18、dents, teachers and designers of geometric modeling systems. Helmut Pottmann清华大学清华大学 计算机图形学计算机图形学 NURBS方法的主要优点 既为标准解析形状(即前面提到的初等曲线曲面),又为自由型曲线曲面的精确表示与设计提供了一个公共的数学形式清华大学清华大学 计算机图形学计算机图形学 B样条曲线包括其特例的Bezier曲线都不能精确表示出抛物线外的二次曲线,B样条曲面包括其特例的Bezier曲面都不能精确表示出抛物面外的二次曲面,而只能给出近似表示。 提出NURBS方法,即非均匀有理非均匀有理B样条样条方法主要
19、是为了找到与描述自由型曲线曲面的B样条方法既相统一、又能精确表示二次曲线弧与二次曲面的数学方法。清华大学清华大学 计算机图形学计算机图形学 两类研究问题 逼近问题:圆弧的Bezier曲线逼近,挪威Oslo学派的工作 精确表示问题:权因子、顶点满足什么条件才能精确表示圆弧?清华大学清华大学 计算机图形学计算机图形学 NURBS方法的主要优点 既为标准解析形状(即前面提到的初等曲线曲面),又为自由型曲线曲面的精确表示与设计提供了一个公共的数学形式 修改控制顶点和权因子,为各种形状设计提供了充分的灵活性。 具有明显的几何解释和强有力的几何配套技术 对几何变换和投影变换具有不变性。 非有理B样条、有理
20、与非有理Bezier方法是其特例。清华大学清华大学 计算机图形学计算机图形学 应用NURBS中还有一些难以解决的问题: 比传统的曲线曲面定义方法需要更多的存储空间 权因子选择不当会引起畸变 对搭接、重叠形状的处理很麻烦。 反求曲线曲面上点的参数值的算法,存在数值不稳定问题 (MAF方法) 清华大学清华大学 计算机图形学计算机图形学 在讲NURBS 的定义前,先回顾一下B样条的定义:nikiitNPtP0,)()()()()(1, 111,1,tNtttttNtttttNkiikikikiikiikiknknnnkktttttttt,11110清华大学清华大学 计算机图形学计算机图形学3.4.4
21、.1NURBS曲线的定义曲线的定义 NURBS曲线是由分段有理B样条多项式基函数定义的nikiinikiinikiiitRPtNtNPtP0,0,0,)()()()(njkjjkiikitNtNtR0,)()()(清华大学清华大学 计算机图形学计算机图形学 Ri,k(t)具有k阶B样条基函数类似的性质: 局部支承性:Ri,k(t)=0,tti, ti+k 权性: 可微性:如果分母不为零,在节点区间内是无限次连续可微的,在节点处 (k-1-r)次连续可导,r是该节点的重复度。 若i=0,则Ri,k(t)=0; 若i=+,则Ri,k(t)=1;nikiuR0,1)(清华大学清华大学 计算机图形学计
22、算机图形学 NURBS曲线与B样条曲线具有类似的几何性质: 局部性质。 变差减小性质。 凸包性。 在仿射与透射变换下的不变性。 在曲线定义域内有与有理基函数同样的可微性。清华大学清华大学 计算机图形学计算机图形学 如果某个权因子为零,那么相应控制顶点对曲线没有影响。 若 ,则当 时, 非有理与有理Bezier曲线和非有理B样条曲线是NURBS曲线的特殊情况i,kiitttiPtP)(清华大学清华大学 计算机图形学计算机图形学3.4.2 齐次坐标表示齐次坐标表示齐次坐标系xyw中的控制顶点为k阶非有理B样条曲线可表示为:), 1 , 0)(,(niyxPiiiiiinikiitNPtP0,)()
23、(清华大学清华大学 计算机图形学计算机图形学 以坐标原点为投影中心,则得到平面曲线nikiinikiiitNtNPtP0,0,)()()(yxw0P1P2P)(tP0P1P2P)(tP1图3.1.34 平面NURBS曲线齐次坐标表示清华大学清华大学 计算机图形学计算机图形学 三维空间的NURBS曲线可以类似地定义。 非有理B样条的算法可以推广到NURBS曲线,只不过是在齐次坐标下进行。), 1 , 0)(,(nizyxPiiiiiiii清华大学清华大学 计算机图形学计算机图形学3. .4.3 .3 权因子的几何意义权因子的几何意义 如果固定曲线的参数t,而使 变化,则NURBS曲线方程变成以
24、为参数的直线方 程,即NURBS曲线上t值相同的点都位于同一直线上。ii清华大学清华大学 计算机图形学计算机图形学 分别是 对应曲线上的点,即N,Bi可表示为: (Pi,Bi,N,B)四点的交比iBNB,1 , 0, 1, 0iii)0;(itPB) 1 , 0;(),;(1iiitPBtPN);(iitPPiiiPBBPBN)1 ()1 (iiiiiBBBPBNNP:1:1清华大学清华大学 计算机图形学计算机图形学(1)若i增大或减小,则也增大或减小,所以曲线被拉向或推离开Pi点;(2)若j增大或减小,曲线被推离或拉向Pj(ji)。B0P1P2P3P4P5PiBN图 3.1.35 NURBS
25、 曲线中的权因子的作用清华大学清华大学 计算机图形学计算机图形学3.4.4圆锥曲线的NURBS表示 取节点向量为 则NURBS曲线退化为二次Bezier曲线,且可以证明,这是圆锥曲线弧方程。 称为形状因子, 的值确定了圆锥曲线的类型。 时,上式是抛物线弧, 1 , 1 , 1 , 0 , 0 , 0T2210222211002)1 (2)1 ()1 (2)1 ()(ttttPtPttPttP2021sfCsfC1sfC清华大学清华大学 计算机图形学计算机图形学 时,上式是双曲线弧, 时,上式是椭圆弧。 时,上式退化为一对直线段P0P1和 P1P2, 时,上式退化为连接两点P0P2的直线段),
26、1 ( sfC) 1 , 0(sfC0sfCsfC1P2P0P椭圆抛物线双曲线图3.1.36 圆锥曲线的 NURBS表示清华大学清华大学 计算机图形学计算机图形学3.4.5 NURBS曲线的修改 常用的方法有修改权因子、控制点和反插节点。 修改权因子当保持控制顶点和其它权因子不变,减少或增加某权因子时,曲线被推离或拉向相应顶点。N图 3.1.37 修改权因子iPSBS*清华大学清华大学 计算机图形学计算机图形学 欲将曲线在该点S拉向或推离控制顶点Pi一个距离d,以得到新点S,可由重新确定相应的权因子 使之改变为 来达到 修改控制顶点修改控制顶点的位置,曲线随之变形。 i*)(1,*dSPtRd
27、ikii清华大学清华大学 计算机图形学计算机图形学 基于几何约束的形状修改 问题的提法:求新的控制顶点,使曲线上的 点S变到T。 T S P(t)清华大学清华大学 计算机图形学计算机图形学 将曲线改写为其中110, )()(nknikiittttRPtPnikiikiikitNWtNWtR0,)()()(清华大学清华大学 计算机图形学计算机图形学 约束优化方法 假设控制顶点 改变,以满足点约束。我们对以上每个点,给一个扰动量 ,并用约束优化方法求之。 约束条件为 11,mlllPPPTziyixii),( 111,0,1,10, )()()()()()()(nkmllikiinikiinmli
28、kiimllikiiilikiittttRtRPtRPtRPtRPtP清华大学清华大学 计算机图形学计算机图形学 令 由 Lagrange 函数 可得方程组 12Minmllii)(12smlliitPTL清华大学清华大学 计算机图形学计算机图形学 解方程组可得1, 1,),(2)(,1,mlllitRtRSTskiimlliskii),()()(12,STtRtRmlljskjskii1, 1,mllli清华大学清华大学 计算机图形学计算机图形学 当只有一个控制顶点可动时,即为 此为CAD主编Piegl于1989年提出的公式。 该方法可推广到其他几何约束及曲面。 )(,skitRST 清华大
29、学清华大学 计算机图形学计算机图形学 基于能量极小的方法 曲线 strain energy 曲面 Thin plate energy 10232)(dtPPPdskpE dtPpE2)(,)2()(222dudvPPPPEvvuvuu清华大学清华大学 计算机图形学计算机图形学3.4.6 非均匀有理B样条(NURBS)曲面 NURBS曲面的定义 1 , 0,),()()()()(),(00,;,00,00,vuvuRPvNuNvNuNPvuPminjqjpiijqjminjpiijqjminjpiijijmrnsqsprrsqjpiijqjpivNuNvNuNvuR00,;,)()()()(),(清华大学清华大学 计算机图形学计算机图形学 规定四角点处用正权因子,即 ,其余 。 NURBS曲面的性质 与非有理B样条基函数相类似的性质: 局部支承性质 权性0,0000mnnm0ij),(,;,vuRqjpi清华大学清华大学 计算机图形学计算机图形学 可微性. 在重复度为r的u节点处沿u向是p-r-1次连续可微,在重复度为r的v节点处沿v向是q-r-1次连续可微 极值.若p,q1,恒有一个极大值存在 是双变量B样条基函数的推广清华大学清华大学 计算机图形学计算机图形学 谢谢!