您好,欢迎访问三七文档
当前位置:首页 > 金融/证券 > 金融资料 > chapter3-34-2006
清华大学计算机图形学第三章几何造型技术沈阳理工大学信息与计算科学3.3B样条曲线与曲面•Bezier曲线或曲面有许多优越性,但有两点不足:–Bezier曲线或曲面不能作局部修改;–Bezier曲线或曲面的拼接比较复杂样条-分段连续多项式沈阳理工大学信息与计算科学沈阳理工大学信息与计算科学•如何理解B-样条?–样条插值,三对角方程(函数、参数)–给定分划,所有的样条的全体组成一个线性空间,线性空间有基函数,这就是B样条基函数–由B样条基函数代替Bezier曲线中底Bernstein基函数,即B样条曲线。沈阳理工大学信息与计算科学3.3.1B样条的递推定义和性质•B样条曲线的方程定义为:是控制多边形的顶点(i=0,1,..,n)称为k阶(k-1次)B样条基函数B样条基函数是一个称为节点矢量的非递减的参数t的序列所决定的k阶分段多项式,也即为k阶(k-1次)多项式样条。nikiitNPtP0,)()(),,1,0(niPi)(,tNki沈阳理工大学信息与计算科学•deBoor-Cox递推定义并约定几个问题OtherwisetxttNiii01)(11,)()()(1,111,1,tNtttttNtttttNkiikikikiikiiki000knknnnkktttttttt,,,,,,,,,,11110沈阳理工大学信息与计算科学•几个问题–的非零区间是什么?–需要多少个节点?K+1个–定义区间是什么?)(,tNkikiitt,沈阳理工大学信息与计算科学•以k=4,n=4为例876543210,,,,,,,,ttttttttt沈阳理工大学信息与计算科学2.性质–局部支承性。–权性。–微分公式。otherwisettttNkiiki0],[0)(,ninkkittttN011,],[1)()(1)(1)(1,111,1,tNttktNttktNkiikikiikiki沈阳理工大学信息与计算科学•B样条曲线类型的划分–曲线按其首末端点是否重合,区分为闭曲线和开曲线。–B样条曲线按其节点矢量中节点的分布情况,可划分为四种类型。沈阳理工大学信息与计算科学•均匀B样条曲线。节点矢量中节点为沿参数轴均匀或等距分布,所有节点区间长度为常数。这样的节点矢量定义了均匀的B样条基。图3.1.23三次均匀的B样条曲线沈阳理工大学信息与计算科学•准均匀B样条与均匀B样条曲线的差别在于两端节点具有重复度k,这样的节点矢量定义了准均匀的B样条基。均匀B样条曲线没有保留Bezier曲线端点的几何性质,即样条曲线的首末端点不再是控制多边形的首末端点。采用准均匀的B样条曲线解决了这个问题图3.1.24准均匀三次B样条曲线沈阳理工大学信息与计算科学•分段Bezier曲线节点矢量中两端节点具有重复度k,所有内节点重复度为k-1,这样的节点矢量定义了分段的Bernstein基。图3.1.25三次分段Bezier曲线沈阳理工大学信息与计算科学B样条曲线用分段Bezier曲线表示后,各曲线段就具有了相对的独立性,移动曲线段内的一个控制顶点只影响该曲线段的形状,对其它曲线段的形状没有影响。并且Bezier曲线一整套简单有效的算法都可以原封不动地采用。缺点是增加了定义曲线的数据,控制顶点数及节点数。沈阳理工大学信息与计算科学•非均匀B样条曲线任意分布的节点矢量,只要在数学上成立(节点序列非递减,两端节点重复度≤k,内节点重复度≤k-1)都可选取。这样的节点矢量定义了非均匀B样条基。01[,,,]nkTttt沈阳理工大学信息与计算科学3.3.2B样条曲线的性质–局部性。k阶B样条曲线上参数为的一点至多与k个控制顶点有关,与其它控制顶点无关;移动该曲线的第i个控制顶点Pi至多影响到定义在区间上那部分曲线的形状,对曲线的其余部分不发生影响。],[1iittt),,1(ikijPj),(kiitt沈阳理工大学信息与计算科学–连续性P(t)在r重节点处的连续阶不低于k-1-r。–凸包性P(t)在区间上的部分位于k个点的凸包内,整条曲线则位于各凸包的并集之内。nikttii1),,(1ikiPP,,1iCiC沈阳理工大学信息与计算科学–分段参数多项式P(t)在每一区间上都是次数不高于k-1的参数t的多项式–导数公式],[)()1()()()(111,1110,0,'nkkiniikiiinikiinikiittttNttPPktNPtNPtP沈阳理工大学信息与计算科学–变差缩减性设平面内n+1个控制顶点构成B样条曲线P(t)的特征多边形。在该平面内的任意一条直线与P(t)的交点个数不多于该直线和特征多边形的交点个数。–几何不变性B样条曲线的形状和位置与坐标系的选择无关。沈阳理工大学信息与计算科学–仿射不变性即在仿射变换下,的表达式具有形式不变性。–直线保持性控制多边形退化为一条直线时,曲线也退化为一条直线。ninkkiittttNPAtPA011,],[,)(][)]([沈阳理工大学信息与计算科学–造型的灵活性。用B样条曲线可以构造直线段、尖点、切线等特殊情况.对于四阶(三次)B样条曲线.若要在其中得到一条直线段,只要四点位于一条直线上321,,,iiiiPPPP沈阳理工大学信息与计算科学•为了使P(t)能过P(i)点,只要使重合•尖点也可通过三重节点的方法得到•为了使曲线和某一直线L相切,只要取位于L上及的重数不大于2。21,,iiiPPP21,,iiiPPP3it沈阳理工大学信息与计算科学iP1iP2iP3iP)(tP(a)四顶点共线iP1iP2iP3iP4iP三重顶点二重顶点(b)二重顶点和三重顶点iP1iP2iP1iPiP1iP2iP3iP(c)二重节点和三重节点(d)三顶点共线图.1.26三次B样条曲线的一些特例沈阳理工大学信息与计算科学3.3.3deBoor算法•欲计算B样条曲线上对应一点P(t),可以利用B样条曲线方程,但是采用deBoor算法,计算更加快捷。–deBoor算法的导出],[)()()()()()(11,1111111,111,11,0,jjkijkjiiikikiiikiijkjikiikikikiikiiijkjikiinikiittttNPttttPtttttNtttttNttttPtNPtNPtP沈阳理工大学信息与计算科学–现令则这就是著名的deBoor算法jrkjrkjikrtPtttttPttttjkjkjirPtPriirkirkiriirkiiiri,,2,1;1,,2,1),()(,,2,1,0,)(]1[1]1[][jkjikiijkjikiitNtPtNPtP21,]1[1,)()()()(沈阳理工大学信息与计算科学deBoor算法的递推关系如图nkjjjjkjkjkjkjkjkjPPPPPPPPPPPPP]1[]2[]1[]2[3]1[33]1[22121沈阳理工大学信息与计算科学•DeBoor算法的几何意义–deBoor算法有着直观的几何意义割角,即以线段割去角。从多边形开始,经过k-1层割角,最后得到P(t)上的点][1][ririPP]1[riPjkjkjPPP21)(]1[tPrj沈阳理工大学信息与计算科学1kjP2kjPjP]1[2kjP]1[3kjP]1[jP]2[3kjP]2[jP]3[4kjP]1[kjP图3.1.28B样条曲线的deBoor算法的几何意义沈阳理工大学信息与计算科学3.3.4节点插入算法•通过插入节点可以进一步改善B样条曲线的局部性质,提高B样条曲线的形状控制的灵活性,可以实现对曲线的分割等。–插入一个节点在定义域某个节点区间内插入一个节点t,得到新的节点矢量:重新编号成为1,iitt11121111101,,,,,,,1kniiittttttTkniittttttT,,,,,,,1101沈阳理工大学信息与计算科学这个新的节点矢量U1决定了一组新的B样条基原始的B样条曲线就可以用这组新的B样条基与未知新顶点表示1iP101,1)()(njkjtNPtPj沈阳理工大学信息与计算科学•Boehm给出了这些未知新顶点的计算公式•r表示所插结点t在原始节点矢量T中的重复度。1,,1,,,2,)1(1,,1,0,11111nrijPPrikijPPPkijPPjjjjjjjjjjkjjjtttt1沈阳理工大学信息与计算科学1kiP2kiP3kiP1iPiP12kiP13kiP1iP图3.1.30实线框中k个新顶点取代虚线框中k-1个原始顶点0P1P2P3P11P12P13P1t2t3t4t5t6tt图3.1.31三次B样条曲线插入一个节点],[43ttt沈阳理工大学信息与计算科学0P1P2P3P11P1t2t3t4t5t6tt图3.1.32三次B样条曲线插入一个节点)(32ttt沈阳理工大学信息与计算科学3.3.5B样条曲面•给定参数轴u和v的节点矢量p×q阶B样条曲面定义如下],,,[10pmuuuU],,,[10qnvvvVminjqjpiijvNuNPvuP00,,)()(),(沈阳理工大学信息与计算科学构成一张控制网格,称为B样条曲面的特征网格。和是B样条基,分别由节点矢量U和V按deBoor-Cox递推公式决定。)(,uNpi)(,vNqjijP沈阳理工大学信息与计算科学00P10P20P30P01P11P21P31P02P22P12P32P03P23P33P图3.1.33双三次B样条曲面片沈阳理工大学信息与计算科学3.4NURBS曲线与曲面•B样条曲线包括其特例的Bezier曲线都不能精确表示出抛物线外的二次曲线,B样条曲面包括其特例的Bezier曲面都不能精确表示出抛物面外的二次曲面,而只能给出近似表示。•提出NURBS方法,即非均匀有理B样条方法主要是为了找到与描述自由型曲线曲面的B样条方法既相统一、又能精确表示二次曲线弧与二次曲面的数学方法。沈阳理工大学信息与计算科学•B样条曲线包括其特例的Bezier曲线都不能精确表示出抛物线外的二次曲线,B样条曲面包括其特例的Bezier曲面都不能精确表示出抛物面外的二次曲面,而只能给出近似表示。•提出NURBS方法,即非均匀有理B样条方法主要是为了找到与描述自由型曲线曲面的B样条方法既相统一、又能精确表示二次曲线弧与二次曲面的数学方法。沈阳理工大学信息与计算科学•NURBS方法的主要优点–既为标准解析形状(即前面提到的初等曲线曲面),又为自由型曲线曲面的精确表示与设计提供了一个公共的数学形式–修改控制顶点和权因子,为各种形状设计提供了充分的灵活性。–具有明显的几何解释和强有力的几何配套技术–对几何变换和投影变换具有不变性。–非有理B样条、有理与非有理Bezier方法是其特例。沈阳理工大学信息与计算科学•应用NURBS中还有一些难以解决的问题:–比传统的曲线曲面定义方法需要更多的存储空间–权因子选择不当会引起畸变–对搭接、重叠形状的处理很麻烦。–反求曲线曲面上点的参数值的算法,存在数值不稳定问题(MAF方法)沈阳理工大学信息与计算科学•在讲NURBS的定义前,先回顾一下B样条的定义:nikiitNPtP0,)()()()()(1,111,1,tNtttttNtttttNkii
本文标题:chapter3-34-2006
链接地址:https://www.777doc.com/doc-2905439 .html