Program For Bresenham'S Line Drawing Algorithm
Program For Bresenham'S Line Drawing Algorithm
#include<stdio.h>
#include<dos.h>
#include<graphics.h>
#include<conio.h>
void lineBres(int x1,int y1,int x2,int y2);
void main()
{
int x1,y1,xn,yn;
int gd=DETECT,gm;
initgraph(&gd,&gm,"C:\Turboc3\BGI");
printf("Enter starting coordinates of line:");
scanf("%d%d",&x1,&y1);
printf("Enter the ending coordinates of line:");
scanf("%d%d",&xn,&yn);
lineBres(x1,y1,xn,yn);
getch();
}
void lineBres(int x1,int y1,int xn,int yn)
{
int dx=xn-x1,dy=yn-y1;
int di=2*dy-dx;
int ds=2*dy,dt=2*(dy-dx);
putpixel(x1,y1,5);
while(x1<xn)
{
x1++;
if(di<0)
di=di+ds;
else
{
y1++;
di=di+dt;
}
putpixel(x1,y1,5);
delay(20);
}
}
OUTPUT: