CG L7 DDA Line Drawing Algorithm
CG L7 DDA Line Drawing Algorithm
Analyzer (DDA)
LINE DRAWING
ALGORITHM
WITH SOLVED EXAMPLES
DDA LINE DRAWING ALGORITHM
The line (vector) generation algorithms which determine the
pixels that should be turned ON are called as digital
differential analyzer (DDA).
It is one of the technique for obtaining a rasterized straight
line.
This algorithm can be used to draw the line in all the
quadrants.
DDA ALGORITHM
Assumption:
1. (x1, y1) and (x2, y2) are the two end points of a line and are not equal.
2. Floor integer function is used to convert the real values into integer
value.
e.g.: if value is +8.5 then it is converted to 8 and
if value is -8.5 then it is converted to 9.
3. Sign function is used which returns +1, 0, -1 for the arguments >0, =0,
<0.
e.g.: sign(5) = +1
sign(0) = 0
sign(-1) = -1
sign (1) = 1
CONTD….
Step 1: Approximate the line length
if abs(x2-x1)>= abs(y2-y1) then
length = abs(x2-x1)
else
length = abs(y2-y1)
end if
1
Set pixel
(0,9)
x
0.5
y
9.5
2 (0,8) 0.7 8.5
3 (0,7) 0.9 7.5
4 (1,6) 1.1 6.5
5 (1,5) 1.3 5.5
6 (1,4) 1.5 4.5
7 (1,3) 1.7 3.5
8 (1,2) 1.9 2.5
9 (2,1) 2.1 1.5
10 (2,0) 2.3 0.5
11 END 2.5 -0.5
Solution of Q.2 Result :-
CONTD…. 10
The points obtain to 9
rasterize a line for
8
the equation
x/2 + y/10 = 1 are : 7
(0,9) 6
(0,8) 5
(0,7) 4
(1,6)
3
(1,5)
(1,4) 2
(1,3) 1
(1,2)
(2,1) 0
1 2 3 4 5 6
(2,0)
Another Task
• Apply DDA algorithm on the
following equation:
• 5x/7 + 18y/7 = 1
Advantages and Disadvantages of DDA
Advantages :
1. Simplest line drawing algorithm
2. No special skills required for its implementation
3. DDA draws the line faster than drawing the line by directly using the
line equation.
Disadvantages :
1. It dependents on orientation which makes the end point accuracy
poor.
2. It requires floating point addition to determine each successive point
which is time consuming.
3. Error due to limited precision in floating point representation may
cause calculated points to shift away from their actual position when
the line is relatively long.
THANK YOU