include <time.h>
#include <graphics.h>
void dda_line(int xa,int ya,int xb,int yb,int c)
{
float delta_x,delta_y,x,y;
int dx,dy,steps,k;
dx=xb-xa;
dy=yb-ya;
if(abs(dx)>abs(dy)) steps=abs(dx);
else steps=abs(dy);
delta_x=(float)dx/(float)steps;
delta_y=(float)dy/(float)steps;
x=xa;
y=ya;
putpixel(x,y,c);
for(k=1;k<=steps;k++)
{
x+=delta_x;
y+=delta_y;
putpixel(x,y,c);
}
}
main()
{
int i;
clock_t t1,t2;
int driver=DETECT,mode=0;
initgraph(&driver,&mode,"");
cleardevice();
t1=clock(); /*取当前时间*/
for(i=0;i<200;i++)
dda_line(10,10,400,390, WHITE);
t2=clock(); /*取当前时间*/
printf(" dda_line() use time: %fn",(double)(t2-t1));
t1=clock(); /*取当前时间*/
for(i=0;i<200;i++)
line(10,10,400,390); /*line()为Tc2.0系统提供的画直线函数*/
t2=clock(); /*取当前时间*/
printf(" line() use time: %fn",(double)(t2-t1));
getch();
closegraph();
}