answersLogoWhite

0


Best Answer

DDA Line Drawing Algorithm

Step 1:[Determine The Dx & Dy]

Dx=Xb-Xa

Dy=Yb-Ya

Step 2:[Determine Slope is Gentle or Sharp]

If |Dx|>|Dy| then

Gentle Slope

M=Dy/Dx

Set The Starting Point

If Dx>0 Then

C=CELING(Xb)

D=Yb+M*(C-Xb)

F=FLOOR(Xa)

R=FLOOR(D+0.5)

H=R-D+M

IF M>0 Then

Positive Gentle Slope

M1=M-1

Now Step Through The Columns

WHILE C<=F

C Programming Coding For DDA Algorithm
void linedda(int xa,int ya,int xb,int yb) {

int dx=xb-xa,dy=yb-ya,steps,k;
float xincrement,yincrement,x=xa,y=ya;

if(abs(dx)>abs(dy)) steps=abs(dx);
else steps=abs(dy);

xincrement=dx/(float)steps;
yincrement=dy/(float)steps;

putpixel(round(x),round(y),2)

for(k=0;kx+=xincrement;
y+=yincrement;
putpixel(round(x),round(y),2);
}
}
More Informationhttp://knol.Google.com/k/thiyagaraaj-m/dda-line-algorithm/1lfp8o9xxpx13/78#
http://i.thiyagaraaj.com/articles/articles/dda-line-algorithm
User Avatar

Wiki User

14y ago
This answer is:
User Avatar
More answers
User Avatar

Wiki User

13y ago

DDA IS digital differential analyzer.

It is a line drawing algorithm. i.e., this algorithm is used to draw a line between two given points (ex. (x1,y1) & (x2,y2)).

numerical explanation-

y=mx+c .... (equation of a line).

hence, c=y-mx

m=((y2-y1)/(x2-x1)) => m=dy/dx; => dy=m*dx OR dx=dy/m;

now take mod of slope,

if |m|<=1,

then take dx = 1; (here dx = difference between two consecutive points on x-axis).

calculatinf points for y-cordinate.

y3=y1+m*dx

y4=y3+m*dx

y5=y4+m*dx..

..... ....... ....

...............

yn=yn-1+m*dx

hence , you are getting points which will lead u to the point y2 and x2.

else if |m|>1,

then take dy =1;

and calculate points for x-cordinate.

x3=x1+(dy/m);

x4=x3+(dy/m);

.... ...... .....

have fun guyz... :)

This answer is:
User Avatar

User Avatar

Wiki User

14y ago
C Programming Coding For DDA Algorithmvoid linedda(int xa,int ya,int xb,int yb) {

int dx=xb-xa,dy=yb-ya,steps,k;
float xincrement,yincrement,x=xa,y=ya;

if(abs(dx)>abs(dy)) steps=abs(dx);
else steps=abs(dy);

xincrement=dx/(float)steps;
yincrement=dy/(float)steps;

putpixel(round(x),round(y),2)

for(k=0;kx+=xincrement;
y+=yincrement;
putpixel(round(x),round(y),2);
}
}
More Informationhttp://knol.google.com/k/thiyagaraaj-m/dda-line-algorithm/1lfp8o9xxpx13/78#
http://i.thiyagaraaj.com/articles/articles/dda-line-algorithm
This answer is:
User Avatar

User Avatar

Wiki User

11y ago

Advantages of DDA Algorithm:

1. It is the simplest algorithm and it does not require special skills for implementation.

2. It is a faster method for calculating pixel positions than the direct use of equation y=mx + b. It eliminates the multiplication in the equation by making use of raster characteristics, so that appropriate increments are applied in the x or y direction to find the pixel positions along the line path.

This answer is:
User Avatar

User Avatar

Wiki User

9y ago

DDA is one of the algorithms used to draw lines via linear interpolation of variables in computer graphics. DDA stands for Digital Differential Analyzer.

This answer is:
User Avatar

Add your answer:

Earn +20 pts
Q: Advantages of DDA line drawing algorithm?
Write your answer...
Submit
Still have questions?
magnify glass
imp
Continue Learning about Engineering

Difference between simple and symmetrical dda line drawing algorithm?

"Simple DDA" does not require special skills for implementation.


Which modifications are necessary to generate dda dotted line code from dda algorithm?

What is the advantage of bresenham algorithm over dda algorithm?Read more: What_is_the_advantage_of_bresenham_algorithm_over_dda_algorithm


What are the advantages of bresenhams's line drawing algorithm over the cartesian slope ana ddadigitial defrantial analyser?

DDA uses float numbers and uses operators such as division and multiplication in its calculation. Bresgenham's algorithm uses ints and only uses addition and subtraction. Due to the use of only addition subtraction and bit shifting (multiplication and division use more resources and processor power) bresenhams algorithm is faster than DDA in producing the line. Im not sure, though if i remember right, they still produce the same line in the end. One note concerning efficiency: Fixed point DDA algorithms are generally superior to Bresenhams algorithm on modern computers. The reason is that Bresenhams algorithm uses a conditional branch in the loop, and this results in frequent branch mispredictions in the CPU. Fixed point DDA also has fewer instructions in the loop body (one bit shift, one increment and one addition to be exact. In addition to the loop instructions and the actual plotting). As CPU pipelines become deeper, mispredictions penalties will become more severe. Since DDA uses rounding off of the pixel position obtained by multiplication or division, causes an accumulation of error in the proceeding pixels whereas in Bresenhams line algorithm the new pixel is calculated with a small unit change in one direction and checking of nearest pixel with the decision variable satisfying the line equation.


What are the differences between Bresenham's line algorithm and Bresenham's circle algorithm?

