内容发布更新时间 : 2025/11/4 11:54:33星期一 下面是文章的全部内容请认真阅读。
q[i]=p[i];
   for(r=1;r          q[i].x=(1.0-u)*q[i].x+u*q[i+1].x;          q[i].y=(1.0-u)*q[i].y+u*q[i+1].y;       }    return q[0]; }  void draw_bezier_curve(struct node p[],int n,int x0,int y0) {    int i,x,y;   float u,delta;   struct node point;     delta=1.0/(float)(MULTIPLE*ROW);   for(i=0,u=0;u<=1.0;i++,u=u+delta){       point=decasteljau(p,n,u);        if(i==0)moveto(x0+point.x,y0-point.y);       lineto(x0+point.x,y0-point.y);   } } main()        {     int gdriver=DETECT,gmode;    int number,n,originx,originy;     struct node a[]={{120,0},{45,0},{0,45},{0,120}};      initgraph(&gdriver,&gmode,\   originx=getmaxx()/2;    originy=getmaxy()/2;    setcolor(BLUE);     draw_polygon(a,originx,originy);    setcolor(RED);     draw_bezier_curve(a,ROW,originx,originy);    getch();    closegraph(); }  实验截图: