1、B B样条曲线定义和基本性质样条曲线定义和基本性质王莹莹王莹莹9 9月月第第1 1页页序言在我们工程中应用拟合曲线,普通地说能够分为两在我们工程中应用拟合曲线,普通地说能够分为两种类型:一个是最终生成曲线经过全部给定型值点,种类型:一个是最终生成曲线经过全部给定型值点,比如抛物样条曲线和三次参数样条曲线等,这么曲比如抛物样条曲线和三次参数样条曲线等,这么曲线适合用于插值放样;另一个曲线是,它最终止果线适合用于插值放样;另一个曲线是,它最终止果并不一定经过给定型值点,而只是比很好地靠近这并不一定经过给定型值点,而只是比很好地靠近这些点,这类曲线(或曲面)比较适合于外形设计。些点,这类曲线(或曲面
2、)比较适合于外形设计。第第2 2页页因为在外形设计中因为在外形设计中(比如汽车、船舶比如汽车、船舶),初始给出数据点往往并不精确;,初始给出数据点往往并不精确;并有地方在外观上考虑是主要,因为不是功能要求,所以为了美观而宁并有地方在外观上考虑是主要,因为不是功能要求,所以为了美观而宁可放弃个别数据点。所以不须最终生成曲线都经过这些数据点。其次,可放弃个别数据点。所以不须最终生成曲线都经过这些数据点。其次,考虑到在进行外形设计时应易于实时局部修改,反映直观,以便于设计考虑到在进行外形设计时应易于实时局部修改,反映直观,以便于设计者交互操作。第一类曲线在这方面就不能适应。者交互操作。第一类曲线在这
3、方面就不能适应。第第3 3页页BzierCurves19621962年,法国雷诺汽车企业年,法国雷诺汽车企业P.E.BezierP.E.Bezier结构了一个以迫近结构了一个以迫近为基础参数曲线和曲面设计方法,并用这种方法完成了一为基础参数曲线和曲面设计方法,并用这种方法完成了一个称为个称为UNISURF UNISURF 曲线和曲面设计系统,曲线和曲面设计系统,19721972年,该系统被年,该系统被投入了应用。投入了应用。BezierBezier方法将函数迫近同几何表示结合起来,方法将函数迫近同几何表示结合起来,使得设计师在计算机上就象使用作图工具一样得心应手。使得设计师在计算机上就象使用作
4、图工具一样得心应手。经过经过BezierBezier能够画出复杂形状曲线,只要给出表示曲线大能够画出复杂形状曲线,只要给出表示曲线大致走向点,就可由这些点画出一个多边形,然后经过致走向点,就可由这些点画出一个多边形,然后经过BezierBezier公式迫近这个多边形画出所要曲线。其中给出描述公式迫近这个多边形画出所要曲线。其中给出描述曲线大致走向点称为控制点,这些点连成多边形称为控制曲线大致走向点称为控制点,这些点连成多边形称为控制多边形。多边形。第第4 4页页BezierBezier曲线形状是经过一组多边折线(特征多边形)曲线形状是经过一组多边折线(特征多边形)各顶点唯一地定义出来。在这组顶
5、点中:各顶点唯一地定义出来。在这组顶点中:(1)(1)只有第一个顶点和最终一个顶点在曲线上;只有第一个顶点和最终一个顶点在曲线上;(2)(2)其余顶点则用于定义曲线导数、阶次和形状;其余顶点则用于定义曲线导数、阶次和形状;(3)(3)第一条边和最终一条边则表示了曲线在两端点第一条边和最终一条边则表示了曲线在两端点处切线方向。处切线方向。第第5 5页页一、一、Bzier曲线定义和性质曲线定义和性质1.定义定义 给定空间给定空间n+1个点位置矢量个点位置矢量Pi(i=0,1,2,n),则,则Bzier曲线可定义曲线可定义为:为:其中,其中,Pi(i=0,1,n)组成组成该该Bzier曲线特征多边形
6、,曲线特征多边形,Bi,n(t)是是n次次Bernstein基函数:基函数:其中,其中,00=1,0!=1。控制顶点控制顶点 特征多边形特征多边形第第6 6页页Bzier Curves第第7 7页页2.Bernstein基函数性质基函数性质 (1)正性正性 (2)端点性质端点性质 Bi,n(0)=Bi,n(1)=1,i=00,i01,i=n0,in在在Bernstein基函数基函数 曲曲线线次次数数。由由排排列列组组合合和和导导数数运运算算规规律律能能够够推推导导出出Bernstein基基函函数数以以下性质:下性质:中,中,n n为基本为基本 第第8 8页页2.Bernstein基函数性质基函
7、数性质 (3)权性权性 由二项式定理可知:由二项式定理可知:(4)对称性:对称性:因为因为第第9 9页页2.Bernstein基函数性质基函数性质 (5)递推性递推性 (6)导函数:导函数:(7)最大值最大值 即高一次即高一次Bernstein基函数可由两个低一次基函数可由两个低一次Bernstein调和函数线性调和函数线性组合而成。组合而成。Bi,n(t)在在 t=i/n 处到达最大值。处到达最大值。第第1010页页3.Bzier曲线曲线性质性质 (1)端点性质端点性质 曲线端点位置矢量曲线端点位置矢量由由Bernstein基函数端点性质能够推得:基函数端点性质能够推得:当当t=0时,时,P
8、(0)=P0;当当t=1时,时,P(1)=Pn;由此可见,由此可见,Bezier曲线起点、终点与对应特征多边形起点、终点曲线起点、终点与对应特征多边形起点、终点重合。重合。第第1111页页3.Bzier曲线曲线性质性质 (1)端点性质端点性质 切矢量切矢量因为:因为:所以:当所以:当t=0时,时,P(0)=n(P1 P0);当当t=1时,时,P(1)=n(Pn Pn-1);说明,说明,Bezier曲线起点和终点处切线方向和特征多边形第一条边曲线起点和终点处切线方向和特征多边形第一条边及最终一条边走向一致。及最终一条边走向一致。第第1212页页3.Bzier曲线曲线性质性质 (2)对称性对称性
9、由由控控制制顶顶点点 结结构构出出新新Bezier曲曲线线,与与原原Bezier曲线形状相同,走向相反。因为曲线形状相同,走向相反。因为:第第1313页页3.Bzier曲线曲线性质性质 (3)凸包凸包性性 因为因为 而且而且 说说明明当当t在在0,1区区间间改改变变时时,对对某某一一个个t值值,P(t)是是特特征征多多边边形形各各顶点加权平均,权因子依次是顶点加权平均,权因子依次是Bi,n(t)。在在几几何何图图形形上上,意意味味着着Bezier曲曲线线P(t)在在 中中各各点点是是控控制制点点Pi凸线性组合,即曲线落在凸线性组合,即曲线落在Pi组成凸包之中。组成凸包之中。(c)(c)第第14
10、14页页3.Bzier曲线曲线性质性质 (4)几何不变性几何不变性 指指一一些些几几何何特特征征不不随随坐坐标标变变换换而而改改变变特特征征。Bezier曲曲线线位位置置与与形形状与其特征多边形顶点状与其特征多边形顶点Pi(i=0,1,n)位置相关,它不依赖坐标系选择。位置相关,它不依赖坐标系选择。(参变量(参变量u是是t置换)置换)第第1515页页3.Bzier曲线曲线性质性质 (5)变差缩减性变差缩减性 若若Bezier曲曲线线特特征征多多边边形形P0 P1 Pn是是一一个个平平面面图图形形,则则平平面面内内任意直线与任意直线与P(t)交点个数不多于该直线与其特征多边形交点个数。交点个数不
11、多于该直线与其特征多边形交点个数。此此性性质质反反应应了了Bezier曲曲线线比比其其特特征征多多边边形形波波动动还还小小,也也就就是是说说Bezier曲线比特征多边形折线更光顺。曲线比特征多边形折线更光顺。第第1616页页在一个位置上增加多个控制点将增加这个点权值在一个位置上增加多个控制点将增加这个点权值,将将Bzier 曲线推向这个点曲线推向这个点.第第1717页页4.Bzier曲线曲线及其控制多边形几何形状及其控制多边形几何形状 第第1818页页Bzier 曲线性质曲线性质假如只有一个控制点假如只有一个控制点 P0,比如,比如:n=0 那么,对于全部那么,对于全部t有有 P(t)=P0假
12、如只有两个控制点假如只有两个控制点 P0 和和 P1,比如,比如:n=1 那么公式简化为在两个控制点之间一条直那么公式简化为在两个控制点之间一条直线段线段.3个控制点形成一条抛物线个控制点形成一条抛物线,4个控制点是一个控制点是一条三次曲线条三次曲线,等等等等.第第1919页页二、二、B样条样条曲线定义和性质曲线定义和性质1.B B样条曲线引入样条曲线引入 Bezier曲线是经过迫近特征多边形而取得曲线,存在不足是:曲线是经过迫近特征多边形而取得曲线,存在不足是:1)缺乏局部修改性)缺乏局部修改性,即改变某一控制点对整个曲线都有影响即改变某一控制点对整个曲线都有影响.2)n较大时,特征多边形边
13、数较多较大时,特征多边形边数较多,对曲线控制减弱。对曲线控制减弱。3)幂幂次次过过高高难难于于修修改改。(而而在在外外形形设设计计中中,局局部部修修改改是是随随时时要要进行)进行)1)迫近特征多边形精度更高)迫近特征多边形精度更高.2)多边形边数与基函数次数无关。)多边形边数与基函数次数无关。3)含有局部修改性)含有局部修改性.1972年年,Riesenfeld等等提提出出了了B样样条条曲曲线线。用用B样样条条基基函函数数代代替替Bernstein基函数;基函数;第第2020页页2.B B样条定义样条定义设有控制顶点设有控制顶点P0,P1,Pn,则则k阶阶(k-1次次)B样条曲线数学表示式为样
14、条曲线数学表示式为:其其中中Ni,k(t)是是k-1次次B样样条条曲曲线线基基函函数数,也也称称样样条条分分段段混混合合函函数数,其中每一个称为其中每一个称为B样条。样条。B样样条条基基函函数数是是一一个个称称为为节节点点矢矢量量非非递递减减参参数数t序序列列所所决决定定k阶阶分分段多项式,也即为段多项式,也即为k阶(阶(k-1次次)多项式样条。多项式样条。第第2121页页2.B样条定义样条定义 de Boor-Cox(德布尔德布尔考克斯考克斯)递推定义:递推定义:,k=1约定:约定:该递推公式表明:欲确定第该递推公式表明:欲确定第i i个个k k阶阶B B样条样条Ni,k(t),需要用,需要
15、用ti,ti+1,t ti+ki+k 共共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。第第2222页页第第2323页页3.B B样条性质样条性质 (1)局部支撑性局部支撑性 (2)权性权性 (3)微分公式微分公式 第第2424页页4.B B样条曲线类型划分样条曲线类型划分 假假定定控控制制多多边边形形顶顶点点为为Pi(i=
16、0,1,n),阶阶数数为为k(次次数数为为k-1),则则节节点点矢矢量量是是T=t0,t1,tn+k。B样样条条曲曲线线按按其其节节点点矢矢量量中中节节点点分分布布情情况况,可可划分为划分为4种类型:种类型:均匀均匀B B样条曲线样条曲线 节节点点矢矢量量中中节节点点为为沿沿参参数数轴轴均均匀匀或或等等距距分分布布,全全部部节节点点区区间间长长度度i=ti+1-ti=常常数数0(i=0,1,n+k-1)。这这么么节节点点矢矢量量定定义义了了均均匀匀B B样样条条基基。比如比如:T=(0,1,2,3,4,5,6,7):T=(0,1,2,3,4,5,6,7)第第2525页页4.B B样条曲线类型划
17、分样条曲线类型划分 准准均匀均匀B B样条曲线样条曲线 与与均均匀匀B样样条条曲曲线线差差异异在在于于两两端端节节点点含含有有重重复复度度k,这这么么节节点点矢矢量量定义了准均匀定义了准均匀B样条基。样条基。均均匀匀B样样条条曲曲线线没没有有保保留留Bezier曲曲线线端端点点几几何何性性质质,即即样样条条曲曲线线首首末末端端点点不不再再是是控控制制多多边边形形首首末末端端点点。采采取取准准均均匀匀B样样条条曲曲线线处处理理了了这这个问题。个问题。比如比如:T=(0,0,0,1,2,3,4,5,6,7,7,7):T=(0,0,0,1,2,3,4,5,6,7,7,7)第第2626页页4.B B样
18、条曲线类型划分样条曲线类型划分 分段分段Bezier曲线曲线 节节点点矢矢量量中中两两端端节节点点含含有有重重复复度度k,全全部部内内节节点点重重复复度度为为k-1,这这么节点矢量定义了分段么节点矢量定义了分段Bernstein基。基。B样样条条曲曲线线用用分分段段Bezier曲曲线线表表示示后后,各各曲曲线线段段就就含含有有了了相相正正确确独独立立性性,移移动动曲曲线线段段内内一一个个控控制制顶顶点点只只影影响响该该曲曲线线段段形形状状,对对其其它它曲曲线线段形状没有影响。段形状没有影响。比如比如:T=(0,0,0,1,1,2,2,3,3,4,4,4):T=(0,0,0,1,1,2,2,3,
19、3,4,4,4)第第2727页页4.B B样条曲线类型划分样条曲线类型划分 非均匀非均匀Bezier曲线曲线 任任意意分分布布节节点点矢矢量量 T=t0,t1,tn+k,只只要要在在数数学学上上成成立立(节节点点序序列列非非递递减减,两两端端节节点点重重复复度度k,内内节节点点重重复复度度k-1)都都可可选选取取。这这么么节节点矢量定义了非均匀点矢量定义了非均匀B样条基。样条基。比如比如:T=(0,0,2,2,3,5,8,11,16):T=(0,0,2,2,3,5,8,11,16)第第2828页页三、三、B样条样条曲线性质曲线性质1.局部性(比局部性(比Bzier曲线优点曲线优点)k k 阶阶
20、B B样条曲线上参数为样条曲线上参数为 一点一点P(t)P(t)至多至多与与k k个控制顶点个控制顶点Pj(j=i-k+1,i)Pj(j=i-k+1,i)相关,与其它控制顶点无关;移动该曲线第相关,与其它控制顶点无关;移动该曲线第i i个控制个控制顶顶点点PiPi至多影响到定义在区间至多影响到定义在区间(ti,ti+k)(ti,ti+k)上那部分曲线形状上那部分曲线形状,对曲线对曲线其余其余部分不发生影响。部分不发生影响。一段一段 由由K个连续控制点组成;一个个连续控制点组成;一个控制点参加控制点参加K段段(ti,ti+k)曲线曲线结构。结构。第第2929页页2.凸包性凸包性 k 阶阶P(t)
21、在在区区间间(ti,ti+1),上上部部分分位位于于k个个点点Pi-k+1,Pi凸凸包包内,整条曲线则位于各凸包内,整条曲线则位于各凸包Ci并集之内。并集之内。第第3030页页3.分段参数多项式分段参数多项式 分段参数多项式分段参数多项式P(t)在每一区间上都是次数不高于在每一区间上都是次数不高于k-1参数参数t多项式。多项式。4 4.变差缩减性变差缩减性设平面内设平面内 n+1 个控制顶点个控制顶点 组成组成B样条曲线样条曲线 P(t)特征多边形。在特征多边形。在该平面内任意一条直线与该平面内任意一条直线与 P(t)交点个数不多于该直线和特征多交点个数不多于该直线和特征多边形交点个数。边形交
22、点个数。5 5.几何不变性几何不变性 B样条曲线形状和位置与坐标系选择无关。样条曲线形状和位置与坐标系选择无关。第第3131页页6.造型灵活性造型灵活性 用用B样条曲线能够结构直线段、尖点、切线等特殊情况样条曲线能够结构直线段、尖点、切线等特殊情况。对于对于4 4阶(阶(3 3次)次)B B样条曲线样条曲线P(t)P(t)若要在其中得到一条直线段,只要若要在其中得到一条直线段,只要P Pi i,P,Pi+1i+1,P,Pi+2i+2,P,Pi+3 i+3 4 4点位于一条直线上。点位于一条直线上。为了使为了使P(t)能过能过P(i)点,只要使点,只要使Pi,Pi+1,Pi+2 重合。重合。尖点
23、也可经过三重尖点也可经过三重节点方法得到。节点方法得到。为了使为了使曲线和某一直线曲线和某一直线L L相切,只要取相切,只要取Pi,Pi+1,Pi+2位于位于L上及上及ti+1重数重数小于小于2。第第3232页页6.造型灵活性造型灵活性 第第3333页页 取取n=3,k=3,则则n+k=6,不不妨妨设设节节点点矢矢量量为为:T=(0,1,2,3,4,5,6):依据依据B样条样条de Boor-Cox递推公式:递推公式:第第3434页页第第3535页页第第3636页页第第3737页页第第3838页页第第3939页页四、计算四、计算B B样条曲线样条曲线上对应点上对应点1 1、找到、找到t t所在节点区间所在节点区间2 2、计算非零基函数、计算非零基函数3 3、将非零基函数值与对应控制点相乘,再、将非零基函数值与对应控制点相乘,再求和求和第第4040页页第第4141页页