您好,欢迎访问三七文档
4.2Bézier曲线BézierCurves1962年,法国雷诺汽车公司的P.E.Bezier构造了一种以逼近为基础的参数曲线和曲面的设计方法,并用这种方法完成了一种称为UNISURF的曲线和曲面设计系统,1972年,该系统被投入了应用。Bezier方法将函数逼近同几何表示结合起来,使得设计师在计算机上就象使用作图工具一样得心应手。通过Bezier可以画出复杂形状的曲线,只要给出表示曲线大体走向的点,就可由这些点画出一个多边形,然后通过Bezier公式逼近这个多边形画出所要的曲线。其中的给出的描述曲线大体走向的点称为控制点,这些点连成的多边形称为控制多边形。4.2.1Bézier曲线的定义和性质1.定义给定空间n+1个点的位置矢量Pi(i=0,1,2,…,n),则Bézier曲线可定义为:其中,Pi(i=0,1,…,n)构成该Bézier曲线的特征多边形,Bi,n(t)是n次Bernstein基函数:其中,00=1,0!=1。控制顶点特征多边形(t),BPP(t)ni,n0ii0,1tn)0,1,...,(i,t)(1ti!i)!(nn!t)(1tC(t)Biniiniinni,图8-5Bezier曲线的例子BézierCurves4.2.1Bézier曲线的定义和性质2.Bernstein基函数的性质1)n,1,2,i(0,1),(t0(t)Bni,(1)正性(2)端点性质Bi,n(0)=Bi,n(1)=1,i=00,i≠01,i=n0,i≠n在Bernstein基函数1t0t)(1tC(t)Biniinni,曲线的次数。由排列组合和导数运算规律可以推导出Bernstein基函数的如下性质:中,n为基本4.2.1Bézier曲线的定义和性质2.Bernstein基函数的性质0,1t1(t)Bn0ini,,(3)权性由二项式定理可知:(4)对称性:n0in0ininiinni,1t]t)[(1t)(1tC(t)Bt)(1B(t)Bni,nni,(t)Bt)(1tCt)(1t)](1[1Ct)(1Bni,iniinini)(nninnni,n因为三次Bézier的调和函数每个函数表示了每个控制点的权值.正性:B0,B1,B2,B3曲线都大于0。端性:当t=0时,B0=1,B1=B2=B3=0当t=1时,B3=1,B1=B2=B0=0对称性:B0和B3,B1和B2对称权性:当t=i时,B0+B1+B2+B3=1B0B3B1B24.2.1Bézier曲线的定义和性质2.Bernstein基函数的性质(5)递推性(6)导函数:(7)最大值0,1,2...nitBtBt1tB1n1,i1ni,ni,即高一次的Bernstein基函数可由两个低一次的Bernstein调和函数线性组合而成。n0,1,...,itBtBntB'1ni,1n1,ini,Bi,n(t)在t=i/n处达到最大值。4.2.1Bézier曲线的定义和性质3.Bézier曲线的性质(1)端点性质曲线端点位置矢量由Bernstein基函数的端点性质可以推得:当t=0时,P(0)=P0;当t=1时,P(1)=Pn;由此可见,Bezier曲线的起点、终点与相应的特征多边形的起点、终点重合。4.2.1Bézier曲线的定义和性质3.Bézier曲线的性质(1)端点性质切矢量因为:所以:当t=0时,P(0)=n(P1–P0);当t=1时,P(1)=n(Pn–Pn-1);说明,Bezier曲线起点和终点处的切线方向和特征多边形的第一条边及最后一条边的走向一致。1n0i1ni,1n1,ii'(t)]B(t)[BPn(t)P4.2.1Bézier曲线的定义和性质3.Bézier曲线的性质(1)端点性质二阶导矢因为:所以:当t=0时,P”(0)=n(n-1)(P2–2P1+P0);当t=1时,P”(1)=n(n-1)(Pn–2Pn-1+Pn-2);说明,Bezier曲线起点和终点处的二阶导矢只与相邻的3个顶点有关。r阶导矢只与r+1个相邻点有关。n2''i+2i+1ii,n2i0P(t)n(n-1)(P-2P+P)B(t)4.2.1Bézier曲线的定义和性质3.Bézier曲线的性质0,1,...ni,PPin*i(2)对称性由控制顶点构造出的新Bezier曲线,与原Bezier曲线形状相同,走向相反。因为:n0in0ini,inni,*i(t)BP(t)BP(t)*Pn0ini,in0ini,nint)(1BPt)(1BP0,1t,t)P(14.2.1Bézier曲线的定义和性质3.Bézier曲线的性质,1t(01(t)B0ni,(3)凸包性由于并且说明当t在[0,1]区间变化时,对某一个t值,P(t)是特征多边形各顶点的加权平均,权因子依次是Bi,n(t)。在几何图形上,意味着Bezier曲线P(t)在中各点是控制点Pi的凸线性组合,即曲线落在Pi构成的凸包之中。0,1t1(t)Bn0ini,,)0,1,...nt0,1t图3.1.9Bezier曲线的凸包性凸包(c)4.2.1Bézier曲线的定义和性质3.Bézier曲线的性质(4)几何不变性指某些几何特性不随坐标变换而变化的特性。Bezier曲线位置与形状与其特征多边形顶点Pi(i=0,1,…n)的位置有关,它不依赖坐标系的选择。n0ini,in0ini,i)a-ba-u(BP(t)BP(参变量u是t的置换)4.2.1Bézier曲线的定义和性质3.Bézier曲线的性质(5)变差缩减性若Bezier曲线的特征多边形P0P1…Pn是一个平面图形,则平面内任意直线与P(t)的交点个数不多于该直线与其特征多边形的交点个数。此性质反映了Bezier曲线比其特征多边形的波动还小,也就是说Bezier曲线比特征多边形的折线更光顺。4.2.1Bézier曲线的定义和性质在一个位置上增加多个控制点将增加这个点的权值,将Bézier曲线推向这个点.4.2.1Bézier曲线的定义和性质4.Bézier曲线及其控制多边形的几何形状Bézier曲线的性质如果只有一个控制点P0,例如:n=0那么,对于所有的t有P(t)=P0如果只有两个控制点P0和P1,例如:n=1那么公式简化为在两个控制点之间的一条直线段.调和函数总是比控制点个数少一次的多项式.因而3个控制点形成一条抛物线,4个控制点是一条三次曲线,等等.4.2.2Bézier曲线的矩阵表示对于n+1阶(n次)多项式,有n+1个控制点,参数t为n次tn:101!0101!!!000,twherePttininPBtPniiininiini4.2.2Bézier曲线的矩阵表示1.一次Bézier曲线的矩阵表示如果只有一个控制点P0,例如n=0那么对于所有的t,有P(t)=P0如果有两个控制点P0和P1,例如n=1,那么公式简化为一条两个控制点之间的直线段.10PP0111-1t.矩阵形式:101!1!!101010110,twherePPtPPttiiPBtPiiiiiini4.2.2Bézier曲线的矩阵表示2.二次Bézier曲线的矩阵表示如果有3个控制点P0,P1和P2,例如n=2,那么公式为一条抛物线,即二次Bezier曲线由三个控制顶点确定。容易算出,与其对应的3个Bernstein基函数为:相应的Bezier曲线为P(t)=(1-t)2P0+2t(1-t)P1+t2P2(0≤t≤1)22222,21211,220200,2tt)(1t0!2!2!(t)Bt)(12tt)(1t1!1!2!(t)Bt)(1t)(1t2!0!2!(t)B4.2.2Bézier曲线的矩阵表示2.二次Bézier曲线的矩阵表示2102PPP001022-12-11tt.P(t)=(1-t)2P0+2t(1-t)P1+t2P2(0≤t≤1)矩阵形式:对应于一条抛物线。4.2.2Bézier曲线的矩阵表示3.三次Bézier曲线的矩阵表示33,322,321,330,3ttBt13ttBt13ttBt1tB常用的三次Bezier曲线由4个控制顶点P0,P1,P2和P3,即n=3确定。容易算出,与其对应的4个Bernstein基函数为:相应的Bezier曲线为33221203PtPt13tPt13tPt1tP4.2.2Bézier曲线的矩阵表示3.三次Bézier曲线的矩阵表示三次形式最常用32102333221203PPPP00010033036313311tttPtt)P(13t)Pt3t(1Pt)(1P(t)矩阵形式:4.2.3Bézier曲线的递推公式除了用Bézier曲线方程另一种计算曲线点的方法:抛物线三切线定理:设P0,B,P2是抛物线上顺序三个不同的点,过P0,P2的两条切线交于P1,B点的切线交P0P1和P2P1于Q0和Q1,则有下式成立设比例为:t:(1-t)有0001101121PQQBPQQPQPBQ00111201(1)(1)(1)QtPtPQtPtPBtQtQ4.2.3Bézier曲线的递推公式得它表示由三个顶点P0,P1,P2定义的一条二次Bézier曲线,并且表明:这条二次Bézier曲线B可以定义为分别由前两个顶点(P0,P1)和后两个顶点(P1,P2)决定的一次Bézier曲线的线性组合。22012(1)2(1)BtPttPtP4.2.3Bézier曲线的递推公式以此类推,由4个控制点定义的三次Bézier曲线可被定义为分别由(P0,P1,P2)和(P1,P2,P3)确定的两条二次Bézier曲线的线性组合。同理可推到n次Bézier曲线。得到递推公式为:1110(1)1,2....;0,1...ikikkiiPkPtPtPknink4.2.3Bézier曲线的递推公式4.2.4Bézier曲线的拼接Bézier曲线的拼接一条Bézier曲线往往难以描述复杂的曲线形状。这是由于增加特征值,会引起Bézier曲线次数的提高,而对计算带来困难,实际使用中一般不超过10次。所以表达复杂曲线,采用分段设计,然后各段曲线相互连接,在接合处保持一定的连续条件。4.2.4Bézier曲线的拼接Bézier曲线的拼接若给定两条Bezier曲线P(t)和Q(t),相应控制点为Pi(i=0,1,...,n)和Qj(j=0,1,...,m)(t)BPP(t)ni,n0ii(s)BPQ(s)nj,n0jjP3Q0P2P1P0Q1Q2Q34.2.4Bézier曲线的拼接Bézier曲线的拼接若给定两条Bezier曲线P(t)和Q(t),相应控制点为Pi(i=0,1,...,n)和Qj(j=0,1,...,m)(1)使达到G0连续的充要条件是:Pn=Q0(2)要使达到G1连续的充要条件是:Pn-1,Pn=Q0,Q1三点共线(3)使达到G2连续的充要条件是:在G1连续的条件下,满足:闭合曲线能通过使最后一个控制点与第一个控制点重合获得.1阶连续可以通过保证前两个点和后两个点的切线相同来获得.2Q''(0)P''(1)+bP'(1)a4.2.5Bézier曲线的程序设计三次Bézier曲线的程序实现33221203Ptt)P(13t)Pt3t(1Pt)(1P
本文标题:bezier曲线
链接地址:https://www.777doc.com/doc-5402447 .html