数字图像处理曲线和曲面2.B样条曲线2.1:B样条曲线的定义2.2:B样条曲线基函数性质2.3:B样条曲线的性质2.4:二次B样条曲线2.5:三次B样条曲线2.6:二、三次B样条曲线的应用2.7:非均匀B样条曲线1.样条函数的概念1.1:一般样条函数的定义1.2:三次样条函数1.3:二次样条函数数字图像处理1.样条函数概念样条函数的概念是美国数学家I.J.Schoenberg在1946年首先提出的,他定义了一种B样条函数。尽管有10年的时间未受到重视,但从60年代开始,随着电子计算机技术的飞速发展和数据拟合以及函数逼近在生产实验中的广泛应用,样条函数的理论和应用已迅速发展成了一门成熟的学科。由于样条(Spline)函数发展的开始,就具有广泛而又深刻的实用背景,因此,样条函数及其参数表示形式的曲线和曲面方法是自由曲线与曲面设计的基础。数字图像处理1.1一般样条函数的定义给定一组平面上顶点(xi,yi)(i=0,1,…,n),并设在区间[a,b]上的Δ:a=x0x1…xn-1xn=b,那么在〔a,b〕上的一个函数S(x)称为K阶连续样条函数,如果它满足下面两个条件:(1)在每个小区间〔xi-1,xi〕(i=1,2,…,n)内,S(x)是具有K阶或K阶以上连续函数。(2)在xi(i=1,2,…,n-1)处成立即S(x)在拼接点处xi(i=1,2,…,n-1)也具有K阶连续,这也就是S(x)在整个区间[a,b]上具有K阶连续。若S(x)满足,则称S(x)为插值样条函数。,,...,1,0),0()0()()(KkxSxSikiknixSyii...1,0)(数字图像处理1.2三次样条函数假设在区间〔a,b〕上给定一个分割Δ:a=x0x1…xn-1xn=b,在〔a,b〕上的一个函数S(x)称为插值三次样条函数,如果满足下列条件:(1)在每一小区间〔xi-1,xi〕(i=1,2,…,n)内S(x)分别是三次多项式函数;(2)在节点xi(i=1,2,…,n-1)处成立:SxSxkkiki()()()(),,,,00012即小区间上的三次多项式函数,在拼接点处xi具有二阶连续拼接。(3)满足插值条件yi=S(xi),i=0,1,…,n.数字图像处理1.3二次样条函数设定区间〔a,b〕上一个分割Δ:a=x0x1…xn-1xn=b,在〔a,b〕上的一个函数S(x)称为插值二次样条函数,如果满足下列条件:(1)在每个小区间内,S(x)是二次多项式函数,这里,nixxii,...,1,0,2121xxxinxxxxiiinn12112012212(,,...,),,,称为半节点;(2)在半节点(i=1,2,…,n)处成立,1,0),0()0(21)(21)(kxSxSikik21ix(3)满足插值条件.,...,1,0),(nixSyii数字图像处理2.B样条曲线以Bernstein基函数构造的Bezier曲线或曲面有许多优越性,但有两点不足:其一是Bezier曲线或曲面不能作局部修改,控制多边形的一个顶点发生了变化,整条Bezier曲线的形状便发生变化;其二是Bezier曲线或曲面的拼接比较复杂。因此,1972年,Gordon、Riesenfeld等人提出了B样条方法,在保留Bezier方法全部优点的同时,克服了Bezier方法的弱点。数字图像处理2.1B样条曲线的定义给定m+n+1个平面或空间顶点Pi(i=0,1,…,m+n),称n次参数曲线段:ninikinkttGPtP0,,]1,0[),()(为第k段n次B样条曲线段(k=0,1,…,m),这些曲线段的全体称为n次B样条曲线,其顶点Pi(i=0,1,…,n+m)所组成的多边形称为B样条曲线的特征多边形。其中,基函数定义为:nitjintCntGinjnjnjni,...,1,0],1,0[)()1(!1)(01,)(,tGni数字图像处理B样条曲线示例二次B样条曲线示例数字图像处理B样条曲线示例二次B样条曲线示例数字图像处理B样条曲线示例三次B样条曲线示例数字图像处理B样条曲线示例三次B样条曲线示例数字图像处理B样条曲线示例四次B样条曲线示例数字图像处理B样条曲线示例五次B样条曲线示例数字图像处理2.2B样条曲线基函数的性质B样条函数基函数为:nitjintCntGinjnjnjni,...,1,0],1,0[)()1(!1)(01,具有如下性质:1)有界正性:当时,2)权性:即3)对称性:当时,4)递推性:]1,0[t),...,1,0(,1)(0,nitGni]1,0[,1)(0,ttGnini]1,0[t),...,1,0(),1()(,,nitGtGninni1;,...,1,0],1,0[)()(1)()1(1)(1,11,,nnittGtinntGtintGninini数字图像处理B样条曲线的基函数一次B样条曲线的基函数二次B样条曲线的基函数数字图像处理B样条曲线的基函数三次B样条曲线的基函数四次B样条曲线的基函数数字图像处理2.3B样条曲线的性质1.局部性根据定义式可知,第k段n次B样条曲线只与n+1个顶点Pi(i=0,1,…,n)有关,因此,当改动其中一个控制顶点时,只会对相邻的n+1段产生影响,不会对整条曲线(当m>>n)产生影响。这就为设计曲线时修改某一局部的形状带来了很大的方便。如左图所示,六个控制顶点控制的三次B样条曲线由三段B样条曲线段组成。其中,每一条曲线段由四个顶点控制。数字图像处理B样条曲线的性质2.几何不变性由于定义式所表示的B样条曲线是参数形式,因此,和Bezier曲线一样,B样条曲线的形状和位置与坐标系选择无关。3.当给定的m+n+1个控制顶点Pi(i=0,1,…,m+n)互不相重,则所控制的整条B样条曲线具有n-1阶几何连续(Gn-1)。当给定的控制顶点相邻最大重顶点数为h(即h个控制顶点重合在一起),则整条B样条曲线具有n-h-1阶几何连续(Gn-h-1)。数字图像处理B样条曲线的性质4.对称性根据B样条曲线的基函数的对称性可推导nininkininikinkttGPtGPtP0,0,,])1,0[()()1()1(它表明了B样条曲线段的起点和终点的几何性质完全相同。数字图像处理B样条曲线的性质5.n次B样条曲线段的递推曲线表示形式:nllnittilnlnttilntmknltPttPtlPtPliliilkliilklikiilk,...,2,1;,...,1,0];1,0[);(11)();1(11)(,...,1,0,,...,2,1),()()()(0)(,,11,,1,,,其中:数字图像处理B样条曲线的性质6.保凸性B样条曲线和Bezier曲线一样,也具有保凸性。即当所有的控制顶点形成一个平面凸的闭多边形时,Pk,n(t)是一条平面凸曲线。数字图像处理B样条曲线的性质7.凸包性当t∈〔0,1〕时,有0≤Gi,n(t)≤1(i=0,1,…,n)和,因此,根据凸包定义可知,对任何t∈〔0,1〕,Pk,n(t)必定在控制顶点构成的凸包之中。ninitG0,1)(如左图所示,六个控制顶点控制的三次B样条曲线由三段B样条曲线段组成。其中,每一条曲线段由四个顶点控制且包含在四个顶点构成的凸包之中。数字图像处理B样条曲线的性质8.变差缩减性数字图像处理2.4二次B样条曲线取n=2,则有二次B样条曲线的基函数如下:]1,0[,21)()122(21)()1(21)(22,222,121,0tttGtttGttG二次B样条曲线段是一段抛物线。202,2,0)()(iiitGPtP数字图像处理二次B样条曲线二次B样条曲线的矩阵表示为:]1,0[121022011]1[21)(21022,0tPPPtttP1.端点位置:)(21)1(),(21)0(122,0102,0PPPPPP2.端点切矢:12'2,001'2,0)1(,)0(PPPPPP数字图像处理二次B样条曲线如左图所示,六个控制顶点控制的二次B样条曲线由四段B样条曲线段组成。其中,每一条曲线段由相邻的三个顶点控制。曲线段的起点和终点同控制顶点的连接边相切于连接边的终点位置。数字图像处理二次B样条曲线3.当P0,P1,P2三顶点共线时,P0,2(t)(t∈〔0,1〕)即蜕化为一段直线。4.当给定一组顶点P0,P1,…,Pm(m>2),若存在Pi=Pi+1(0<i≤m-2),则二次B样条曲线经过顶点Pi,且在此处是尖点。三点共线的情况尖点的情况数字图像处理2.5三次B样条曲线取n=3,则有三次B样条曲线的基函数如下:GttttGtttGttttGttt03321332233233316331163641633311601,,,,()(),()(),()(),(),,三次B样条曲线段为:1,0,1331036303030141161)(3210323,0tPPPPttttP)(3,0tP数字图像处理三次B样条曲线性质1:端点位置PPPPPPPPPPPPPP0301202103123132016413223116413223,,()(),()(),性质2:端点切矢及二阶导数,2)1(,2)0(),(21)1(),(21)0(1233,00123,0133,0023,0PPPPPPPPPPPPPP数字图像处理三次B样条曲线P0P3P2P1三次B样条曲线的顶点位置和顶点切矢数字图像处理2.6二、三次B样条曲线的应用在曲线拟合设计中,B样条曲线主要可用于实验数据平滑和要求局部交互式修改的自由曲线设计。当然,二、三次B样条曲线及其变型,几乎可以应用到所有的要求具有一次或二次几何连续的曲线造型场合。(1)要求过插值端点;(2)封闭的二、三次B样条曲线;(3)插值二、三次B样条曲线;数字图像处理2.7非均匀B样条曲线前面介绍的B样条曲线实际上称为均匀(或等距节点)B样条曲线。B样条曲线是由B样条函数演化而来的。关于B样条函数的理论十分的丰富,现在简单的给出B样条基函数的递推公式:给定参数t轴上的一个分割,由下列递推关系所定义的称为T的k阶(或k-1次)B样条基函数:,...)1,0,(1itttTiiii)(,tBkiotherwisettttBiii,0,1)(11,)()()(1,111,1,tBtttttBtttttBkiikikikiikiikit数字图像处理非均匀B样条曲线设为给定空间的n个点,称下列参数曲线为k阶(k-1次)的B样条曲线。称折线为P(t)的控制多边形。非均匀B样条曲线同样具有局部性,几何不变性,连续性,对称性,递推性,凸包性和变差缩减性等性质。)(,...2,1knPPPnninkkiittttBPtP11,),()(nPPP,...2,1