C program for dda algorithm. DDA (Digital Differential Analyzer) Algorithm also know as Vector Generation algorithm.

**Why DDA algorithm ?**

DDA Algorithm is used to plot line between two nodes i.e two end points in computer system.

While our computer understand pixels, if we want to plot a line, we should have maximum intermediate vertices of the line i.e intermediate points, so as to generate a straight line. Here DDA does the same.

**c program for dda algorithm :**

```
#include <graphics.h>
#include <stdio.h>
#include <math.h>
int main( )
{
float x,y,x1,y1,x2,y2,dx,dy,pixel;
int i,gd,gm;
printf("Enter the value of x1 : ");
scanf("%f",&x1);
printf("Enter the value of y1 : ");
scanf("%f",&y1);
printf("Enter the value of x2 : ");
scanf("%f",&x2);
printf("Enter the value of y1 : ");
scanf("%f",&y2);
detectgraph(&gd,&gm);
initgraph(&gd,&gm,"");
dx=abs(x2-x1);
dy=abs(y2-y1);
if(dx>=dy)
pixel=dx;
else
pixel=dy;
dx=dx/pixel;
dy=dy/pixel;
x=x1;
y=y1;
i=1;
while(i<=pixel)
{
putpixel(x,y,1);
x=x+dx;
y=y+dy;
i=i+1;
delay(100);
}
getch();
closegraph();
}
```

**Output :**

**DDA algorithm :**

- Define the nodes, i.e end points in form of (x1,y1) and (x2,y2).
- Calculate the distance between the two end points vertically and horizontally, i.e dx=|x1-x2| and dy=|y1-y2|.
- Define new variable name ‘pixel’, and compare dx and dy values,

if dx > dy then

pixel=dx

else

pixel =dy. - dx=dx/pixel

and dy=dy/pixel - x=x1;

y=y1; - while (i<=pixel) compute the pixel and plot the pixel with x=x+dx and y=y+dy.

If you are having any problem related to the post, do comment below.

Why didn’t you do the rounding in this program?

because we want pixel in integer format so we have to round it

It showing an error that GRAPHICS.H is No such file or directory.

Do it in Turbo C++.fedora does’t contain graphics

without rounding off would it work successfully ??

the principle of digital differential analyzer is it rounding off the point which contain a fractional value, for which it takes more time to calculate and can’t able draw the original line.

please help me…..jab b me is code ko run krn to aik warning deta hay k (function should have a returned value) and jab m int main() ki jaga void mein likhn to warning to remove ho jati hay but output ni ati just points get kr k wapis coding screen p a jata ha plzzzzzzzzzzzz help me

Curly brackets se pehle return(0) function likhna hai!!!

how the pixel is genrated

include conio.h

den only it will support getch() function…nd den output will be shown on the screen

program is right

the only thing which you have to do

include two libraries

conio.h for getch();

dos.h for using delay(100);

why used libarary in progarams

I want to run exe file of graphics program that I have created from turbo c in windows 7. Please help me.

this is right program but run time it is not gives satisfied output.

when i, input four values and enter, it reply a message

” muzammil.exe stoped working “. please tell me how can i solve this problem.