图形学吧 关注:268贴子:256
  • 0回复贴,共1
一、实现抛物线算法的C语言程序段如下:
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;
ay=ye-2*ym+ys;
bx=2.0*(xm-xs);
by=2.0*(ym-ys);
cx=xs; cy=ys;
n=sqrt(ax*ax+ay*ay);
n=sqrt(n*100.0);
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);
}
二、仔细阅读上述代码,理解之,并在每行后加注注释,说明每一条语句的功能;
三、在VC6.0下,新建工程“工程名:parabola”,根据上述的C代码,改写之(同样要求每条语句要有详细注释),添加至“parabola”工程的OnDraw()函数中,绘制出如图1所示的抛物线:
图1 抛物线
这个怎么做呀


1楼2014-12-27 12:33回复