第四节 Bezier曲线和曲面
       
 
    可通过计算验证Bezier曲线由前后两段构成。现以的系数为例,验证两端它的系数是相等的。
    左端显然就是 。先看右端。若 ,这时就用前半段的表达式,观察分裂计算图注意到 中有1份中有 份, 中是 份, 中是 份,因此全部的系数是:
        
    右端对 ,注意到仅中有 份的,知的系数是:
        
    设己知三次Bezier曲线P(t)的控制顶点是,在处将曲线分为两段,求出前半段的控制顶点和后半段的控制顶点有算法如下
  void split_Bezier(Point P[])
{
Point R[4],Q[4];
int i,j;
for(i=0;i<=3;i++)
R[i]=P[i];
for(i=0;i<=2;i++)
{ Q[i]=R[0];
for(j=0;j<=2-i;j++)
{ R[j].x=(R[j].x+R[j+1].x)/2;
//分别对相邻两控制点间的线段进行分裂
R[j].y=(R[j].y+R[j+1].y)/2;
}
}
Q[3]=R[0];
}
   
上一页 | 下一页  
  第一节 曲线和曲面表示的基础知识
第二节 Hermite多项式
第三节 Coons曲面
第四节 Bezier曲线和曲面
第五节 B样条曲线和曲面