SlideShare a Scribd company logo
2
Most read
9
Most read
15
Most read
Line Drawing Algorithms
1. A line in Computer graphics is a portion of
straight line that extends indefinitely in opposite
direction.
2. It is defined by its two end points.
3. Its density should be independent of line length.
the slope intercept equation for a line:
y = mx + b (1)
where, m = Slope of the line
b = the y intercept of a line
The two endpoints of a line segment are specified at
positions (x1,y1) and (x2,y2).
x
y
P1(x1,y1)
P2(x2,y2)
b
0
We can determine the value for slope m & b intercept
as
m = y2-y1/x2-x1
i.e. m= Δy/ Δx (2)
Example 1 The endpoints of line are(0,0) & (6,18).
Compute each value of y as x steps from 0 to 6 and
plot the result.
Solution : Equation of line is y= mx +b
m = y2-y1/x2-x1= 18-0/6-0 = 3
Next the y intercept b is found by plugging y1& x1 into
the equation y = 3x + b,
0 = 3(0) + b. Therefore, b=0, so the equation for the
line is y= 3x.
The challenge is to find a way to calculate the next x,y
position by previous one as quickly as possible.
DDA Algorithm
The Digital differential analyzer (DDA)
algorithm is an incremental scan-conversion
method.
Such an approach is characterized by
performing calculations at each step using results
from the preceding step.
Algorithm:
(x1,y1) (x2,y2) are the end points and dx, dy are
the float variables.
Where dx= abs(x2-x1) and dy= abs(y2-y1)
(i) If dx >=dy then
length = dx
else
length = dy
endif
(ii) dx = (x2-x1)/length
dy = (y2-y1)/length
(iii) x = x1 + 0.5
y = y1 + 0.5
(iv) i = 0
(v) Plot ((x), (y))
(vi) x = x + dx
y = y + dy
(vii) i = i + 1
(viii) If i < length then go to step (v)
(ix) Stop
Example 2 Scan convert a line having end points
(3,2) & (4,7) using DDA.
Solution: dx= x2 - x1 = 4-3 = 1
dy= y2 - y1 = 7-2 = 5
As, dx < dy then
length = y2-y1 = 5
dx = (x2-x1)/ length = 1/5 =0.2
dy = (y2-y1)/ length = 5/5 = 1
x1 y1 x2 y2 m dx dy i x y Result Plot
3 2 4 7 5 .2 1 0 3.5 2.5 3.5, 2.5 3,2
1 3.7 3.5 3.7,3.5 3,3
2 3.9 4.5 3.9,4.5 3,4
3 4.1 5.5 4.1,5.5 4,5
4 4.3 6.5 4.3,6.5 4,6
5 4.5 7.5 4.5,7.5 4,7
Limitations of DDA:
(1) The rounding operation & floating point
arithmetic are time consuming procedures.
(2) Round-off error can cause the calculated pixel
position to drift away from the true line path for
long line segment.
The Bresenham Line Algorithm
The Bresenham algorithm is another incremental scan
conversion algorithm
The big advantage of this algorithm is that it uses only
integer calculations
Move across the x axis in unit intervals and at each step
choose between two different y coordinates
2 3 4 5
2
4
3
5
For example, from
position (2, 3) we have
to choose between (3,
3) and (3, 4)
We would like the
point that is closer to
the original line
(xk, yk)
(xk+1, yk)
(xk+1, yk+1)
The y coordinate on the mathematical line at xk+1
is:
Deriving The Bresenham Line Algorithm
At sample position xk+1 the
vertical separations from the
mathematical line are
labelled dupper and dlower
b
x
m
y k 

 )
