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?

The Digital Differential Analyzer (DDA) algorithm calculates the pixels along a line by dividing the distance between the two endpoints, while Bresenham's algorithm uses integer arithmetic to plot the pixels more efficiently. The DDA algorithm can be slower due to floating-point calculations, while Bresenham's algorithm is typically faster and more accurate for drawing lines on a raster display.


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?

DDA algorithm involves floating-point operations, while Bresenham algorithm uses only integer operations. DDA algorithm calculates the exact position of each pixel, while Bresenham algorithm determines the closest pixel to the ideal line path. DDA algorithm can suffer from precision issues due to floating-point calculations, while Bresenham algorithm is more accurate and efficient. DDA algorithm is simpler to implement but slower than Bresenham algorithm. DDA algorithm is susceptible to rounding errors, while Bresenham algorithm is not. DDA algorithm can produce jagged lines due to rounding errors, while Bresenham algorithm generates smoother lines. DDA algorithm is suitable for both lines and circles, while Bresenham algorithm is primarily used for drawing lines. DDA algorithm can handle lines with any slope, while Bresenham algorithm is more efficient for lines with slopes close to 0 or 1. DDA algorithm involves multiplication and division operations, while Bresenham algorithm uses addition and subtraction operations. DDA algorithm is a general line drawing algorithm, while Bresenham algorithm is specialized for line drawing and rasterization.


How do you find your dda number?

were is the dda number on a check