Bresenham Line Drawing Algorithm
Aim:-
To draw a line with starting and end point using Bresenham
Program:-
#include<conio.h>
#include<stdio.h>
#include<graphics.h>
void main()
{
int gd=DETECT,gm;
int x1,y1,x2,y2;
float dx=0,dy=0,m,i;
float s;
float pk,tdy,tdxdy;
initgraph(&gd,&gd,"c:\\Turboc3\\BGI");
printf("enter the x1 and y1 coordinates\n");
scanf("%d%d",&x1,&y1);
printf("enter the x2 and y2 coordinates\n");
scanf("%d%d",&x2,&y2);
dx=x2-x1;
dy=y2-y1;
m=dy/dx;
pk=(2*dy)-dx;
tdy=(2*dy);
tdxdy=((2*dy)-(2*dx));
if(m<1 || m==1)
{
s=dx;
}
else
{
s=dy;
}
for(i=1;i<=s;i++)
{
if(pk<0)
{
x1=x1+1;
y1=y1;
pk=pk+tdy;
}
else
{
x1=x1+1;
y1=y1+1;
pk=pk+tdxdy;
}
printf("%f%f\n",x1, y1);
putpixel(x1,y1,BLUE);
delay(50);
}
getch();
closegraph();
}
0 Comments