Blog Archive

Sunday, August 5, 2012

c program for dda line


c program for dda line
void main()
{
int gd=detect, gm;
int  x, y, x1, y1, x2, y2;
float  m, dx, dy;
printf(“enter x1 and y1 :”);
scanf(“%d %d”,&x1,&y1);
printf(“enter x2 and y2 :”);
scanf(“%d %d”,&x2,&y2);

dx = x2 – x1;
dy = y2 – y1;
m = dy / dx;

initgraph(&gd,&gm,””);

if(abs(m)<=1)
{
if(x1>x2)
{
     swap(x1,x2);    // use appropriate function
     swap(y1,y2);
}

for(x=x1,y=y1;x<=x2;)
{
     putpixel(x,y,2);
     x++;
     y=round(m+y);
}
}
else
{
if(y1>y2)
{
     swap(x1,x2);    // use appropriate function
     swap(y1,y2);
}

for(x=x1,y=y1;y<=y2;)
{
     putpixel(x,y,2);
     y++;
     x=round(x+(1/m));
}
}
getch();
closegraph();
}

No comments:

Post a Comment