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