非均匀有理B样条ppt课件_第1页
非均匀有理B样条ppt课件_第2页
非均匀有理B样条ppt课件_第3页
非均匀有理B样条ppt课件_第4页
非均匀有理B样条ppt课件_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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-1次)B样条基函数 B样条基函数是一个称为节点矢量的非递减的参数t的序列所决定的k阶分段多项式,也即为k阶(k-1次)多项式样条。

3、,清华大学 计算机图形学,de Boor-Cox递推定义 并约定 几个问题,清华大学 计算机图形学,几个问题 的非零区间是什么? 需要多少个节点? 定义区间是什么?,清华大学 计算机图形学,以k4,n=4为例,清华大学 计算机图形学,2性质 局部支承性。 权性。 微分公式。,清华大学 计算机图形学,B样条曲线类型的划分 曲线按其首末端点是否重合,区分为闭曲线和开曲线。 B样条曲线按其节点矢量中节点的分布情况,可划分为四种类型。,清华大学 计算机图形学,均匀B样条曲线。 节点矢量中节点为沿参数 轴均匀或等距分布,所有 节点区间长度为常数。这样的节点矢量定义了均匀的B样条基。,清华大学 计算机图形

4、学,准均匀B样条 与均匀B样条曲线的差别在于两端节点具有重复度k,这样的节点矢量定义了准均匀的B样条基。均匀B样条曲线没有保留Bezier曲线端点的几何性质,即样条曲线的首末端点不再是控制多边形的首末端点。采用准均匀的B样条曲线解决了这个问题,清华大学 计算机图形学,分段Bezier曲线 节点矢量中两端节点具有重复度k,所有内节点重复度为k-1,这样的节点矢量定义了分段的Bernstein基。,清华大学 计算机图形学,B样条曲线用分段Bezier曲线表示后,各曲线段就具有了相对的独立性,移动曲线段内的一个控制顶点只影响该曲线段的形状,对其它曲线段的形状没有影响。并且Bezier曲线一整套简单有

5、效的算法都可以原封不动地采用。缺点是增加了定义曲线的数据,控制顶点数及节点数。,清华大学 计算机图形学,非均匀B样条曲线 任意分布的节点矢量 ,只要在数学上成立(节点序列非递减,两端节点重复度k,内节点重复度k-1)都可选取。这样的节点矢量定义了非均匀B样条基。,清华大学 计算机图形学,3.3.2 B样条曲线的性质 局部性。k 阶B样条曲线上参数为 的一点至多与k个控制顶点 有关,与其它控制顶点无关;移动该曲线的第 i个控制顶点Pi至多影响到定义在区间 上那部分曲线的形状,对曲线的其余部分不发生影响。,清华大学 计算机图形学,连续性 P(t)在r重节点处的连续阶不低于 k-1-r。 凸包性 P

6、(t)在区间 上的部分位于k个点 的凸包 内,整条曲线则位于各凸包 的并集之内。,清华大学 计算机图形学,分段参数多项式 P(t)在每一区间上都是次数不高于k-1的参数t的多项式 导数公式,清华大学 计算机图形学,变差缩减性 设平面内 n+1 个控制顶点 构成B样条曲线 P(t) 的特征多边形。在该平面内的任意一条直线与 P(t) 的交点个数不多于该直线和特征多边形的交点个数。 几何不变性 B样条曲线的形状和位置与坐标系的选择无关。,清华大学 计算机图形学,仿射不变性 即在仿射变换下,的表达式具有形式不变性。 直线保持性 控制多边形退化为一条直线时, 曲线也退化为一条直线。,清华大学 计算机图

7、形学,造型的灵活性。 用B样条曲线可以构造直线段、尖点、切线等特殊情况.对于四阶(三次)B样条曲线.若要在其中得到一条直线段,只要四点 位于一条直线上,清华大学 计算机图形学,为了使P(t)能过P(i)点,只要使 重合 尖点也可通过三重节点的方法得到 为了使曲线和某一直线L相切,只要取 位于L上及 的重数不大于2。,清华大学 计算机图形学,清华大学 计算机图形学,3.3.3 de Boor 算法,欲计算B样条曲线上对应一点P(t),可以利用B样条曲线方程,但是采用de Boor 算法,计算更加快捷。 de Boor 算法的导出,清华大学 计算机图形学,现令 则 这就是著名的de Boor 算法

8、,清华大学 计算机图形学,de Boor 算法的递推关系如图,清华大学 计算机图形学,De Boor 算法的几何意义 de Boor算法有着直观的几何意义 割角,即以线段 割去角 。从多边形 开始,经过 k-1 层割角,最后得到P(t)上的点,清华大学 计算机图形学,清华大学 计算机图形学,3.3.4 节点插入算法,通过插入节点可以进一步改善B样条曲线的局部性质,提高B样条曲线的形状控制的灵活性,可以实现对曲线的分割等。 插入一个节点 在定义域某个节点区间 内插入一个节点t,得到新的节点矢量: 重新编号成为,清华大学 计算机图形学,这个新的节点矢量U1决定了一组新的B样条基 原始的B样条曲线就

9、可以用这组新的B样条基与未知新顶点 表示,清华大学 计算机图形学,Boehm给出了这些未知新顶点的计算公式 r 表示所插结点t在原始节点矢量T中的重复度。,清华大学 计算机图形学,清华大学 计算机图形学,清华大学 计算机图形学,3.3.5 B样条曲面,给定参数轴u和v的节点矢量 pq阶B样条曲面定义如下,清华大学 计算机图形学,构成一张控制网格,称为B样条曲面的特征网格。 和 是B样条基,分别由节点矢量U和V按deBoor-Cox递推公式决定。,清华大学 计算机图形学,清华大学 计算机图形学,3.4 NURBS曲线与曲面,B样条曲线包括其特例的Bezier曲线都不能精确表示出抛物线外的二次曲线

10、,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

11、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

12、 students, teachers and designers of geometric modeling systems. Helmut Pottmann,清华大学 计算机图形学,NURBS方法的主要优点 既为标准解析形状(即前面提到的初等曲线曲面),又为自由型曲线曲面的精确表示与设计提供了一个公共的数学形式,清华大学 计算机图形学,B样条曲线包括其特例的Bezier曲线都不能精确表示出抛物线外的二次曲线,B样条曲面包括其特例的Bezier曲面都不能精确表示出抛物面外的二次曲面,而只能给出近似表示。 提出NURBS方法,即非均匀有理B样条方法主要是为了找到与描述自由型曲线曲面的B样条方法

13、既相统一、又能精确表示二次曲线弧与二次曲面的数学方法。,清华大学 计算机图形学,两类研究问题 逼近问题:圆弧的Bezier曲线逼近,挪威Oslo学派的工作 精确表示问题:权因子、顶点满足什么条件才能精确表示圆弧?,清华大学 计算机图形学,NURBS方法的主要优点 既为标准解析形状(即前面提到的初等曲线曲面),又为自由型曲线曲面的精确表示与设计提供了一个公共的数学形式 修改控制顶点和权因子,为各种形状设计提供了充分的灵活性。 具有明显的几何解释和强有力的几何配套技术 对几何变换和投影变换具有不变性。 非有理B样条、有理与非有理Bezier方法是其特例。,清华大学 计算机图形学,应用NURBS中还

14、有一些难以解决的问题: 比传统的曲线曲面定义方法需要更多的存储空间 权因子选择不当会引起畸变 对搭接、重叠形状的处理很麻烦。 反求曲线曲面上点的参数值的算法,存在数值不稳定问题 (MAF方法),清华大学 计算机图形学,在讲NURBS 的定义前,先回顾一下B样条的定义:,清华大学 计算机图形学,3.4.1NURBS曲线的定义 NURBS曲线是由分段有理B样条多项式基函数定义的,清华大学 计算机图形学,Ri,k(t)具有k阶B样条基函数类似的性质: 局部支承性:Ri,k(t)=0,tti, ti+k 权性: 可微性:如果分母不为零,在节点区间内是无限次连续可微的,在节点处 (k-1-r)次连续可导

15、,r是该节点的重复度。 若i=0,则Ri,k(t)=0; 若i=+,则Ri,k(t)=1;,清华大学 计算机图形学,NURBS曲线与B样条曲线具有类似的几何性质: 局部性质。 变差减小性质。 凸包性。 在仿射与透射变换下的不变性。 在曲线定义域内有与有理基函数同样的可微性。,清华大学 计算机图形学,如果某个权因子为零,那么相应控制顶点对曲线没有影响。 若 ,则当 时, 非有理与有理Bezier曲线和非有理B样条曲线是NURBS曲线的特殊情况,清华大学 计算机图形学,3.4.2 齐次坐标表示 齐次坐标系xyw中的控制顶点为 k阶非有理B样条曲线可表示为:,清华大学 计算机图形学,以坐标原点为投影

16、中心,则得到平面曲线,清华大学 计算机图形学,三维空间的NURBS曲线可以类似地定义。 非有理B样条的算法可以推广到NURBS曲线,只不过是在齐次坐标下进行。,清华大学 计算机图形学,3.4.3 权因子的几何意义 如果固定曲线的参数t,而使 变化,则NURBS曲线方程变成以 为参数的直线方 程,即NURBS曲线上t值相同的点都位于同一直线上。,清华大学 计算机图形学,分别是 对应曲线上的点,即 N,Bi可表示为: (Pi,Bi,N,B)四点的交比,清华大学 计算机图形学,(1)若i增大或减小,则也增大或减小,所以曲线被拉向或推离开Pi点; (2)若j增大或减小,曲线被推离或拉向Pj(ji)。,

17、清华大学 计算机图形学,3.4.4圆锥曲线的NURBS表示,取节点向量为 则NURBS曲线退化为二次Bezier曲线,且可以证明,这是圆锥曲线弧方程。 称为形状因子, 的值确定了圆锥曲线的类型。 时,上式是抛物线弧,,清华大学 计算机图形学,时,上式是双曲线弧, 时,上式是椭圆弧。 时,上式退化为一对直线段P0P1和 P1P2, 时,上式退化为连接两点P0P2的直线段,清华大学 计算机图形学,3.4.5 NURBS曲线的修改,常用的方法有修改权因子、控制点和反插节点。 修改权因子 当保持控制顶点和其它权因子不变,减少或增加某权因子时,曲线被推离或拉向相应顶点。,清华大学 计算机图形学,欲将曲线

18、在该点S拉向或推离控制顶点Pi一个距离d,以得到新点S,可由重新确定相应的权因子 使之改变为 来达到 修改控制顶点 修改控制顶点的位置,曲线随之变形。,清华大学 计算机图形学,基于几何约束的形状修改 问题的提法:求新的控制顶点,使曲线上的 点S变到T。 T S P(t),清华大学 计算机图形学,将曲线改写为 其中,清华大学 计算机图形学,约束优化方法 假设控制顶点 改变,以满足点约束。我们对以上每个点,给一个扰动量 ,并用约束优化方法求之。 约束条件为,清华大学 计算机图形学,令 由 Lagrange 函数 可得方程组,清华大学 计算机图形学,解方程组可得,清华大学 计算机图形学,当只有一个控制顶点可动时,即为 此为CAD主编Piegl于1989年提出的公式。 该方法可推广到其他几何约束及曲面。,清华大学 计算机图形学,基于能量极小的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论