《[工学]Bezier曲线曲面》由会员分享,可在线阅读,更多相关《[工学]Bezier曲线曲面(40页珍藏版)》请在金锄头文库上搜索。
1、3. Bzier曲线和曲面由于几何外形设计的要求越来越高,在采用传统的 曲线曲面表示方法时,曲线曲面形状不易控制,且修改任意一个型值点都会影响整个曲线曲面,且变化难 以预测。已不能满足用户的需求。 1962年,法国雷诺汽车公司的P.E.Bezier构造了一种以逼近为基础的参数曲线和曲面的设计方法,并 用这种方法完成了一种称为UNISURF 的曲线和曲面 设计系统,1972年,该系统被投入了应用。?Bezier方法将函数逼近同几何表示结合起 来,使得设计师在计算机上就象使用作图 工具一样得心应手。其最初的定义为: = =tt dtd iti tfAtftPniii niniini1)1 ( )!
2、1()(, 0, 1 )()()(111 ,0,iA英国的Forest于1972年将上述Bzier曲线中的多边形边矢量改 为控制多边形顶点的绝对位置矢量的Bernstein基表示形式:p0p1p2p3绝对位置矢量 1 , 0),()(, 0= =ttBPtPniini), 1 , 0( )1 ()!( !)1 ()(,nittininttCtBiniinii nni =0!=13 3 , 32 3 , 22 3 , 13 3 , 0)()1 (3)()1 (3)()1 ()(ttBtttBtttBttB=当当n=3时时:B B0,30,3(t)(t)B B2,32,3(t)(t)B B1,31
3、,3(t)(t)B B3,33,3(t)(t) =32102300010033036313311)(PPPPttttp三次三次三次三次B B zierzier曲线的矩阵表示形式为:曲线的矩阵表示形式为:曲线的矩阵表示形式为:曲线的矩阵表示形式为:3.1 Betnstein基函数的性质 (1)正性(2)端点性质,00,1( )0(0,1),1,2,1;i ntBttin=otherwiseniBotherwiseiBnini0)(1) 1 (0)0(1)0(, 0( )1(0,1)ni n iBtt= =+=ninininii nnittttCtB00,1)1()1 ()((3)混合性(权性)由
4、二项式定理可知:(4)对称性因为)()(,tBtBninni=)1 ()1 ( )1 ()1 (1 )(,)( , tBttCttCtBniiini ninninin nnin = (5)递推性。即高一次的Bernstein基函数可由两个低一 次的Bernstein调和函数线性组合而成。因 为,),.,1 , 0( ),()()1 ()(1, 11, nittBtBttBninini =+=)()()1 ()1 ()1 ()1 ()1 ()()1 ()(1, 11,)1()1(11 1)1( 11 11,ttBtBttttCttCtttCCttCtBniniinii ninii ninii n
5、i ninii nni +=+=+=(6)导函数(7)最大值。在处达到最大值。;, 1 , 0 ),()()(1,1, 1, nitBtBntBninini =Bti n,( )ti n=(8)升阶公式)(11)()11 ()(1, 11,tBnitBnitBninini+=+=10,11)(ntBni(9)积分3.2 Bezier曲线的性质 (1)端点性质 a)曲线端点位置矢量 由Bernstein基函数的端点性质可以推得,当t=0时,P(0)=P0;当t=1时,P(1)=Pn。由此可见, Bezier曲线的起点、终点与相应的特征多边形的起 点、终点重合。? b)切矢量 ? 因为, ? ?
6、所以当t=0时,P(0)=n(P1-P0),当t=1时, P(1)=n(Pn-Pn-1),这说明Bezier曲线的起点和终 点处的切线方向和特征多边形的第一条边及最后 一条边的走向一致。=101,1, 1)()()(nininiitBtBPntPc.)二阶导矢 当t=0时, 当t=1时, 上式表明:2阶导矢只与相邻的3个顶点有关,事实 上,r阶导矢只与(r+1)个相邻点有关,与更远点无 关。 将、及、代入曲率公式, 可以得到Bezier曲线在端点的曲率分别为:)()2() 1()( 2,1202tBPPPnntPniiinii+=+=)2)(1()0(012“PPPnnP+=)2)(1() 1
7、 (21“ +=nnnPPPnnP)0(P)0(“P) 1 (P) 1 (“P3“)()()()( tPtPtPtk=3 011201)()(1)0( PPPPPPnnk =3 1121)()(1) 1 ( =nnnnnn PPPPPPnnk(2)对称性。由控制顶点构造出的新 Bezier曲线,与原Bezier曲线形状相同,走向相反。因 为:这个性质说明Bezier曲线在起点处有什么几何性质, 在终点处也有相同的性质。),.,1 , 0( ,*niPPini= =ninininiininininniinniittBPtBPtBPtBPtC000, 0,* 1 , 0),1 ()1 ()()()
8、(*(3)凸包性 由于,且,这一结果 说明当t在0,1区间变化时,对某一个t值,P(t)是特 征多边形各顶点的加权平均,权因子依次是。在 几何图形上,意味着Bezier曲线P(t)在中各点是控 制点Pi的凸线性组合,即曲线落在Pi构成的凸包之 中,如图所示。 =ninitB0,1)(), 1 , 0, 10( 1)(0,nittBniL=)(,tBni 1 , 0t(4)几何不变性和仿射不变性。几何不变性是几何特性不随 坐标变换而变化的特性。Bezier曲线位置与形状与其特征多边 形顶点的位置有关,它不依赖坐标系的选择。仿射不变性即在仿射变换下的形式不变), 1 , 0(niPiL=+=+=+
9、=+=niniininiininininiininininiitBPtBcMPtcBtBMPtBctBPMctMPtP0,*0, 0, 0,0, 0,*)()()()()()()()()((5)变差缩减性。若Bezier曲线的特征多边形是一个平面图形,则平面内任意直线与Bezier曲线P(t)的交点个数不多于该直线与其特征多边形的交点个数,这一性质叫变差缩减性质。此性质反 映了Bezier曲线比其特征多边形的波动还小,也就是说Bezier曲线比特征多边形的折线更光顺。nPPPL103.3 Bezier曲线的递推曲线的递推(de Casteljau)算法算法计算Bezier曲线上的点,可用Bez
10、ier曲线方程,但使 用de Casteljau提出的递推算法则要简单的多。如下图所示,设、 、 是一条抛物线上顺序三个 不同的点。过和点的两切线交于点,在点的切线 交和于和 ,则如下比例成立:这是所谓抛物线的三切线定理。(示意图见下页)0P2 0P2P0P2P1P2 0P0P1P2P1P1 0P1 1P1 12 02 01 021 11 1111 01 00 PPPP PPPP PPPP=当P0, P1 、P2固定,引入参数t,令上述比值为t:(1-t), 即有:t从0变到1,第一、二式就分别表示控制二边形的第一、二 条边,它们是两条一次Bezier曲线。将一、二式代入第三式 得:当t从0变
11、到1时,它表示了由三顶点P0、P1、P2三点定义的一 条二次Bezier曲线。并且表明:这二次Bezier曲线P20可以定义 为分别由前两个顶点(P0,P1)和后两个顶点(P1,P2)决定 的一次Bezier曲线的线性组合。1 11 02 0211 1101 0)1 ()1 ()1 (tPPtPtPPtPtPPtP+=+=+=22 1022 0)1 (2)1 (PtPttPtP+=依次类推,由四个控制点定义的三次Bezier曲线P30可被定义 为分别由(P0,P1,P2)和(P1,P2,P3)确定的二条二次Bezier 曲线的线性组合,由(n+1)个控制点Pi(i=0, 1, ., n)定义
12、的n次Bezier曲线Pn0可被定义为分别由前、后n个控制点定义 的两条(n-1)次Bezier曲线P0n-1与P1n-1的线性组合:由此得到Bezier曲线的递推计算公式:这便是著名的de Casteljau算法。用这一递推公式,在给定参数 下,求Bezier曲线上一点P(t)非常有效。 1 , 0)1 (1 11 00+=ttPPtPnnn =+= +kninktPPtkPPk ik iik i,.,1 , 0,.,2 , 1)1 (01 11当n=3时,de casteljau算法递推出的Pki呈三角形,对应结果如 图所示。从左向右递推,最右边点P30即为曲线上的点。这一算法可用简单的几
13、何作图来实现。给定参数就把定义域分成长度为的两段。依次对原始控制多边形每一边执行同样的定比分割,所得分点就是由第一级递推生成 的中间顶点, 对这些中间顶点构成的控制多边 形再执行同样的定比分割,得第二级中间顶点。 重复进行下去,直到n级递推得到一个中间顶点即为所求曲线 上的点,如图所示。 1 , 0t)1 ( :tt) 1, 1 , 0(1=niPiL)2, 1 , 0(2=niPiLnP0 )(tP3.4 Bzier曲线的拼接曲线的拼接几何设计中,一条Bezier曲线往往难以描述复杂的 曲线形状。这是由于增加由于特征多边形的顶点数, 会引起Bezier曲线次数的提高,而高次多项式又会带来 计
14、算上的困难,实际使用中,一般不超过10次。所以 有时采用分段设计,然后将各段曲线相互连接起来, 并在接合处保持一定的连续条件。下面讨论两段Bezier 曲线达到不同阶几何连续的条件。给定两条Bezier曲线P(t)和Q(t),相应控制点为Pi(i=0, 1, ., n)和Qj(j=0,1,., m),且令,如图所 示,我们现在把两条曲线连接起来。11,=jjjiiiQQbPPaBezier曲线的拼接(1)要使它们达到G0连续的充要条件是:Pn= Q0; (2)要使它们达到G1连续的充要条件是:Pn-1,Pn=Q0,Q1三 点共线,即: (3)要使它们达到G2连续的充要条件是:在G1连续的条件 下,并满足方程。 我们将、和,、代入,并整 理,可以得到:选择 和 的值,可以利用该式确定曲线段的特征多边 形顶点 。)0(1=nab) 1 () 1 ()0(“2“PPQ+=)0(“Q) 1 (“P) 1 (PnPQ =0)(121=nnPPQQ22 122 2122112+ +=nnnPPnPnQ)(tQ2Q如果从上式的两边都减去,则等式右边可以表示为 和的线性组合:这表明 、 、和五点共面,事实上,在接合点两条曲线段的曲率相等,主法线方向一致,我们 还可以断定:位于直线的同一侧。nP)(1nnPP)(21nnPP)()(12212 12 2