1.
Start
2.
Get the values of the end points as
(x1,y1) and (x2,y2)
3.
Initialize the graphics mode.
4.
calculate dx=abs(x2-x1)
dy=abs(y2-y1)
5.
Initialize starting point x=x1,y=y1
6.
e= 2*dy-dx
7.
i=1
8.
plot(x,y)
9.
y=y+1
10. e=e-2dx
11. repeat
9&10 until e>=0
12. x=x+1
13. e=e+2dy
14. i=i+1
15. If
i<dx then go to step 8.
PROGRAM:
#include<stdio.h>
#include<math.h>
#include<graphics.h>
int
main()
{
int
dx,dy,p,tdy,tdydx,xa,xb,ya,yb;
int
x,y,xend;
int
gd=DETECT,gm;
initgraph(&gd,&gm,"
");
printf("\nEnter
the value of x1,y1:\t");
scanf("%d\t%d",&xa,&ya);
printf("\nEnter
the value of x2,y2:\t");
scanf("%d\t%d",&xb,&yb);
dx=abs(xa-xb);
dy=abs(ya-yb);
p=2*dy-dx;
tdy=2*dy;
tdydx=2*(dy-dx);
if(xa>xb)
{
x=xb;
y=yb;
xend=xa;
}
else
{
x=xa;
y=ya;
xend=xb;
}
putpixel(x,y,11);
outtextxy(xa,ya,"(xa,ya)");
outtextxy(xb,yb,"(xb,yb)");
while(x<xend)
{
x++;
if(p<0)
{
p=p+tdy;
}
else
{
y++;
p=p+tdydx;
}
putpixel(x,y,11);
delay(50);
}
closegraph();
}
0 comments:
Post a Comment