DDA Line drawing algorithm
DDA Line drawing algorithm
#include <stdio.h>
#include <conio.h>
#include <graphics.h>
#include <math.h>
#include <stdlib.h>
void ddaline(float x1,float y1,float x2,float y2)
{
int i, color=5;
float x,y,xinc,yinc,steps;
steps=abs(x2-x1);
if(steps <abs(y2-y1))
{
steps=abs(y2-y1);
}
else
{
steps=abs(x2-x1);
}
xinc=(x2-x1)/steps;
yinc=(y2-y1)/steps;
x=x1;
y=y1;
putpixel((int) x,(int)y,color);
for(i=1;i<=steps;i++)
{
putpixel((int) x,(int)y,color);
x=x+xinc;
y=y+yinc;
}
}
void main()
{
int gd=DETECT,gm,color;
float x1,y1,x2,y2;
initgraph(&gd,&gm,"c:\\turboc3\\bgi");
printf("%d %d \n",getmaxx(),getmaxy());
printf("\n Enter the left end points");
scanf("%f%f",&x1,&y1);
printf("\n Enter the right end points");
scanf("%f%f",&x2,&y2);
ddaline(x1,y1,x2,y2);
getch();
closegraph();
}