LH计算机图形学作业:共九道题
C(t)??PiBi,n(t)??Pn?iBi,n(t)??Pn?iBn?i,n(1?t)??PBii,n(1?t),**i=0i=0i=0i=0nnnnt?[0,1]
这个性质说明Bezier曲线在起点处有什么几何性质,在终点处也有相同的性质。
(3)凸包性 由于
?Bi=0ni,n(t?)且1,0?Bi,n(t)?1(0?t?1,i=0,1,?,n),这一结果说明当
t?[0,1]变化时,对某个t值,P(t是)特征多边形各项定点Pi的加权平均,)t?[0,1]中权因子依次是Bi,n。在几何图形上,意味着Bezier曲线P(t在
各点是控制点Pi的凸线性组合,即曲线落在Pi构成的凸包之中,如图5.2所示。
图5.2 Bezier曲线凸包性
(4)几何不变性。
这是指某些几何特性不随坐标变换而变化的特性。Bezier曲线的位置与形状与其特征多边形顶点Pi(i=0,1,?,n)的位置有关,它不依赖坐标系的选择,即有:
?PBii,n(t)??PBii,n(i=0i=0nnu?a) (参变量u是t的置换) b?a(5)变差缩减性。
若Bezier曲线的特征多边形P0P1?Pn是一个平面图形,则平面内任意直线与P(t)的交点个数不多于该直线与其特征多边形的交点个数,这一性质叫变差缩减性质。此性质反映了Bezier曲线比其特征多边形的波动小,也就是说Bezier曲线比特征多边形的折线更光顺。
(6)仿射不变性
对于任意的仿射变换A:
?n?nA([P(t)])?A??PBii,n(t)???A[Pi]Bi,n(t)
?i=0?i=0即在仿射变换下,P(t)的形式不变。
30
LH计算机图形学作业:共九道题
5.1.2 Bezier曲面
基于Bezier曲线的讨论,我们可以方便地可以给出Bezier曲面的
定义和性质,Bezier曲线的一些算法也可以很容易扩展到Bezier曲面的情况。
1.定义
设Pij?i=0,1,?,m,j=0,1,?,n?为(n+1)?(m+1)个空间点列,则m?n次张量积形式的Bezier曲线为:
mnP(u,v)=??PijBi,m(u)Bj,n(v),i=1j=1u,v?[0,1]
ii其中Bi,m(u)=Cmu?(1m-iu)j,nj,B(v)jn=?Cvv)是(1Bernstein基函数,
依次用线段连接点列Pij?i=0,1,?,m,j=0,1,?,n?中相邻的两点所形成的空间网络,称之为特征网格。Bezier曲面的矩阵表示式是:
?P00?P?10?P(u,v)=?B(u),B(u),?,B(u)1,nm,n?0,n?????Pn0在一般实际应用中,m,n不大于4。 2.性质
P01P11?Pn1????P0m??B0,m(v)??B(v)?P1m???0,m? ????????Pnm??Bn,m(v)?除变差减小性质外,Bezier曲线的其它性质可推广到Bezier曲面: (1)Bezier曲面特征网格的四个角点正好是Bezier曲面的四个角点,即P(0,0)0 (1,1)=P=0P,P(1,m00)=P,P(00,n,1)=P。mP(2)Bezier曲面特征网格最外一圈顶点定义Bezier曲面的四条边界;Bezier曲面边界的跨界切矢只与定义该边界的顶点及相邻一排顶点有关,且
P00P10P01、P0nP1nP0n?1、PmnPm,n?1Pm?1,n和Pm0Pm?1,0Pm,1(图
5.3
打上斜线的三角形);其跨界二阶导矢只与定义该边界的顶点及相邻两排顶点有关。
(3)几何不变性。 (4)对称性。 (5)凸包性。
31
LH计算机图形学作业:共九道题
图5.3 双三次Bezier曲面及边界信息
5.2 B样条曲线与曲面
以Bernstein基函数构造的Bezier曲线或曲面有许多优越性,但有两点不足:其一是Bezier曲线或曲面不能作局部修改;其二是Bezier曲线或曲面的拼接比较复杂。1972 年,Gordon、Riesenfeld等人提出了B样条方法,在保留Bezier方法全部优点的同时,克服了Bezier方法的弱点。
5.2.1 B样条的递推定义和性质
1.定义
与Bezier曲线得定义方法类似,B样条曲线方程定义为:
P(t)=?PiNi,k(t)
i=1n 其中,Pi(i=0,1,?,n)是控制多边形的顶点,Ni,k(t)(i=0?,1,称,为n)k阶(k?1次)B样条基函数,其中每一个称为B样条,它是一个称为节点矢
t?1t???nt+所量,即非递减的参数t序列T:0k决定的k阶分段多项式,
也即k阶(k?1次)多项式样条。
B样条有多种等价定义,在理论上较多地采用截尾幂函数的差商定义。我们只介绍作为标准算法的de Boor-Cox递推定义,又称为de Boor-Cox公式。约定0/0=0。
32
LH计算机图形学作业:共九道题
?1,Ni,1(t)=??0,Ni,k(t)?ti?x?ti?1,其它.
t?tit?tNi,k?1(t)?i+kNi?1,k?1(t)ti+k?1?titi+k?ti?1该递推公式表明:欲确定第i个k阶B样条Ni,k(t,)需要用到
ti,?t?i1,,i共t+k,?1个节点,称区间[ti,ti+k]为Ni,k(t)的支承区间。曲线方程
中,n+1个控制顶点Pi(i=0,1,?,n),要用到n+1个k阶B样条Ni,k(t。)它们支撑区间的并集定义了这一组B样条基的节点矢量T?[t0,t1,?,tn+k]。
2.B样条曲线类型的划分
曲线按其首末端点是否重合,区分为闭曲线和开曲线。闭曲线又区分为周期和非周期两种情形,周期闭曲线与非周期闭曲线的区别是:前者在首末端点是C2连续的,而后者一般是C0连续的。非周期闭曲线可以认为是开曲线的特例,按开曲线处理。
B样条曲线按其节点矢量中节点的分布情况,可划分为四种类型。假定控制多边形的顶点为Pi(i=0?为,1,,,n)k阶(k?1次),则节点矢量是 T?[t0,t1,?,tn+k]。 (1)均匀B样条曲线
节点矢量中节点为沿参数轴均匀或等距分布,所有节点区间长度这样的节点矢量定义了均匀的B样条?i?ti?1?ti?常数?0(i=0,1,?,n+k?1),基。图5.4是均匀B样条曲线实例。
图5.4 三次均匀的B样条曲线
(2)准均匀的B样条曲线
与均匀B样条曲线的差别在于两端节点具有重复度k,这样的节点矢量定义了准均匀的B样条基。
均匀B样条曲线在曲线定义域内各节点区间上具有用局部参数表示的统一的表达式,使得计算与处理简单方便。但用它定义的均匀B样条曲线没有保留Bezier曲线端点的几何性质,即样条曲线的首末端点不再是控制多边形的首末端点。采用准均匀的B样条曲线就是为了解决这个问题,使曲线在端点的行为有较好的控制,如图5.5所示。
33
LH计算机图形学作业:共九道题
图5.5 准均匀三次B样条曲线
(3)分段Bezier曲线
节点矢量中两端节点具有重复度k,所有内节点重复度为k-1,这样的节点矢量定义了分段的Bernstein基。
B样条曲线用分段Bezier曲线表示后,各曲线段就具有了相对的独立性,移动曲线段内的一个控制顶点只影响该曲线段的形状,对其它曲线段的形状没有影响。并且Bezier曲线一整套简单有效的算法都可以原封不动地采用。其它三种类型的B样条曲线可通过插入节点的方法转换成分段Bezier曲线类型,缺点是增加了定义曲线的数据,控制顶点数及节点数都将增加。分段Bezier曲线实例如图5.6所示。
图5.6 三次分段Bezier曲线
(4)非均匀B样条曲线
在这种类型里,任意分布的节点矢量T?[t1,?,tn+k],只要在数学上成立(节点序列非递减,两端节点重复度?k,内节点重复度?k?1)都可选取。这样的节点矢量定义了非均匀B样条基。 5.2.2 B样条曲线
1.局部性
由于B样条的局部性,k阶B样条曲线上的参数为t?[it,it]一点+1的
P(t)至多与k个控制顶点Pj(j=i?k+1,?,i)有关,与其它控制顶点无关;移
动该曲线的第i个控制顶点Pi至多影响到定义在区间(ti,ti+k)上那部分曲线的形状,对曲线的其余部分不发生影响。
2.连续性
P(t)在r重节点ti(k??i处整条曲线P(t)的连n)的连续阶不低于k?1?r。
续阶不低于k?1?rmax,其中rmax表示位于区间(tk?1,tn?1)内的节点的最大重
34