8.贝塞尔曲线和曲面–贝塞尔曲线引论–贝塞尔曲线的性质–贝塞尔曲线的算法–贝塞尔曲面8.1贝塞尔曲线引论法国工程师PierreBézier在1862年提出了便于设计师应用的一类参数曲线为雷诺公式设计汽车,称为Bézier曲线,受到工业界和学术界的重视。1872年英国的福里斯特发现Bézier曲线可以方便地用控制顶点的Bernstein基函数来表示,成为被广泛采用的Bézier曲线的定义。在二维或三维空间给定n+1个点P0、P1、P2、…、Pn。参数t的n次的Bézier曲线是其中P0、P1、…、Pn都是二维或三维空间的点,称为控制点,称Bk,n(t)是n次Bernstein基函数.nknkktBPtP0,)()(,Bernstein基函数的性质1、非负性:Bk.n(t)0,而且,Bk.n(0)=k,0,Bk.n(1)=k,nnknktB0,1)()1()(,,tBtBnknnk)]()([)(1,1,1,tBtBntBnknknk当k=1,2,…,n-1时2、权性:3、对称性:4、导数:5、最大值:在t=k/n时取得最大值。)(,tBnk6、递推公式:)()()1()(1,11,,ttBtBttBnknknk)()1()1()1()()()1(,1111,11,tBttCttCttCttBtBtnkknkknknkknknkknnknk事实上,当k=1,2,…,n-1时7、升阶:当k=0,1,…,n时)(11)()1(1,,tBnktBtnknk)(11)(1,1,tBnkttBnknk)(11)(11)(1,11,,tBnktBnktBnknknk)(11)1()!1(!)!1(11)1()()1(1,11,tBnkttknknnknttCtBtnkknkknkknnk)(11)1()!()!1()!1(11)1()(1,111,tBnkttknknnkttCttBnkknkknkknnk证明:第三式可以由前两式推出。8.2贝塞尔曲线的性质1、端点的位置:Bézier曲线通过第一个控制点P0和最后一个控制点Pn。这是因为00,00,)0()0(PPBPPnkkknknkknnknkknknkkPPBPP0,0,)1()1(2、端点的切线:Bézier曲线的切矢量是101,1)()(nknkkktBPPntP3、端点的曲率K(0)=|nP0P1n(n-1)(P1P2-P0P1)|/|nP0P1|3=(n-1)/n|P0P1P1P2|/|P0P1|3K(1)=(n-1)/n|Pn-2Pn-1Pn-1Pn|/|Pn-1Pn|3P0P1…Pn称为Bezier曲线的控制顶点,它们组成控制多边形.4、仿射不变性Bezier曲线的形状和位置仅与控制点的位置有关。这是指某些几何特性不随坐标变换而变化的特性。Bezier曲线的位置与形状与其特征多边形顶点Pi(i=0,1,...,n)的位置有关,它不依赖坐标系的选择5、凸包性由于Bernstein多项式的性质,Bezier曲线落在控制点的凸包内6、交互能力移动第k个结点,对Bezier曲线在t=k/n处的影响最大.7、变差缩小性若Bezier曲线的特征多边形P0P1...Pn是一个平面图形,则平面内任意直线与P(t)的交点个数不多于该直线与其特征多边形的交点个数,这一性质叫变差缩减性质。此性质反映了Bezier曲线比其特征多边形的波动小,也就是说Bezier曲线比特征多边形的折线更光顺。特别地,凸的控制多边形,生成凸的Bezier曲线。设P0、P、P2是一条抛物线上顺序三个不同的点。过P0和P2点的两切线交于P1点,在P点的切线交P0P1和P2P1于Q和R,则抛物线的三切线定理是P0P1P2PQR2110RPRPQRQPQPQP当P0和P2固定,引入参数t,令上述比值为t:(1-t),Q=(1-t)P0+tP1,R=(1-t)P1+tP2,P=(1-t)Q+tR,当t从0变到1,第一、二式就分别表示控制二边形的第一、二条边,它们是两条一次Bezier曲线。8.3贝塞尔曲线的算法将一、二式代入第三式得:P=(1-t)2P0+2t(1-t)P1+t2P2当t从0变到1时,它表示了由三顶点P0、P1、P2三点定义的一条二次Bezier曲线。并且表明:这二次Bezier曲线P0,2可以定义为分别由前两个顶点(P0,P1)和后两个顶点(P1,P2)决定的一次Bezier曲线的线性组合。依次类推,由四个控制点定义的三次Bezier曲线P0,3可被定义为分别由(P0,P1,P2)和(P1,P2,P3)确定的二条二次Bezier曲线的线性组合,由(n+1)个控制点Pi(i=0,1,...,n)定义的n次Bezier曲线P0n可被定义为分别由前、后n个控制点定义的两条(n-1)次Bezier曲线P0,n-1与P1,n-1的线性组合。8.4Bezier曲面利用Bezier曲线的性质,张量积形式的Bezier曲面的定义可以如下定义。两组正交的Bezier曲线的控制顶点可作为矩形网格。设Pij(i=0,…,n;j=0,…,m)为空间点列,这些点生成的n+1行、m+1列的矩形网格称为特征网格,其中在第i+1行、第j+1列的点是Pij。相应的mn次张量积形式的Bezier曲线为,,,00(,)()()mnijimjnijPuvPBuBv,[0,1]uv其矩阵形式是0,00,10,0,1,01,12,1,0,1,,,0,1,,...()...()(,)(),(),...,()..................()nnnnmmmmmmmnnnPPPBvPPPBvPuvBuBuBuPPPBv其中,,()(1)iikiikkBzCzz是k次Bernstein基函数。在一般实际应用中,n,m不大于4。Bezier曲线的变差缩小性质不能推广到曲面。但是,其它许多性质可推广到Bezier曲面。根据上述定义,1.Bezier曲面的几何位置依赖于控制顶点,而与坐标系无关(几何不变性);2.Bezier曲面有关于参数的对称性;3.Bezier曲面有凸包性。P03P13P23P33P02P01P00P10P20P31P32P11P21P12P22P(u,0)P30P(1,v)P(u,1)P(0,v)