资源预览内容
第1页 / 共71页
第2页 / 共71页
第3页 / 共71页
第4页 / 共71页
第5页 / 共71页
第6页 / 共71页
第7页 / 共71页
第8页 / 共71页
第9页 / 共71页
第10页 / 共71页
亲,该文档总共71页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
3.3 B样条曲线与曲面Bezier曲线或曲面有许多优越性,但有两点不足:Bezier曲线或曲面不能作局部修改;Bezier曲线或曲面的拼接比较复杂清华大学清华大学 计算机图形学计算机图形学1972年,Gordon、Riesenfeld等人发展了1946年Schoenberg提出的样条方法 , 提出了B样条方法,在保留Bezier方法全部优点的同时,克服了Bezier方法的弱点。 样条的史话清华大学清华大学 计算机图形学计算机图形学样条的史话(1)1946年的红皮书 Schoenberg拉开了神话的序幕 从插值的R-K现象说起 样条分段连续多项式清华大学清华大学 计算机图形学计算机图形学样条的史话(2)断言样条不可能用于外形设计几何样条出现,离散计算,峰回路转 Riesenfield, Gordan, .清华大学清华大学 计算机图形学计算机图形学如何理解B-样条?样条插值,三对角方程 (函数、参数)给定分划,所有的B样条的全体组成一个线性空间,线性空间有基函数,这就是B样条基函数由B样条基函数代替Bezier曲线中的Bernstein基函数,即B样条曲线。清华大学清华大学 计算机图形学计算机图形学3.3.1 B样条的递推定义和性质B样条曲线的方程定义为: 是控制多边形的顶点 (i=0,1,.,n) 称为k阶(k-1次)B样条基函数 B样条基函数是一个称为节点矢量的非递减的参数t的序列所决定的k阶分段多项式,也即为k阶(k-1次)多项式样条。清华大学清华大学 计算机图形学计算机图形学 de Boor-Cox递推定义 并约定 几个问题清华大学清华大学 计算机图形学计算机图形学几个问题 的非零区间是什么?需要多少个节点?定义区间是什么?清华大学清华大学 计算机图形学计算机图形学以k4,n=4为例清华大学清华大学 计算机图形学计算机图形学2性质局部支承性。权性。微分公式。清华大学清华大学 计算机图形学计算机图形学B样条曲线类型的划分曲线按其首末端点是否重合,区分为闭曲线和开曲线。B样条曲线按其节点矢量中节点的分布情况,可划分为四种类型。清华大学清华大学 计算机图形学计算机图形学均匀B样条曲线。 节点矢量中节点为沿参数 轴均匀或等距分布,所有 节点区间长度为常数。这样的节点矢量定义了均匀的B样条基。清华大学清华大学 计算机图形学计算机图形学准均匀B样条 与均匀B样条曲线的差别在于两端节点具有重复度k,这样的节点矢量定义了准均匀的B样条基。均匀B样条曲线没有保留Bezier曲线端点的几何性质,即样条曲线的首末端点不再是控制多边形的首末端点。采用准均匀的B样条曲线解决了这个问题清华大学清华大学 计算机图形学计算机图形学分段Bezier曲线 节点矢量中两端节点具有重复度k,所有内节点重复度为k-1,这样的节点矢量定义了分段的Bernstein基。清华大学清华大学 计算机图形学计算机图形学 B样条曲线用分段Bezier曲线表示后,各曲线段就具有了相对的独立性,移动曲线段内的一个控制顶点只影响该曲线段的形状,对其它曲线段的形状没有影响。并且Bezier曲线一整套简单有效的算法都可以原封不动地采用。缺点是增加了定义曲线的数据,控制顶点数及节点数。清华大学清华大学 计算机图形学计算机图形学非均匀B样条曲线 任意分布的节点矢量 ,只要在数学上成立(节点序列非递减,两端节点重复度k,内节点重复度k-1)都可选取。这样的节点矢量定义了非均匀B样条基。清华大学清华大学 计算机图形学计算机图形学3.3.2 B样条样条曲线的性质曲线的性质局部性。k 阶B样条曲线上参数为的一点至多与k个控制顶点有关,与其它控制顶点无关;移动该曲线的第i个控制顶点Pi至多影响到定义在区间 上那部分曲线的形状,对曲线的其余部分不发生影响。清华大学清华大学 计算机图形学计算机图形学 连续性 P(t)在r重节点处的连续阶不低于 k-1-r。 凸包性 P(t)在区间 上的部分位于k个点 的凸包 内,整条曲线则位于各凸包 的并集之内。清华大学清华大学 计算机图形学计算机图形学分段参数多项式P(t)在每一区间上都是次数不高于k-1的参数t的多项式 导数公式 清华大学清华大学 计算机图形学计算机图形学变差缩减性 设平面内 n+1 个控制顶点 构成B样条曲线 P(t) 的特征多边形。在该平面内的任意一条直线与 P(t) 的交点个数不多于该直线和特征多边形的交点个数。几何不变性B样条曲线的形状和位置与坐标系的选择无关。清华大学清华大学 计算机图形学计算机图形学仿射不变性即在仿射变换下,的表达式具有形式不变性。直线保持性控制多边形退化为一条直线时, 曲线也退化为一条直线。清华大学清华大学 计算机图形学计算机图形学 造型的灵活性。用B样条曲线可以构造直线段、尖点、切线等特殊情况.对于四阶(三次)B样条曲线.若要在其中得到一条直线段,只要四点 位于一条直线上清华大学清华大学 计算机图形学计算机图形学为了使P(t)能过P(i)点,只要使 重合尖点也可通过三重节点的方法得到为了使曲线和某一直线L相切,只要取 位于L上及 的重数不大于2。清华大学清华大学 计算机图形学计算机图形学 清华大学清华大学 计算机图形学计算机图形学3.3.3 de Boor 算法欲计算B样条曲线上对应一点P(t),可以利用B样条曲线方程,但是采用de Boor 算法,计算更加快捷。de Boor 算法的导出清华大学清华大学 计算机图形学计算机图形学现令则这就是著名的de Boor 算法清华大学清华大学 计算机图形学计算机图形学de Boor 算法的递推关系如图清华大学清华大学 计算机图形学计算机图形学De Boor 算法的几何意义de Boor算法有着直观的几何意义 割角,即以线段 割去角 。从多边形 开始,经过 k-1 层割角,最后得到P(t)上的点清华大学清华大学 计算机图形学计算机图形学 清华大学清华大学 计算机图形学计算机图形学3.3.4 节点插入算法通过插入节点可以进一步改善B样条曲线的局部性质,提高B样条曲线的形状控制的灵活性,可以实现对曲线的分割等。插入一个节点 在定义域某个节点区间 内插入一个节点t,得到新的节点矢量: 重新编号成为清华大学清华大学 计算机图形学计算机图形学这个新的节点矢量U1决定了一组新的B样条基原始的B样条曲线就可以用这组新的B样条基与未知新顶点 表示清华大学清华大学 计算机图形学计算机图形学Boehm给出了这些未知新顶点的计算公式 r 表示所插结点t在原始节点矢量T中的重复度。清华大学清华大学 计算机图形学计算机图形学 清华大学清华大学 计算机图形学计算机图形学 清华大学清华大学 计算机图形学计算机图形学 3.3.5 B样条曲面给定参数轴u和v的节点矢量 pq阶阶B样条曲面样条曲面定义如下 清华大学清华大学 计算机图形学计算机图形学 构成一张控制网格,称为B样条曲面的特征网格特征网格。 和 是B样条基,分别由节点矢量U和V按deBoor-Cox递推公式决定。清华大学清华大学 计算机图形学计算机图形学 清华大学清华大学 计算机图形学计算机图形学3.4 NURBS曲线与曲面B样条曲线包括其特例的Bezier曲线都不能精确表示出抛物线外的二次曲线,B样条曲面包括其特例的Bezier曲面都不能精确表示出抛物面外的二次曲面,而只能给出近似表示。提出NURBS方法,即非均匀有理非均匀有理B样条样条方法主要是为了找到与描述自由型曲线曲面的B样条方法既相统一、又能精确表示二次曲线弧与二次曲面的数学方法。清华大学清华大学 计算机图形学计算机图形学NURBS太过复杂,常令人望洋兴叹NURBS Book, 走向实用化 (见下页)清华大学清华大学 计算机图形学计算机图形学 Some years ago a few researchers joked about NURBS, saying that the acronym really stands for NOBODY Understands Rational 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 students, teachers and designers of geometric modeling systems. Helmut Pottmann清华大学清华大学 计算机图形学计算机图形学NURBS方法的主要优点既为标准解析形状(即前面提到的初等曲线曲面),又为自由型曲线曲面的精确表示与设计提供了一个公共的数学形式清华大学清华大学 计算机图形学计算机图形学B样条曲线包括其特例的Bezier曲线都不能精确表示出抛物线外的二次曲线,B样条曲面包括其特例的Bezier曲面都不能精确表示出抛物面外的二次曲面,而只能给出近似表示。提出NURBS方法,即非均匀有理非均匀有理B样条样条方法主要是为了找到与描述自由型曲线曲面的B样条方法既相统一、又能精确表示二次曲线弧与二次曲面的数学方法。清华大学清华大学 计算机图形学计算机图形学两类研究问题逼近问题:圆弧的Bezier曲线逼近,挪威Oslo学派的工作精确表示问题:权因子、顶点满足什么条件才能精确表示圆弧?清华大学清华大学 计算机图形学计算机图形学NURBS方法的主要优点既为标准解析形状(即前面提到的初等曲线曲面),又为自由型曲线曲面的精确表示与设计提供了一个公共的数学形式修改控制顶点和权因子,为各种形状设计提供了充分的灵活性。具有明显的几何解释和强有力的几何配套技术对几何变换和投影变换具有不变性。非有理B样条、有理与非有理Bezier方法是其特例。清华大学清华大学 计算机图形学计算机图形学应用NURBS中还有一些难以解决的问题:比传统的曲线曲面定义方法需要更多的存储空间权因子选择不当会引起畸变对搭接、重叠形状的处理很麻烦。反求曲线曲面上点的参数值的算法,存在数值不稳定问题 (MAF方法) 清华大学清华大学 计算机图形学计算机图形学在讲NURBS 的定义前,先回顾一下B样条的定义:清华大学清华大学 计算机图形学计算机图形学3.4.4.1NURBS曲线的定义曲线的定义NURBS曲线是由分段有理B样条多项式基函数定义的清华大学清华大学 计算机图形学计算机图形学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;清华大学清华大学 计算机图形学计算机图形学NURBS曲线与B样条曲线具有类似的几何性质:局部性质。变差减小性质。凸包性。在仿射与透射变换下的不变性。在曲线定义域内有与有理基函数同样的可微性。清华大学清华大学 计算机图形学计算机图形学如果某个权因子为零,那么相应控制顶点对曲线没有影响。若 ,则当 时,非有理与有理Bezier曲线和非有理B样条曲线是NURBS曲线的特殊情况清华大学清华大学 计算机图形学计算机图形学3.4.2 齐次坐标表示齐次坐标表示齐次坐标系xyw中的控制顶点为k阶非有理B样条曲线可表示为:清华大学清华大学 计算机图形学计算机图形学以坐标原点为投影中心,则得到平面曲线清华大学清华大学 计算机图形学计算机图形学三维空间的NURBS曲线可以类似地定义。非有理B样条的算法可以推广到NURBS曲线,只不过是在齐次坐标下进行。清华大学清华大学 计算机图形学计算机图形学3. .4.3 .3 权因子的几何意义权因子的几何意义如果固定曲线的参数t,而使 变化,则NURBS曲线方程变成以 为参数的直线方 程,即NURBS曲线上t值相同的点都位于同一直线上。清华大学清华大学 计算机图形学计算机图形学 分别是 对应曲线上的点,即N,Bi可表示为: (Pi,Bi,N,B)四点的交比清华大学清华大学 计算机图形学计算机图形学(1)若i增大或减小,则也增大或减小,所以曲线被拉向或推离开Pi点;(2)若j增大或减小,曲线被推离或拉向Pj(ji)。清华大学清华大学 计算机图形学计算机图形学3.4.4圆锥曲线的NURBS表示取节点向量为 则NURBS曲线退化为二次Bezier曲线,且可以证明,这是圆锥曲线弧方程。 称为形状因子, 的值确定了圆锥曲线的类型。 时,上式是抛物线弧, 清华大学清华大学 计算机图形学计算机图形学 时,上式是双曲线弧, 时,上式是椭圆弧。 时,上式退化为一对直线段P0P1和 P1P2, 时,上式退化为连接两点P0P2的直线段清华大学清华大学 计算机图形学计算机图形学3.4.5 NURBS曲线的修改常用的方法有修改权因子、控制点和反插节点。修改权因子当保持控制顶点和其它权因子不变,减少或增加某权因子时,曲线被推离或拉向相应顶点。清华大学清华大学 计算机图形学计算机图形学欲将曲线在该点S拉向或推离控制顶点Pi一个距离d,以得到新点S,可由重新确定相应的权因子 使之改变为 来达到修改控制顶点修改控制顶点的位置,曲线随之变形。 清华大学清华大学 计算机图形学计算机图形学基于几何约束的形状修改问题的提法:求新的控制顶点,使曲线上的 点S变到T。 T S P(t)清华大学清华大学 计算机图形学计算机图形学将曲线改写为其中清华大学清华大学 计算机图形学计算机图形学约束优化方法 假设控制顶点 改变,以满足点约束。我们对以上每个点,给一个扰动量 ,并用约束优化方法求之。 约束条件为 清华大学清华大学 计算机图形学计算机图形学 令 由 Lagrange 函数 可得方程组 清华大学清华大学 计算机图形学计算机图形学解方程组可得清华大学清华大学 计算机图形学计算机图形学 当只有一个控制顶点可动时,即为 此为CAD主编Piegl于1989年提出的公式。该方法可推广到其他几何约束及曲面。 清华大学清华大学 计算机图形学计算机图形学基于能量极小的方法 曲线 strainenergy 曲面 Thin plate energy 清华大学清华大学 计算机图形学计算机图形学3.4.6 非均匀有理B样条(NURBS)曲面NURBS曲面的定义清华大学清华大学 计算机图形学计算机图形学 规定四角点处用正权因子,即 ,其余 。NURBS曲面的性质 与非有理B样条基函数相类似的性质:局部支承性质权性清华大学清华大学 计算机图形学计算机图形学可微性. 在重复度为r的u节点处沿u向是p-r-1次连续可微,在重复度为r的v节点处沿v向是q-r-1次连续可微极值.若p,q1,恒有一个极大值存在是双变量B样条基函数的推广清华大学清华大学 计算机图形学计算机图形学 谢谢! 清华大学清华大学 计算机图形学计算机图形学
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号