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 AlgorithmDDA 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... :)
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.
DDA is one of the algorithms used to draw lines via linear interpolation of variables in computer graphics. DDA stands for Digital Differential Analyzer.
"Simple DDA" does not require special skills for implementation.
What is the advantage of bresenham algorithm over dda algorithm?Read more: What_is_the_advantage_of_bresenham_algorithm_over_dda_algorithm
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.
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 & 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.
Bresenhams' algorithm is better
"Simple DDA" does not require special skills for implementation.
What is the advantage of bresenham algorithm over dda algorithm?Read more: What_is_the_advantage_of_bresenham_algorithm_over_dda_algorithm
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.
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 & 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.
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
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??.
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.
DDA stands for Digital Differential Analyzer. With that in mind, simple DDA just means that it is simplified.
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.
were is the dda number on a check