2、控制多边形是C(u)的大致形状的勾画,C(u)是对P0,P1,…,Pn的逼近。2.Bezier曲线的性质Bezier曲线C(u)具有以下性质:(1)端点性质C(0)=P0,C(1)=Pn(2)端点切矢量C’(u)=nSumBi,n-1(u)(Pi+1-Pi)C’(0)=n(P1-P0),C’(1)=n(Pn-Pn-1)Bezier曲线在P0点处与边P1P0相切,在Pn点处与边Pn-1Pn相切。(3)端点的曲率C(u)在两端点的曲率分别为:K(0)=(n-1)/n•
3、P0P1*P1P2
4、
5、/
6、P0P1
7、^3K(1)=(n-1)/n•
8、Pn-2Pn-1*Pn-1Pn
9、/
10、Pn-1Pn
11、^3(4)对称性如保持原全部定点的位置不变,只是把次序颠倒过来,则新的Bezier曲线形状不变,但方向相反。(1)几何不变性Bezier曲线的位置和形状只与特征多边形的定点位置相关,他不依赖左坐标系的选择。移动第i个控制点Pi,将对曲线上参数为u=i/n的那个点C(i/n)发生最大的影响。(2)凸包性因为C(u)是多边形各顶点P0,P1,…,Pn的加权平均,而权因子0<=Bi,n(u)<=1,这反映在几何图形上有
12、两重含义:Bezier曲线C(u)位于其控制顶点P0,P1,…,Pn的凸包之内;Bezier曲线C(u)随着其控制多边形的变化而变化;(3)变差缩减性对于平面Bezier曲线C(u),平面内任意一条直线与其交点的个数不多于该直线与其控制多边形的交点个数。1.Bezier曲线的矩阵表示由Bezier曲线C(u)的定义,可推出常用的一次,二次,三次Bezier曲线矩阵表示。1)一次Bezier曲线C(u)=(1-u)P0+uP1[-11][P0]矩阵表示为C(u)=[u,1][10][P1]2)2次Bezier
13、曲线C(u)=(1-u)^2*P0+2u(1-u)P1+u^2*P2[1-21][P0]矩阵表示为C(u)=[u^2,u,1][-220][P1][100][P2]3)3次Bezier曲线C(u)=(1-u)^3*P0+3u(1-u)^2*P1+3u^2*(1-u)P2+u^3P3[-13-31][P0][3-630][P1]矩阵表示为C(u)=[u^2,u,1][-3300][P2][1000][P3]1.Bezier曲线的DeCasteljau算法给定三维空间点P0,P1,…,Pn以及一位标量参数u,假
14、定:P(j,r)(u)=(1-u)P(I,r-1)(u)+uP(i+1,r-1)(u){r=1,…,n;i=0,…,n-r}并且P(I,0)(u)=Pi,那么P(0,n)(u)即为Bezier曲线上参数u处的点。DeCasteljau(P,n,u,C){/*ComputepointpointoncurveusingDeCasteljaualgorithm*//*Input:P,n,u*//*Output:C(apoint)*/for(i=0;i<=n;i++)Q[i]=P[i];for(k=1;k<=n;k
15、++)for(i=0;i<=n-k;i++)Q[i]=(1.0-u)*Q[i]+u*Q[i+1];C=Q[0];}2.Bezier曲线的几何作图法利用DeCasteljau算法可以以几何方式计算参数值u处的曲线点。步骤如下:(1)根据给定的参数值u,在控制多边形在每条边上的确定某一分割点,是分割后的线段之比为u(1-u),由此的分割点为P(i,1)=(1-u)Pi+uPi+1i=0,1,2,…,n-1由此组成一个边数为(n-1)的新的多边形。(2)用相同的方法对次多边形再次分割,得到分割点P(i.2)(i=
16、0,1,…,n-2)形成一个新的多边形。(3)按相同的过程分割n-1次后,得到两个顶点P0^n-1、P1^n-1,在分割得到所求的点P(0,n)即为所求的u处的曲线点。3.Bezier曲线的升阶为了方便Bezier曲线的修改,需要增加控制顶点提高灵活度,而不要改变原来曲线的形状,也就是将N次的Bezier曲线升级表达为n+1次的Bezier曲线,即:P(u)=SumPiBi,n(u)=Sum