Presentation is loading. Please wait.

Presentation is loading. Please wait.

3.3 B样条曲线与曲面 Bezier曲线或曲面有许多优越性,但有两点不足: Bezier曲线或曲面不能作局部修改;

Similar presentations


Presentation on theme: "3.3 B样条曲线与曲面 Bezier曲线或曲面有许多优越性,但有两点不足: Bezier曲线或曲面不能作局部修改;"— Presentation transcript:

1 3.3 B样条曲线与曲面 Bezier曲线或曲面有许多优越性,但有两点不足: Bezier曲线或曲面不能作局部修改;
清华大学 计算机图形学

2 1972年,Gordon、Riesenfeld等人发展了1946年Schoenberg提出的样条方法 , 提出了B样条方法,在保留Bezier方法全部优点的同时,克服了Bezier方法的弱点。
样条的史话 清华大学 计算机图形学

3 样条的史话(1) 1946年的红皮书 Schoenberg拉开了神话的序幕 从插值的R-K现象说起 样条-分段连续多项式
清华大学 计算机图形学

4 样条的史话(2) 断言样条不可能用于外形设计 几何样条出项,离散计算,峰回路转 Riesenfield, Gordan, ...
清华大学 计算机图形学

5 如何理解B-样条? 样条插值,三对角方程 (函数、参数) 给定分划,所有的B样条的全体组成一个线性空间,线性空间有基函数,这就是B样条基函数
样条插值,三对角方程 (函数、参数) 给定分划,所有的B样条的全体组成一个线性空间,线性空间有基函数,这就是B样条基函数 由B样条基函数代替Bezier曲线中底Bernstein基函数,即B样条曲线。 清华大学 计算机图形学

6 3.3.1 B样条的递推定义和性质 B样条曲线的方程定义为: 是控制多边形的顶点 (i=0,1,..,n) 称为k阶(k-1次)B样条基函数
B样条基函数是一个称为节点矢量的非递减的参数t的序列所决定的k阶分段多项式,也即为k阶(k-1次)多项式样条。 清华大学 计算机图形学

7 de Boor-Cox递推定义 并约定 几个问题 清华大学 计算机图形学

8 几个问题 的非零区间是什么? 需要多少个节点? 定义区间是什么? 清华大学 计算机图形学

9 以k=4,n=4为例 清华大学 计算机图形学

10 2.性质 局部支承性。 权性。 微分公式。 清华大学 计算机图形学

11 B样条曲线类型的划分 曲线按其首末端点是否重合,区分为闭曲线和开曲线。 B样条曲线按其节点矢量中节点的分布情况,可划分为四种类型。
清华大学 计算机图形学

12 节点矢量中节点为沿参数 轴均匀或等距分布,所有 节点区间长度为常数。这样的节点矢量定义了均匀的B样条基。
清华大学 计算机图形学

13 准均匀B样条 与均匀B样条曲线的差别在于两端节点具有重复度k,这样的节点矢量定义了准均匀的B样条基。均匀B样条曲线没有保留Bezier曲线端点的几何性质,即样条曲线的首末端点不再是控制多边形的首末端点。采用准均匀的B样条曲线解决了这个问题 清华大学 计算机图形学

14 节点矢量中两端节点具有重复度k,所有内节点重复度为k-1,这样的节点矢量定义了分段的Bernstein基。
分段Bezier曲线 节点矢量中两端节点具有重复度k,所有内节点重复度为k-1,这样的节点矢量定义了分段的Bernstein基。 清华大学 计算机图形学

15 B样条曲线用分段Bezier曲线表示后,各曲线段就具有了相对的独立性,移动曲线段内的一个控制顶点只影响该曲线段的形状,对其它曲线段的形状没有影响。并且Bezier曲线一整套简单有效的算法都可以原封不动地采用。缺点是增加了定义曲线的数据,控制顶点数及节点数。 清华大学 计算机图形学

16 非均匀B样条曲线 任意分布的节点矢量 ,只要在数学上成立(节点序列非递减,两端节点重复度≤k,内节点重复度≤k-1)都可选取。这样的节点矢量定义了非均匀B样条基。 清华大学 计算机图形学

17 3.3.2 B样条曲线的性质 局部性。k 阶B样条曲线上参数为 的一点至多与k个控制顶点 有关,与其它控制顶点无关;移动该曲线的第
i个控制顶点Pi至多影响到定义在区间 上那部分曲线的形状,对曲线的其余部分不发生影响。 清华大学 计算机图形学

18 P(t)在r重节点处的连续阶不低于 k-1-r。 凸包性 P(t)在区间 上的部分位于k个点 的凸包 内,整条曲线则位于各凸包 的并集之内。
连续性 P(t)在r重节点处的连续阶不低于 k-1-r。 凸包性 P(t)在区间 上的部分位于k个点 的凸包 内,整条曲线则位于各凸包 的并集之内。 清华大学 计算机图形学

19 分段参数多项式 P(t)在每一区间上都是次数不高于k-1的参数t的多项式 导数公式 清华大学 计算机图形学

