WAP To Implement Bresenham

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 3

//WAP to implement Bresenham’s Algorithm for line

#include<conio.h>
#include<iostream.h>
#include<graphics.h>
#include<math.h>
void main()
{
clrscr();
int gdriver = DETECT, gmode;
initgraph(&gdriver, &gmode, "");
int dx,dy,ddy,ddx,dxy,p,pk,x,y,x1,x2,y1,y2;
float m;
cout<<"\nEnter values of x1 & y1: ";
cin>>x1>>y1;
cout<<"\nEnter values of x2 & y2: ";
cin>>x2>>y2;
dx=x2-x1;
dy=y2-y1;
m=dy/dx;
if(abs(m)<1)
{
putpixel(x1,y1,RED);
ddx=2*dx;
ddy=2*dy;
dxy=ddy-ddx;
p=ddy-dx;
x=x1;
y=y1;
for(int i=0;i<dx;i++)
{
if(p<0)
{
pk=p+ddy;
if(pk<0)
{
x++;
putpixel(x,y,RED);
p=pk;
}
else
{
x++;
y++;
putpixel(x,y,RED);
p=pk;
}
}
else
{
pk=p+dxy;
if(pk<0)
{
x++;
putpixel(x,y,RED);
p=pk;
}
else
{
x++;
y++;
putpixel(x,y,RED);
p=pk;
}
}
}
}
else
{
cout<<"\nSlope is greater than 1";
}
getch();
closegraph();
}
OUTPUT

Enter the values of x1 & y1: 200 300

Enter the values of x2 & y2: 400 400

You might also like