Program #include<stdio.h> #include<conio.h> #include<graphics.h> void main() { int gd=DETECT,gm,k=0; int x,y,xo,y...
Program
#include<stdio.h>
#include<conio.h>
#include<graphics.h>
void main()
{
int gd=DETECT,gm,k=0;
int x,y,xo,yo,x1,y1,x2,y2,p,po,dx,dy;
clrscr();
initgraph(&gd,&gm,"..\\bgi");
printf("Bresenham's line drawing algorithm for |m|<=1\n");
printf("Enter coordinates (x1,y1) and (x2,y2)\n");
printf("x1: ");
scanf("%d",&x1);
printf("y1: ");
scanf("%d",&y1);
printf("x2: ");
scanf("%d",&x2);
printf("y2: ");
scanf("%d",&y2);
x=x1;
y=y1;
dx=x2-x1;
dy=y2-y1;
po=2*dy-dx;
printf("k\tpk\tp(k+1)\tx(k+1)\ty(k+1)\n");
line(350,100,350,200);
line(350,200,450,200);
while(k<dx)
{
if(po<=dx)
{
x=x+1;
p=po+2*dy;
}
else
{
x=x+1;
y=y+1;
p=po+2*dy-2*dx;
}
printf("%d\t%d\t%d\t%d\t%d\n",k,po,p,x,y);
putpixel(350+x,200-y,2);
po=p;
k++;
}
getch();
}
Output
#include<stdio.h>
#include<conio.h>
#include<graphics.h>
void main()
{
int gd=DETECT,gm,k=0;
int x,y,xo,yo,x1,y1,x2,y2,p,po,dx,dy;
clrscr();
initgraph(&gd,&gm,"..\\bgi");
printf("Bresenham's line drawing algorithm for |m|<=1\n");
printf("Enter coordinates (x1,y1) and (x2,y2)\n");
printf("x1: ");
scanf("%d",&x1);
printf("y1: ");
scanf("%d",&y1);
printf("x2: ");
scanf("%d",&x2);
printf("y2: ");
scanf("%d",&y2);
x=x1;
y=y1;
dx=x2-x1;
dy=y2-y1;
po=2*dy-dx;
printf("k\tpk\tp(k+1)\tx(k+1)\ty(k+1)\n");
line(350,100,350,200);
line(350,200,450,200);
while(k<dx)
{
if(po<=dx)
{
x=x+1;
p=po+2*dy;
}
else
{
x=x+1;
y=y+1;
p=po+2*dy-2*dx;
}
printf("%d\t%d\t%d\t%d\t%d\n",k,po,p,x,y);
putpixel(350+x,200-y,2);
po=p;
k++;
}
getch();
}
Output
COMMENTS