Thursday, May 5, 2016

BRESENHAM LINE DRAWING PROGRAM IN C

COMPUTER GRAPHICS       /*BRESENHAM LINE DRAWING PROGRAM IN C  */


#include<stdio.h>
#include<conio.h>
#include<graphics.h>
void main()
{
int gd=DETECT,gm,x1,y1,x2,y2;
int dx,dy,i;
float m,e;
clrscr();
initgraph(&gd,&gm,"C:\\TC\\BGI");
printf("\nEnter the co-ordinates of (x1,y1) :");
scanf("%d%d",&x1,&y1);
printf("\nEnter the co-ordinates of (x2,y2) :");
scanf("%d%d",&x2,&y2);
dx=x2-x1;
dy=y2-y1;
m=(float)dy/dx;
if(m<1)
{
e=(2*dy)-dx;
for(i=0;i<=dx;i++){
if(e<0)
{
if(x1<x2)

x1++;
else
x1--;
e=e+(2*dy);
}
else
{
if(x1<x2)
x1++;
else
x1--;
if(y1<y2)
y1++;
else
y1--;
e=e+2*(dy-dx);
}
putpixel(x1,y1,RED);
}}
else
{
e=(2*dx)-dy;
for(i=0;i<=dy;i++){
if(e<0)
{
if(y1<y2)

y1++;
else
y1--;
e=e+(2*dx);
}
else
{
if(x1<x2)
x1++;
else
x1--;
if(y1<y2)
y1++;
else
y1--;
e=e+2*(dx-dy);
}
putpixel(x1,y1,GREEN);
}}
getch();
}

No comments:

Post a Comment