Mani S
By: a guest | Jul 4th, 2009 | Syntax:
C++ | Size: 0.70 KB | Hits: 68 | Expires: Never
#include<graphics.h>
#include<stdlib.h>
#include<iostream.h>
#include<conio.h>
#include<dos.h>
#define ROUND(a)((int)(a+0.5))
void dda(int,int,int,int);
void main( )
{
int gd=DETECT,gm;
int x1,y1,x2,y2;
initgraph(&gd,&gm,"d:\myc\bgi");
cout<<"Enter the starting and ending co-ordinate of line:";
cin>>x1>>y1>>x2>>y2;
dda(x1,y1,x2,y2);
getch( );
}
void dda(int xa,int ya,int xb,int yb)
{
int dx,dy,step,k;
float xinc,yinc,x,y;
dx=xb-xa;
dy=yb-ya;
if(abs(dx)>abs(dy))
step=abs(dx);
else
step=abs(dy);
xinc=dx/(float)step;
yinc=dy/(float)step;
x=xa;
y=ya;
putpixel(ROUND(x),ROUND(y),1);
for(k=1;k<=step;k++)
{
x=x+xinc;
y=y+yinc;
delay(10);
putpixel(ROUND(x),ROUND(y),1);
}
}