1
(
y
yk
yk+1
xk+1
dlower
dupper
The Bresenham Line Algorithm
BRESENHAM’S LINE DRAWING ALGORITHM
1. Input the two line end-points, storing the left end-point in (x1,
y1)
2. Calculate the constants Δx i.e. dx, Δy i.e. dy, 2Δy and 2 Δx,
get the first value for the decision parameter as:
3. Initialise starting
4. If e< 0 , then the next point to plot is (xk+1, yk+1) and:
y
e
e 

 2
x
y
e 


 2
e
The Bresenham Line Algorithm (cont…)
The algorithm and derivation above assumes slopes are
less than 1. for other slopes we need to adjust the
algorithm slightly.
Otherwise, the next point to plot is (xk+1, yk+1) and:
5. Repeat step 4 (Δx – 1) times
x
y
p
p k
k 




 2
2
1
Adjustment
For m>1, we will find whether we will increment x while
incrementing y each time.
After solving, the equation for decision parameter pk will
be very similar, just the x and y in the equation will get
interchanged.
Bresenham Example
Let’s have a go at this
Let’s plot the line from (20, 10) to (30, 18)
First off calculate all of the constants:
 Δx: 10
 Δy: 8
 2Δy: 16
 2Δy - 2Δx: -4
Calculate the initial decision parameter p0:
 p0 = 2Δy – Δx = 6
Bresenham Example (cont…)
17
16
15
14
13
12
11
10
18
29
27
26
25
24
23
22
21
20 28 30
k pk (xk+1,yk+1)
0
1
2
3
4
5
6
7
8
9
Bresenham Exercise
Go through the steps of the Bresenham line drawing
algorithm for a line going from (21,12) to (29,16)
Bresenham Exercise (cont…)
17
16
15
14
13
12
11
10
18
29
27
26
25
24
23
22
21
20 28 30
k pk (xk+1,yk+1)
0
1
2
3
4
5
6
7
8
Bresenham Line Algorithm Summary
The Bresenham line algorithm has the following
advantages:
 An fast incremental algorithm
 Uses only integer calculations
Comparing this to the DDA algorithm, DDA has the
following problems:
 Accumulation of round-off errors can make the
pixelated line drift away from what was intended
 The rounding operations and floating point arithmetic
involved are time consuming

More Related Content

What's hot (20)

PPT
Line drawing algo.
Mohd Arif
 
PPTX
Segments in Graphics
Rajani Thite
 
PPTX
Clipping
AMIT VIRAMGAMI
 
PPTX
Clipping in Computer Graphics
Laxman Puri
 
PDF
scan conversion of point , line and circle
Divy Kumar Gupta
 
PPTX
2 d viewing computer graphics
KALESHWAR KUMAR
 
PPTX
3D transformation in computer graphics
SHIVANI SONI
 
PPTX
Attributes of Output Primitives
Renita Santhmayora
 
PPTX
Line Drawing Algorithms - Computer Graphics - Notes
Omprakash Chauhan
 
PPTX
Cyrus beck line clipping algorithm
Pooja Dixit
 
PPTX
The sutherland hodgeman polygon clipping algorithm
Mani Kanth
 
PPTX
Depth Buffer Method
Ummiya Mohammedi
 
PPTX
COMPUTER GRAPHICS-"Projection"
Ankit Surti
 
PPT
Clipping
Mohd Arif
 
PPTX
Video display devices
shalinikarunakaran1
 
PPTX
Dda algorithm
Mani Kanth
 
PPTX
BRESENHAM’S LINE DRAWING ALGORITHM
St Mary's College,Thrissur,Kerala
 
PPTX
Output primitives in Computer Graphics
Kamal Acharya
 
PPT
Computer graphics iv unit
aravindangc
 
PPTX
DDA-line-drawing-algorithm.pptx
SujataSonawane11
 
Line drawing algo.
Mohd Arif
 
Segments in Graphics
Rajani Thite
 
Clipping
AMIT VIRAMGAMI
 
Clipping in Computer Graphics
Laxman Puri
 
scan conversion of point , line and circle
Divy Kumar Gupta
 
2 d viewing computer graphics
KALESHWAR KUMAR
 
3D transformation in computer graphics
SHIVANI SONI
 
Attributes of Output Primitives
Renita Santhmayora
 
Line Drawing Algorithms - Computer Graphics - Notes
Omprakash Chauhan
 
Cyrus beck line clipping algorithm
Pooja Dixit
 
The sutherland hodgeman polygon clipping algorithm
Mani Kanth
 
Depth Buffer Method
Ummiya Mohammedi
 
COMPUTER GRAPHICS-"Projection"
Ankit Surti
 
Clipping
Mohd Arif
 
Video display devices
shalinikarunakaran1
 
Dda algorithm
Mani Kanth
 
BRESENHAM’S LINE DRAWING ALGORITHM
St Mary's College,Thrissur,Kerala
 
Output primitives in Computer Graphics
Kamal Acharya
 
Computer graphics iv unit
aravindangc
 
DDA-line-drawing-algorithm.pptx
SujataSonawane11
 

Similar to Computer graphics LINE DRAWING algorithm.pptx (20)

PDF
Computer Graphics_Module 2_Output Primitives.pdf
tabbu23
 
PPT
Lecture-4-Scan_Conversion_Bresenhams_Algorithm.ppt
KhondokarMdMehediHas
 
PPT
1 linedrawing
SakshiNailwal
 
PDF
Chapter 2 Computer graphics by Kushal Bhattarai
idontwannatellmyname
 
PDF
Unit-2 raster scan graphics,line,circle and polygon algorithms
Amol Gaikwad
 
PDF
Computer graphics 2
Prabin Gautam
 
PPTX
Output Primitive and Brenshamas Line.pptx
NaveenaKarthik3
 
PDF
Bresenham line-drawing-algorithm By S L Sonawane.pdf
SujataSonawane11
 
PPT
Bresenham circlesandpolygons
aa11bb11
 
PPT
Bresenham circles and polygons derication
Kumar
 
PDF
Line drawing Algorithm DDA in computer Graphics.pdf
RAJARATNAS
 
PDF
CG08 - Bresenham’s Line Algorithm Data structure.pdf
shehzadshafique51
 
PPTX
OUTPUT PRIMITIVES.pptx
IndhuMcamphil
 
PPTX
OUTPUT PRIMITIVES.pptx
Alamelu
 
PPTX
SJT_COMPUTER GRAPHICS detailed intto.pptx
divjotbatra1
 
PPTX
dddddddddddddddddddddddddddddddddddddddddddddddddddddAlgorithm.pptx
SubramaniyanChandras1
 
PPT
03.Scan Conversion.ppt
RobinAhmedSaikat
 
PPTX
Study on Fundamentals of Raster Scan Graphics
Dr. Chandrakant Divate
 
PDF
Bresenhems line Genration derivation for Mtech
rahulkatre9
 
PDF
Bresenhams Line Drawing Algorithm in Graphics.pdf
RAJARATNAS
 
Computer Graphics_Module 2_Output Primitives.pdf
tabbu23
 
Lecture-4-Scan_Conversion_Bresenhams_Algorithm.ppt
KhondokarMdMehediHas
 
1 linedrawing
SakshiNailwal
 
Chapter 2 Computer graphics by Kushal Bhattarai
idontwannatellmyname
 
Unit-2 raster scan graphics,line,circle and polygon algorithms
Amol Gaikwad
 
Computer graphics 2
Prabin Gautam
 
Output Primitive and Brenshamas Line.pptx
NaveenaKarthik3
 
Bresenham line-drawing-algorithm By S L Sonawane.pdf
SujataSonawane11
 
Bresenham circlesandpolygons
aa11bb11
 
Bresenham circles and polygons derication
Kumar
 
Line drawing Algorithm DDA in computer Graphics.pdf
RAJARATNAS
 
CG08 - Bresenham’s Line Algorithm Data structure.pdf
shehzadshafique51
 
OUTPUT PRIMITIVES.pptx
IndhuMcamphil
 
OUTPUT PRIMITIVES.pptx
Alamelu
 
SJT_COMPUTER GRAPHICS detailed intto.pptx
divjotbatra1
 
dddddddddddddddddddddddddddddddddddddddddddddddddddddAlgorithm.pptx
SubramaniyanChandras1
 
03.Scan Conversion.ppt
RobinAhmedSaikat
 
Study on Fundamentals of Raster Scan Graphics
Dr. Chandrakant Divate
 
Bresenhems line Genration derivation for Mtech
rahulkatre9
 
Bresenhams Line Drawing Algorithm in Graphics.pdf
RAJARATNAS
 
Ad

Recently uploaded (20)

PDF
BÀI TẬP TEST BỔ TRỢ THEO TỪNG CHỦ ĐỀ CỦA TỪNG UNIT KÈM BÀI TẬP NGHE - TIẾNG A...
Nguyen Thanh Tu Collection
 
PDF
The-Invisible-Living-World-Beyond-Our-Naked-Eye chapter 2.pdf/8th science cur...
Sandeep Swamy
 
PPTX
Sonnet 130_ My Mistress’ Eyes Are Nothing Like the Sun By William Shakespear...
DhatriParmar
 
PPTX
How to Track Skills & Contracts Using Odoo 18 Employee
Celine George
 
PPTX
Artificial Intelligence in Gastroentrology: Advancements and Future Presprec...
AyanHossain
 
PPTX
Continental Accounting in Odoo 18 - Odoo Slides
Celine George
 
PDF
John Keats introduction and list of his important works
vatsalacpr
 
PPTX
K-Circle-Weekly-Quiz12121212-May2025.pptx
Pankaj Rodey
 
PDF
Virat Kohli- the Pride of Indian cricket
kushpar147
 
PPTX
Applications of matrices In Real Life_20250724_091307_0000.pptx
gehlotkrish03
 
PPTX
Digital Professionalism and Interpersonal Competence
rutvikgediya1
 
PPTX
How to Close Subscription in Odoo 18 - Odoo Slides
Celine George
 
PPTX
Introduction to pediatric nursing in 5th Sem..pptx
AneetaSharma15
 
PPTX
Electrophysiology_of_Heart. Electrophysiology studies in Cardiovascular syste...
Rajshri Ghogare
 
PPTX
Unlock the Power of Cursor AI: MuleSoft Integrations
Veera Pallapu
 
PPTX
I INCLUDED THIS TOPIC IS INTELLIGENCE DEFINITION, MEANING, INDIVIDUAL DIFFERE...
parmarjuli1412
 
PPTX
20250924 Navigating the Future: How to tell the difference between an emergen...
McGuinness Institute
 
PDF
The Minister of Tourism, Culture and Creative Arts, Abla Dzifa Gomashie has e...
nservice241
 
PPT
DRUGS USED IN THERAPY OF SHOCK, Shock Therapy, Treatment or management of shock
Rajshri Ghogare
 
PPTX
ENGLISH 8 WEEK 3 Q1 - Analyzing the linguistic, historical, andor biographica...
OliverOllet
 
BÀI TẬP TEST BỔ TRỢ THEO TỪNG CHỦ ĐỀ CỦA TỪNG UNIT KÈM BÀI TẬP NGHE - TIẾNG A...
Nguyen Thanh Tu Collection
 
The-Invisible-Living-World-Beyond-Our-Naked-Eye chapter 2.pdf/8th science cur...
Sandeep Swamy
 
Sonnet 130_ My Mistress’ Eyes Are Nothing Like the Sun By William Shakespear...
DhatriParmar
 
How to Track Skills & Contracts Using Odoo 18 Employee
Celine George
 
Artificial Intelligence in Gastroentrology: Advancements and Future Presprec...
AyanHossain
 
Continental Accounting in Odoo 18 - Odoo Slides
Celine George
 
John Keats introduction and list of his important works
vatsalacpr
 
K-Circle-Weekly-Quiz12121212-May2025.pptx
Pankaj Rodey
 
Virat Kohli- the Pride of Indian cricket
kushpar147
 
Applications of matrices In Real Life_20250724_091307_0000.pptx
gehlotkrish03
 
Digital Professionalism and Interpersonal Competence
rutvikgediya1
 
How to Close Subscription in Odoo 18 - Odoo Slides
Celine George
 
Introduction to pediatric nursing in 5th Sem..pptx
AneetaSharma15
 
Electrophysiology_of_Heart. Electrophysiology studies in Cardiovascular syste...
Rajshri Ghogare
 
Unlock the Power of Cursor AI: MuleSoft Integrations
Veera Pallapu
 
I INCLUDED THIS TOPIC IS INTELLIGENCE DEFINITION, MEANING, INDIVIDUAL DIFFERE...
parmarjuli1412
 
20250924 Navigating the Future: How to tell the difference between an emergen...
McGuinness Institute
 
The Minister of Tourism, Culture and Creative Arts, Abla Dzifa Gomashie has e...
nservice241
 
DRUGS USED IN THERAPY OF SHOCK, Shock Therapy, Treatment or management of shock
Rajshri Ghogare
 
ENGLISH 8 WEEK 3 Q1 - Analyzing the linguistic, historical, andor biographica...
OliverOllet
 
Ad

Computer graphics LINE DRAWING algorithm.pptx

  • 1. Line Drawing Algorithms 1. A line in Computer graphics is a portion of straight line that extends indefinitely in opposite direction. 2. It is defined by its two end points. 3. Its density should be independent of line length. the slope intercept equation for a line: y = mx + b (1) where, m = Slope of the line b = the y intercept of a line
  • 2. The two endpoints of a line segment are specified at positions (x1,y1) and (x2,y2). x y P1(x1,y1) P2(x2,y2) b 0
  • 3. We can determine the value for slope m & b intercept as m = y2-y1/x2-x1 i.e. m= Δy/ Δx (2)
  • 4. Example 1 The endpoints of line are(0,0) & (6,18). Compute each value of y as x steps from 0 to 6 and plot the result. Solution : Equation of line is y= mx +b m = y2-y1/x2-x1= 18-0/6-0 = 3 Next the y intercept b is found by plugging y1& x1 into the equation y = 3x + b, 0 = 3(0) + b. Therefore, b=0, so the equation for the line is y= 3x.
  • 5. The challenge is to find a way to calculate the next x,y position by previous one as quickly as possible.
  • 6. DDA Algorithm The Digital differential analyzer (DDA) algorithm is an incremental scan-conversion method. Such an approach is characterized by performing calculations at each step using results from the preceding step.
  • 7. Algorithm: (x1,y1) (x2,y2) are the end points and dx, dy are the float variables. Where dx= abs(x2-x1) and dy= abs(y2-y1) (i) If dx >=dy then length = dx else length = dy endif
  • 8. (ii) dx = (x2-x1)/length dy = (y2-y1)/length (iii) x = x1 + 0.5 y = y1 + 0.5 (iv) i = 0 (v) Plot ((x), (y)) (vi) x = x + dx y = y + dy (vii) i = i + 1
  • 9. (viii) If i < length then go to step (v) (ix) Stop Example 2 Scan convert a line having end points (3,2) & (4,7) using DDA. Solution: dx= x2 - x1 = 4-3 = 1 dy= y2 - y1 = 7-2 = 5 As, dx < dy then length = y2-y1 = 5 dx = (x2-x1)/ length = 1/5 =0.2 dy = (y2-y1)/ length = 5/5 = 1
  • 10. x1 y1 x2 y2 m dx dy i x y Result Plot 3 2 4 7 5 .2 1 0 3.5 2.5 3.5, 2.5 3,2 1 3.7 3.5 3.7,3.5 3,3 2 3.9 4.5 3.9,4.5 3,4 3 4.1 5.5 4.1,5.5 4,5 4 4.3 6.5 4.3,6.5 4,6 5 4.5 7.5 4.5,7.5 4,7
  • 11. Limitations of DDA: (1) The rounding operation & floating point arithmetic are time consuming procedures. (2) Round-off error can cause the calculated pixel position to drift away from the true line path for long line segment.
  • 12. The Bresenham Line Algorithm The Bresenham algorithm is another incremental scan conversion algorithm The big advantage of this algorithm is that it uses only integer calculations
  • 13. Move across the x axis in unit intervals and at each step choose between two different y coordinates 2 3 4 5 2 4 3 5 For example, from position (2, 3) we have to choose between (3, 3) and (3, 4) We would like the point that is closer to the original line (xk, yk) (xk+1, yk) (xk+1, yk+1)
  • 14. The y coordinate on the mathematical line at xk+1 is: Deriving The Bresenham Line Algorithm At sample position xk+1 the vertical separations from the mathematical line are labelled dupper and dlower b x m y k    ) 1 ( y yk yk+1 xk+1 dlower dupper
  • 15. The Bresenham Line Algorithm BRESENHAM’S LINE DRAWING ALGORITHM 1. Input the two line end-points, storing the left end-point in (x1, y1) 2. Calculate the constants Δx i.e. dx, Δy i.e. dy, 2Δy and 2 Δx, get the first value for the decision parameter as: 3. Initialise starting 4. If e< 0 , then the next point to plot is (xk+1, yk+1) and: y e e    2 x y e     2 e
  • 16. The Bresenham Line Algorithm (cont…) The algorithm and derivation above assumes slopes are less than 1. for other slopes we need to adjust the algorithm slightly. Otherwise, the next point to plot is (xk+1, yk+1) and: 5. Repeat step 4 (Δx – 1) times x y p p k k       2 2 1
  • 17. Adjustment For m>1, we will find whether we will increment x while incrementing y each time. After solving, the equation for decision parameter pk will be very similar, just the x and y in the equation will get interchanged.
  • 18. Bresenham Example Let’s have a go at this Let’s plot the line from (20, 10) to (30, 18) First off calculate all of the constants:  Δx: 10  Δy: 8  2Δy: 16  2Δy - 2Δx: -4 Calculate the initial decision parameter p0:  p0 = 2Δy – Δx = 6
  • 20. Bresenham Exercise Go through the steps of the Bresenham line drawing algorithm for a line going from (21,12) to (29,16)
  • 22. Bresenham Line Algorithm Summary The Bresenham line algorithm has the following advantages:  An fast incremental algorithm  Uses only integer calculations Comparing this to the DDA algorithm, DDA has the following problems:  Accumulation of round-off errors can make the pixelated line drift away from what was intended  The rounding operations and floating point arithmetic involved are time consuming