20 变差缩减性 设平面内 n+1 个控制顶点 构成B样条曲线 P(t) 的特征多边形。在该平面内的任意一条直线与 P(t) 的交点个数不多于该直线和特征多边形的交点个数。 几何不变性 B样条曲线的形状和位置与坐标系的选择无关。 清华大学 计算机图形学

21 仿射不变性 直线保持性 即在仿射变换下,的表达式具有形式不变性。 控制多边形退化为一条直线时, 曲线也退化为一条直线。
清华大学 计算机图形学

22 造型的灵活性。 用B样条曲线可以构造直线段、尖点、切线等特殊情况.对于四阶(三次)B样条曲线.若要在其中得到一条直线段,只要四点
位于一条直线上 清华大学 计算机图形学

23 为了使P(t)能过P(i)点,只要使 重合 尖点也可通过三重节点的方法得到 为了使曲线和某一直线L相切,只要取 位于L上及 的重数不大于2。
清华大学 计算机图形学

24 清华大学 计算机图形学

25 de Boor 算法 欲计算B样条曲线上对应一点P(t),可以利用B样条曲线方程,但是采用de Boor 算法,计算更加快捷。 de Boor 算法的导出 清华大学 计算机图形学

26 现令 这就是著名的de Boor 算法 清华大学 计算机图形学

27 de Boor 算法的递推关系如图 清华大学 计算机图形学

28 De Boor 算法的几何意义 de Boor算法有着直观的几何意义  割角,即以线段 割去角 。从多边形
开始,经过 k-1 层割角,最后得到P(t)上的点 清华大学 计算机图形学

29 清华大学 计算机图形学

30 3.3.4 节点插入算法 通过插入节点可以进一步改善B样条曲线的局部性质,提高B样条曲线的形状控制的灵活性,可以实现对曲线的分割等。
节点插入算法 通过插入节点可以进一步改善B样条曲线的局部性质,提高B样条曲线的形状控制的灵活性,可以实现对曲线的分割等。 插入一个节点 在定义域某个节点区间 内插入一个节点t,得到新的节点矢量: 重新编号成为 清华大学 计算机图形学

31 这个新的节点矢量U1决定了一组新的B样条基 原始的B样条曲线就可以用这组新的B样条基与未知新顶点 表示
清华大学 计算机图形学

32 r 表示所插结点t在原始节点矢量T中的重复度。
Boehm给出了这些未知新顶点的计算公式 r 表示所插结点t在原始节点矢量T中的重复度。 清华大学 计算机图形学

33 清华大学 计算机图形学

34 清华大学 计算机图形学

35 B样条曲面 给定参数轴u和v的节点矢量 p×q阶B样条曲面定义如下 清华大学 计算机图形学

36 构成一张控制网格,称为B样条曲面的特征网格。 和 是B样条基,分别由节点矢量U和V按deBoor-Cox递推公式决定。
清华大学 计算机图形学

37 清华大学 计算机图形学

38 3.4 NURBS曲线与曲面 B样条曲线包括其特例的Bezier曲线都不能精确表示出抛物线外的二次曲线,B样条曲面包括其特例的Bezier曲面都不能精确表示出抛物面外的二次曲面,而只能给出近似表示。 提出NURBS方法,即非均匀有理B样条方法主要是为了找到与描述自由型曲线曲面的B样条方法既相统一、又能精确表示二次曲线弧与二次曲面的数学方法。 清华大学 计算机图形学

39 NURBS Book, 走向实用化 (见下页)
清华大学 计算机图形学

40 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 清华大学 计算机图形学

41 NURBS方法的主要优点 既为标准解析形状(即前面提到的初等曲线曲面),又为自由型曲线曲面的精确表示与设计提供了一个公共的数学形式
清华大学 计算机图形学

42 B样条曲线包括其特例的Bezier曲线都不能精确表示出抛物线外的二次曲线,B样条曲面包括其特例的Bezier曲面都不能精确表示出抛物面外的二次曲面,而只能给出近似表示。
提出NURBS方法,即非均匀有理B样条方法主要是为了找到与描述自由型曲线曲面的B样条方法既相统一、又能精确表示二次曲线弧与二次曲面的数学方法。 清华大学 计算机图形学

43 两类研究问题 逼近问题:圆弧的Bezier曲线逼近,挪威Oslo学派的工作 精确表示问题:权因子、顶点满足什么条件才能精确表示圆弧?
清华大学 计算机图形学

44 NURBS方法的主要优点 既为标准解析形状(即前面提到的初等曲线曲面),又为自由型曲线曲面的精确表示与设计提供了一个公共的数学形式
修改控制顶点和权因子,为各种形状设计提供了充分的灵活性。 具有明显的几何解释和强有力的几何配套技术 对几何变换和投影变换具有不变性。 非有理B样条、有理与非有理Bezier方法是其特例。 清华大学 计算机图形学

45 应用NURBS中还有一些难以解决的问题:
比传统的曲线曲面定义方法需要更多的存储空间 权因子选择不当会引起畸变 对搭接、重叠形状的处理很麻烦。 反求曲线曲面上点的参数值的算法,存在数值不稳定问题 (MAF方法) 清华大学 计算机图形学