These two algorithms are almost completely different. The only real similarity is that they are each designed to use only integer addition/subtraction and multiplication, avoiding expensive division and floating point operations.


Advantages of DDA algorithms?

Advantages & disadvantages of DDA:-Faster than the direct use of the line equation and it does not do any floating point multiplication.Floating point Addition is still needed.Precision loss because of rounding off.Pixels drift farther apart if line is relatively larger.

Related questions

Which line drawing algorithm is better dda or bresenhams?

Bresenhams' algorithm is better


Difference between simple and symmetrical dda line drawing algorithm?

"Simple DDA" does not require special skills for implementation.


Which modifications are necessary to generate dda dotted line code from dda algorithm?

What is the advantage of bresenham algorithm over dda algorithm?Read more: What_is_the_advantage_of_bresenham_algorithm_over_dda_algorithm


What are the advantages of bresenhams's line drawing algorithm over the cartesian slope ana ddadigitial defrantial analyser?

DDA uses float numbers and uses operators such as division and multiplication in its calculation. Bresgenham's algorithm uses ints and only uses addition and subtraction. Due to the use of only addition subtraction and bit shifting (multiplication and division use more resources and processor power) bresenhams algorithm is faster than DDA in producing the line. Im not sure, though if i remember right, they still produce the same line in the end. One note concerning efficiency: Fixed point DDA algorithms are generally superior to Bresenhams algorithm on modern computers. The reason is that Bresenhams algorithm uses a conditional branch in the loop, and this results in frequent branch mispredictions in the CPU. Fixed point DDA also has fewer instructions in the loop body (one bit shift, one increment and one addition to be exact. In addition to the loop instructions and the actual plotting). As CPU pipelines become deeper, mispredictions penalties will become more severe. Since DDA uses rounding off of the pixel position obtained by multiplication or division, causes an accumulation of error in the proceeding pixels whereas in Bresenhams line algorithm the new pixel is calculated with a small unit change in one direction and checking of nearest pixel with the decision variable satisfying the line equation.


What are the differences between Bresenham's line algorithm and Bresenham's circle algorithm?

These two algorithms are almost completely different. The only real similarity is that they are each designed to use only integer addition/subtraction and multiplication, avoiding expensive division and floating point operations.


Advantages of DDA algorithms?

Advantages & disadvantages of DDA:-Faster than the direct use of the line equation and it does not do any floating point multiplication.Floating point Addition is still needed.Precision loss because of rounding off.Pixels drift farther apart if line is relatively larger.


DDA line algorithm to be executed in C?

C Programming Coding For DDA Algorithmvoid linedda(int xa,int ya,int xb,int yb) {int dx=xb-xa,dy=yb-ya,steps,k;float xincrement,yincrement,x=xa,y=ya;if(abs(dx)>abs(dy)) steps=abs(dx);else steps=abs(dy);xincrement=dx/(float)steps;yincrement=dy/(float)steps;putpixel(round(x),round(y),2)for(k=0;k


What is the limitation of DDA line generation algorithm?

1.It drift away from the actual line path because of rounding off float values to integer2.It causes jaggies or stair-step effect----------------------------------------------------------------------------------------------------------------Disadvantage:The accumulation of round of error is successive addition of the floating point increments is used to find the pixel position but it take lot of time to compute the pixel position. ----------------------------------------------------------------------------------------------------------------More Informationhttp://knol.google.com/k/thiyagaraaj-m/dda-line-algorithm/1lfp8o9xxpx13/78# http://i.thiyagaraaj.com/articles/articles/dda-line-algorithm----------------------------------------------------------------------------------------------------------------the standard version of dda given as in one of its steps asif(abs(dx)>abs(dy)) steps=abs(dx);else steps=abs(dy);this part just supports the positive slop with starting point on left side. Take an example of any other end points as {(8,3) to (2,2) or (4,5) to ( 8,2) or (8,3) to (5,5) } where the slop needs to be negative( for the last two cases) only.can anyone correct me by suggesting the accurate version of DDA? Or is this the actual DDA??.


Differences between digital differential analyzer and bresenham algorithm?

AnswerDDA uses float numbers and uses operators such as division and multiplication in its calculation. Bresenhams algorithm uses ints and only uses addition and subtraction. Due to the use of only addition subtraction and bit shifting (multiplication and division use more resources and processor power) bresenhams algorithm is faster than DDA in producing the line. Im not sure, though if i remember right, they still produce the same line in the end.One note concerning efficiency: Fixed point DDA algorithms are generally superior to Bresenhams algorithm on modern computers. The reason is that Bresenhams algorithm uses a conditional branch in the loop, and this results in frequent branch mispredictions in the CPU. Fixed point DDA also has fewer instructions in the loop body (one bit shift, one increment and one addition to be exact. In addition to the loop instructions and the actual plotting). As CPU pipelines become deeper, mispredictions penalties will become more severe.Since DDA uses rounding off of the pixel position obtained by multiplication or division, causes an accumulation of error in the proceeding pixels whereas in Bresenhams line algorithm the new pixel is calculated with a small unit change in one direction and checking of nearest pixel with the decision variable satisfying the line equation.BUT this error can be calculated and will not cause problems for typical line drawing applications. Lines longer than what fits on a typical computer screen (a few thousand pixels) will be identical to Bresenham lines when using 32 bit integers. Fixed point DDA also has another advantage: Since it does not require conditional jumps, you can compute several lines in parallel with SIMD (Single Instruction Multiple Data) techniques.


What is simple dda?

DDA stands for Digital Differential Analyzer. With that in mind, simple DDA just means that it is simplified.


Give 10 difference between dda and bresenham algorithm?

My answer is to atlas be under nine or 4"9" but if you are under nine without a booster seat you will be fined at least $25 or $75 each.


How do you find your dda number?

were is the dda number on a check