You are on page 1of 6

PRACTICAL-8

Aim- WAP to draw a line using DDA algorithm.


Program#include<stdio.h>
#include<conio.h>
#include<graphics.h>
void main()
{
int gd=DETECT,gm,x,y,x1,y1,x2,y2,dx,dy,deltax,deltay,step;
initgraph(&gd,&gm,"..\\bgi");
printf("\n enter the coordinates:");
scanf("%d%d%d%d",&x1,&y1,&x2,&y2);
dx=x2-x1;
dy=y2-y1;
if(abs(dx)>abs(dy))
{
step=abs(dx);
}
else
{
step=abs(dy);
}
deltax=dx/step;
deltay=dy/step;
x=x1;

y=y1;
putpixel(x,y,RED);
while(x<=x2)
{
x=x+deltax;
y=y+deltay;
putpixel(x,y,RED);
delay(100);
x++;
}
getch();
closegraph();
}

OUTPUT-

#include<stdio.h>
#include<conio.h>
#include<graphics.h>
#include<math.h>
void main()
{
int gd=DETECT,gm,xend,d,x1,y1,x2,y2,x,y,i1,i2,dx,dy;
initgraph(&gd,&gm,"..\\bgi");
printf("\n enter coordinates:");
scanf("%d%d%d%d",&x1,&y1,&x2,&y2);
dx=x2-x1;
dy=y2-y1;
i1=2*dy;
i2=2*(dy-dx);
d=i1-dx;
if(dx<0)
{
x=x2;
y=y2;
xend=x1;
}
else
{
x=x1;

y=y2;
xend=x2;
}
putpixel(x,y,WHITE);
while(x<=xend)
{
if(d<0)
{
d=d+i1;
}
else
{
d=d+i2;
y=y++;
}
x=x++;
delay(50);
putpixel(x,y,WHITE);
}
getch();
closegraph();
}

OUTPUT-

You might also like