Par(int xs,int ys,int xm,int ym,int xe,int ye) //已知起点、中点和终点三个控制点的坐标
{
double t,dt,ax,ay,bx,by,cx,cy;
int n,i;
ax=xe-2*xm+xs; // 终点的x坐标加上起点的x坐标减去中点的x坐标赋值给ax
ay=ye-2*ym+ys; // 终点的y坐标加上起点的y坐标减去中点的y坐标ay
bx=2.0*(xm-xs); // 中点减去起点的x坐标乘以2赋值给bx
by=2.0*(ym-ys); // 中点减去起点的x坐标乘以2赋值给bx
cx=xs; cy=ys; // 起点的x坐标赋值给cx,起点的y坐标赋值给cy,
n=sqrt(ax*ax+ay*ay); // 求平方根
n=sqrt(n*100.0); // 求平方根 10
moveto(xs,ys); // 将画线开始前移到起点坐标
dt=1.0/n; t=0;
for (i=0;i<=n; i++)
{
lineto((int)(ax*t*t+bx*t+cx),(int)( ay*t*t+by*t+cy)); // 画线
t=t+dt; // 增加量
}
lineto(xe,ye); // 画线到终点
}