46 在讲NURBS 的定义前,先回顾一下B样条的定义:
清华大学 计算机图形学

47 3.4.1 NURBS曲线的定义 NURBS曲线是由分段有理B样条多项式基函数定义的 清华大学 计算机图形学

48 Ri,k(t)具有k阶B样条基函数类似的性质:
局部支承性:Ri,k(t)=0,t[ti, ti+k] 权性: 可微性:如果分母不为零,在节点区间内是无限次连续可微的,在节点处 (k-1-r)次连续可导,r是该节点的重复度。 若i=0,则Ri,k(t)=0; 若i=+,则Ri,k(t)=1; 清华大学 计算机图形学

49 NURBS曲线与B样条曲线具有类似的几何性质:
局部性质。 变差减小性质。 凸包性。 在仿射与透射变换下的不变性。 在曲线定义域内有与有理基函数同样的可微性。 清华大学 计算机图形学

50 如果某个权因子为零,那么相应控制顶点对曲线没有影响。
若 ,则当 时, 非有理与有理Bezier曲线和非有理B样条曲线是NURBS曲线的特殊情况 清华大学 计算机图形学

51 3.4.2 齐次坐标表示 齐次坐标系xyw中的控制顶点为 k阶非有理B样条曲线可表示为: 清华大学 计算机图形学

52 以坐标原点为投影中心,则得到平面曲线 清华大学 计算机图形学

53 三维空间的NURBS曲线可以类似地定义。
非有理B样条的算法可以推广到NURBS曲线,只不过是在齐次坐标下进行。 清华大学 计算机图形学

54 3.4.3 权因子的几何意义 如果固定曲线的参数t,而使 变化,则NURBS曲线方程变成以 为参数的直线方
程,即NURBS曲线上t值相同的点都位于同一直线上。 清华大学 计算机图形学

55 分别是 对应曲线上的点,即 N,Bi可表示为: (Pi,Bi,N,B)四点的交比 清华大学 计算机图形学

56 (1)若i增大或减小,则也增大或减小,所以曲线被拉向或推离开Pi点; (2)若j增大或减小,曲线被推离或拉向Pj(ji)。
清华大学 计算机图形学

57 3.4.4圆锥曲线的NURBS表示 取节点向量为 则NURBS曲线退化为二次Bezier曲线,且可以证明,这是圆锥曲线弧方程。
称为形状因子, 的值确定了圆锥曲线的类型。 时,上式是抛物线弧, 清华大学 计算机图形学

58 时,上式是双曲线弧, 时,上式是椭圆弧。 时,上式退化为一对直线段P0P1和 P1P2, 时,上式退化为连接两点P0P2的直线段
清华大学 计算机图形学

59 3.4.5 NURBS曲线的修改 修改权因子 常用的方法有修改权因子、控制点和反插节点。
当保持控制顶点和其它权因子不变,减少或增加某权因子时,曲线被推离或拉向相应顶点。 清华大学 计算机图形学

60 欲将曲线在该点S拉向或推离控制顶点Pi一个距离d,以得到新点S’,可由重新确定相应的权因子 使之改变为 来达到
修改控制顶点 修改控制顶点的位置,曲线随之变形。 清华大学 计算机图形学

61 基于几何约束的形状修改 问题的提法:求新的控制顶点,使曲线上的 点S变到T。 T S P(t) 清华大学 计算机图形学

62 将曲线改写为 其中 清华大学 计算机图形学

63 假设控制顶点 改变,以满足点约束。我们对以上每个点,给一个扰动量 ,并用约束优化方法求之。 约束条件为
假设控制顶点 改变,以满足点约束。我们对以上每个点,给一个扰动量 ,并用约束优化方法求之。 约束条件为 清华大学 计算机图形学

64 由 Lagrange 函数 可得方程组 清华大学 计算机图形学

65 解方程组可得 清华大学 计算机图形学

66 此为CAD主编Piegl于1989年提出的公式。 该方法可推广到其他几何约束及曲面。
当只有一个控制顶点可动时,即为 此为CAD主编Piegl于1989年提出的公式。 该方法可推广到其他几何约束及曲面。 清华大学 计算机图形学

67 基于能量极小的方法 曲线 strain energy 曲面 Thin plate energy 清华大学 计算机图形学

68 3.4.6 非均匀有理B样条(NURBS)曲面 NURBS曲面的定义 清华大学 计算机图形学

69 规定四角点处用正权因子,即 ,其余 。 NURBS曲面的性质 与非有理B样条基函数相类似的性质: 局部支承性质 权性 清华大学 计算机图形学

70 可微性. 在重复度为r的u节点处沿u向是p-r-1次连续可微,在重复度为r的v节点处沿v向是q-r-1次连续可微
极值.若p,q>1,恒有一个极大值存在 是双变量B样条基函数的推广 清华大学 计算机图形学

71 谢谢! 清华大学 计算机图形学


Download ppt "3.3 B样条曲线与曲面 Bezier曲线或曲面有许多优越性,但有两点不足: Bezier曲线或曲面不能作局部修改;"

Similar presentations


Ads by Google