#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#define round(a) ((int) (a+0.5))
void lineDDA(int xa,int ya,int xb,int yb);
int main(void)
{
/* request auto detection */
int gdriver = DETECT, gmode, errorcode;
int xa,ya,xb,yb;
/* initialize graphics and local variables */
initgraph(&gdriver, &gmode, "..\\bgi");
lineDDA(0,0,640,480);
lineDDA(640,0,0,480);
lineDDA(320,0,320,480);
lineDDA(0,240,640,240);
getch();
closegraph();
}
void lineDDA(int xa,int ya,int xb,int yb)
{
int dx=xb-xa,dy=yb-ya,steps,k;
float xinc,yinc,x=xa,y=ya;
if(abs(dx)>abs(dy))
steps=abs(dx);
else
steps=abs(dy);
xinc=dx/(float) steps;
yinc=dy/(float) steps;
putpixel(round(x),round(y),5);
for(k=0;k<steps;k++)
{ x+=xinc;
y+=yinc;
putpixel(round(x),round(y),2);
}
}
hookup ur code with us

Comments
Post a Comment