Wednesday, November 17, 2010

Program to draw a line using DDA line drawing algorithm
















//Program to draw a line using DDA line drawing algorithm

#include
#include
#include
#include
#define round(a) (int) (a+0.5)
void dda(int,int,int,int);
void main() {
int gdriver=DETECT,gmode;
int x1,x2,y1,y2;
clrscr();
printf("\nEnter coordinates of end points : ");
printf("\nx1 : ");scanf("%d",&x1);
printf("y1 : ");scanf("%d",&y1);
printf("x2 : ");scanf("%d",&x2);
printf("y2 : ");scanf("%d",&y2);
initgraph(&gdriver,&gmode,"e:\\tc\\bgi");
dda(x1,y1,x2,y2);
getch();
}
void dda(int x1,int y1,int x2,int y2)
{
int dx,dy,steps,k;
float xinc,yinc,x,y;
x=x1;
y=y1;
dx=x2-x1;
dy=y2-y1;
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),WHITE);
for(k=0;k
x+=xinc;
y+=yinc;
putpixel(round(x),round(x),WHITE);
}
}

No comments:

Post a Comment