SlideShare a Scribd company logo
2
Most read
3
Most read
9
Most read
1. Line Drawing Algorithms
Straight line drawing algorithms are based on incremental methods.
In incremental method line starts with a straight point, then some fix
incrementable is added to current point to get next point on line and same is
continued all the end of line.
1
Simple DDAAlgorithm
Step 1: Read the end points of line.
Step 2: x =abs (x2-x1) and
 y=abs (y2-y1)
Step 3: if x ≥ v then
length = x
else
length = y
end if
Step 4: x line = (x2-x1) / length
Step 5: y line = (y2-y1) / length
Step 6: x=x1+0.5*sign (x line)
y=y1+0.5*sign (y line)
Step 7: i=1
while (i ≤length)
{ plot (integer (x), integer (y))
x= x + x line
y= y + y line
i=i+1
}
Step 8: End
2
Simple DDAAlgorithm (Example)
Q: (First Quadrant Example)
Consider a line from (0,0) to (5,6). Use simple DDA
algorithm to rasterize this line.
Solutions: it is a line in first quadrant.
Now follow algorithm step-by-step.
Step 1: Read end points of line
(x1,y1) = (0,0) and
(x2,y2) = (5,6)
Step 2: x=abs (x2-x1)
x=abs(5-0)
x=5
y=abs(y2-ya)
y=abs(6-0)
y=6
Step 3: As (6>5)
length=6
Step 4: x line = 5/6
x=0.833
y=6/6
y=1
Step 5: x=x1+0.5*sign(x line)
x=0+0.5*sign(0.8333)
x=0+0.5*1
x=0.5
Step 6: y=y1+0.5*sign(y line)
y=0+0.5*sign(1)
y=0+0.5*1
y=0.5
Step 7: End
3
1. Line Drawing Algorithms
Value of 1 Plot
Pixel
x y
0.5 0.5
1 (0,0)
1.333 1.5
2 (1,1)
2.166 2.5
3 (2,2)
2.999 3.5
4 (2,3)
3.832 4.5
5 (3,4)
4.665 5.5
6 (4,5)
5.498 6.5
0 1 2 3 4 5
012345
(0,0)
4
Demerits of DDAAlgorithm
1. Floating points arithmetic in DDA algorithm is time consuming.
2. Accumulation of round-off error in successive additions of floating
point increment can cause the calculated pixel positions to drift away
from the true line path for long line segments.
Merits of DDAAlgorithm
1. It is simple algorithm.
2. It is faster method.
Let’s see example problems to illustrate simple DDAAlgorithm.
5
Bresnahan's line drawing
The process of "turning on" the pixels for a line is called the generation.
A line that means we have to change the intensity of the pixels present on
that line.
In this we have two different algorithm.
yk + 1
y
yk
xk + 1
d2
d1
6
Bresnahan's line drawing algorithm
Step 1: Read line end points as (x1-x1) and (x2-y2)
Step 2: x=|x2=x1| and y=|y2-y1|
Step 3: Initialize starting point of line
i.e. x=x1
y=y1
Step 4: Plot (x,y) i.e. plot first point
Step 5: obtain initial value of decision parameter Pk
as
Pk=2 y- x
Step 6: if Pk,0
{
x=x+1
y=y+1
Pk=Pk+2 y
}
if Pk ≥ 0
{
x=x+1
y=y+1
Pk=Pk+2y=2x
}
plot (x,y)
Step 7: Repeat step (6) x times.
Step 8: Stop
7
Bresnahan's line drawing Example
Q: Consider the line from (6,6) to (12,9)
Use Brissenden's algorithm to rasterize this line.
Solutions: Following algorithm 3 step-by-step
Step 1: x1=6
y1=6
x2=12
y2=9
Step 2: x=|12-6|=6
t=|12-9|=3
Step 3: x=6
y=6
Step 4: Plot (x,y) i..e Plot (6,6), initial point
Step 5: value of decision parameter,
Pk=2 y- x
Pk=2(3)-6
Pk=0
Step 6 and 7: Now i=1 . See Table
Step 8: Stop
i Plot
Pixel
X Y Pk
6 6 0
1 (6,6) 7 7 -6
2 (7,7) 8 7 0
3 (8,7) 9 8 -6
4 (9,8) 10 8 0
5 (10,8) 11 9 -6
6 (11,9) 12 9 0
Output:
Step 6 and 7
10
11
9
8
6
7
4
5
10 11986 74 5
8
DDA VS Bresnahan's (Different)
SR DDA Bresnahan's
1 Based on increment method. Based on increment
method.
2 Use floating point arithmetic. Use only integers.
3 Slower then Bresnahan's Faster than DDA.
4 Use of multiplication and
division operations.
Use of only Addition
and Subtraction
operations.
5 To display pixel we need to use
either floor or ceil function.
No need of floor or
ceil function for
display.
6 Because of floor and ceil
function error component is
introduced.
No error component
is introduced.
7 The co-ordinate location is same
as that of Bresnahan's.
The co-ordinate
location same as that
DDA 9
Circle Generating Algorithms
-x, y
-x, -y
-y, -x y, -x
x, -y
x, y
y, x-y, x
45
Symmetry of Circle
10
Bresnahan’s circle Generating Algorithm
Step 1: Read radius (r) of circle.
Step 2: Calculate initial decision variable Pi
Step 3: x=0 and y=r
Step 4: if (Pi,0)
{
x=x+1
Pi=Pi+4x+6
}
else if (Pi≥ 0)
{
x=x+1
y=y-1
Pi=Pi+4(x-y)+10
}
Step 5: Plot pixels in all octants as
Plot (x,y)
Plot(y,x)
Plot(-y,x)
Plot(-x,y)
Plot(-x,-y)
Plot(y,-x)
Plot(x,-y)
Step 6: Stop
11
Mid-point Circle Generating Algorithms
Step 1: Read radius (r) of circle.
Step 2: obtain first point on circle boundary as
(x0,y0)=(0,r)
Step 3: Calculate initial decision parameter as
P0=1-r
Step 4: if (Pi,0)
{
xi=xi+1
yi=yi
Pi+1=Pi+2(xi+1)+1
}
else if(Pi.0)
{
xi=xi+1
yi=yi-1
Pi+1=Pi+2(xi+1)+1-2yi+1
}
Step 5: Plot pixels in all octants as
Plot (y,x)
Plot(-y,x)
Plot(-x,y)
Plot(-x,-y)
Plot(-y,-x)
Plot(y,-x)
Plot(x,-y)
Step 6: Repeat step 4 and 5 until xi≥ yi
Step 7: Stop
12
Mid-point Circle Generating Example
Q : Given radius of circle r=8 with center at origin.
Solution : Here origin is center of circle and we
will demonstrate algorithm execution for
determining points along circle boundary only in
first quadrant from x=0 and x=y
Now, following are the seps of algorithm.
Step 1: r=8
Step 2: (x0,y0)=(0,8)
Step 3: P0=1-r
P0=1-8=-7
Step 4: Following table shows iterative execution
of this step to calculate each next x0i,yi(i.e. xi+1,
yi+1) till xi ≥yi
Step 5: for each value of I in step 4 plot
(xi+1,yi+1) and also plot all symmetric points in all
rest octants.
Step 6: Note, Actually step 4 and 5 are executed in
iteration for each value of I step 4 followed by step
5 is executed.
Step 7: Stop
i Pi (xi+1,yi+1) Pi+1 if
(Pi<0)
Pi+1 if
(Pi>0)
0 -7 (1,7) -3 -
1 -3 (2,7) +2 -
2 2 (3,6) - -3
3 -3 (4,6) 6 -
4 6 (5,5) - 7
13
Character Generation Method
1. Stroke method/vector character generation method
14
Character Generation Method
2. Dot-matrix or Bit-map method
1 2 3 4 5 1
2
3
4
5
6
7
8
9
2
3
4
5
6
1
7
1 2 3 4 5 6 7
Height
Height
Width
Width
15
Character Generation Method
3. Starbust method
1
2
3 4
14 5
62221
17 18
2313
12
11
10 9
8
7
1524
19
16
20
43
2
1
10 9
12
11
21
Starbust pattern of 24 line segments Starbust pattern for character E
24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
0 0 0 1 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
Bit number
16

More Related Content

What's hot (20)

PPTX
Dda algorithm
Mani Kanth
 
PPTX
Mid point circle algorithm
Mani Kanth
 
PPTX
Random scan displays and raster scan displays
Somya Bagai
 
PPTX
Bezier curve computer graphics
University of Potsdam
 
PPTX
Raster scan system & random scan system
shalinikarunakaran1
 
PPTX
Computer graphics basic transformation
Selvakumar Gna
 
PPT
Visible surface detection in computer graphic
anku2266
 
PPTX
BRESENHAM’S LINE DRAWING ALGORITHM
St Mary's College,Thrissur,Kerala
 
PPTX
Output primitives in Computer Graphics
Kamal Acharya
 
PPTX
Projection In Computer Graphics
Sanu Philip
 
PPTX
Polygon filling algorithm
Aparna Joshi
 
PPTX
Clipping
AMIT VIRAMGAMI
 
PPTX
Circle generation algorithm
Ankit Garg
 
PPTX
Clipping computer graphics
ShaishavShah8
 
PPTX
Attributes of Output Primitives
Renita Santhmayora
 
PPTX
Character generation techniques
Mani Kanth
 
PPT
Raster scan system
Mohd Arif
 
PPTX
Computer Graphics - clipping
Hisham Al Kurdi, EAVA, DMC-D-4K, HCCA-P, HCAA-D
 
PPTX
COMPUTER GRAPHICS
Jagan Raja
 
Dda algorithm
Mani Kanth
 
Mid point circle algorithm
Mani Kanth
 
Random scan displays and raster scan displays
Somya Bagai
 
Bezier curve computer graphics
University of Potsdam
 
Raster scan system & random scan system
shalinikarunakaran1
 
Computer graphics basic transformation
Selvakumar Gna
 
Visible surface detection in computer graphic
anku2266
 
BRESENHAM’S LINE DRAWING ALGORITHM
St Mary's College,Thrissur,Kerala
 
Output primitives in Computer Graphics
Kamal Acharya
 
Projection In Computer Graphics
Sanu Philip
 
Polygon filling algorithm
Aparna Joshi
 
Clipping
AMIT VIRAMGAMI
 
Circle generation algorithm
Ankit Garg
 
Clipping computer graphics
ShaishavShah8
 
Attributes of Output Primitives
Renita Santhmayora
 
Character generation techniques
Mani Kanth
 
Raster scan system
Mohd Arif
 
COMPUTER GRAPHICS
Jagan Raja
 

Similar to Line Drawing Algorithms - Computer Graphics - Notes (20)

PPTX
Study on Fundamentals of Raster Scan Graphics
Dr. Chandrakant Divate
 
PDF
Unit-2 raster scan graphics,line,circle and polygon algorithms
Amol Gaikwad
 
PPTX
4 CG_U1_M3_PPT_4 DDA.pptx
ssuser255bf1
 
PPTX
Computer Graphics - Introduction in Brief By: Prof. Manisha Waghmare- Butkar
Vishal Butkar
 
PDF
Computer Graphics Unit 2
SanthiNivas
 
PDF
raster algorithm.pdf
Mattupallipardhu
 
PPT
Bresenham circlesandpolygons
aa11bb11
 
PPT
Bresenham circles and polygons derication
Kumar
 
PDF
Computer Graphics_Module 2_Output Primitives.pdf
tabbu23
 
PPT
Cs580
Chellamuthu K
 
PDF
Computer graphics 2
Prabin Gautam
 
PPTX
Chapter 3 - Part 1 [Autosaved].pptx
Kokebe2
 
PPT
Line drawing algorithm and antialiasing techniques
Ankit Garg
 
PPTX
Bresenham's line drawing algorithm
nehrurevathy
 
PDF
Open GL T0074 56 sm2
Roziq Bahtiar
 
PDF
module 1.pdf
KimTaehyung188352
 
PPT
Graphics6 bresenham circlesandpolygons
Ketan Jani
 
PPT
Graphics6 bresenham circlesandpolygons
Thirunavukarasu Mani
 
PDF
Unit 2
ypnrao
 
PPT
Unit 3
Siddhant Goyal
 
Study on Fundamentals of Raster Scan Graphics
Dr. Chandrakant Divate
 
Unit-2 raster scan graphics,line,circle and polygon algorithms
Amol Gaikwad
 
4 CG_U1_M3_PPT_4 DDA.pptx
ssuser255bf1
 
Computer Graphics - Introduction in Brief By: Prof. Manisha Waghmare- Butkar
Vishal Butkar
 
Computer Graphics Unit 2
SanthiNivas
 
raster algorithm.pdf
Mattupallipardhu
 
Bresenham circlesandpolygons
aa11bb11
 
Bresenham circles and polygons derication
Kumar
 
Computer Graphics_Module 2_Output Primitives.pdf
tabbu23
 
Computer graphics 2
Prabin Gautam
 
Chapter 3 - Part 1 [Autosaved].pptx
Kokebe2
 
Line drawing algorithm and antialiasing techniques
Ankit Garg
 
Bresenham's line drawing algorithm
nehrurevathy
 
Open GL T0074 56 sm2
Roziq Bahtiar
 
module 1.pdf
KimTaehyung188352
 
Graphics6 bresenham circlesandpolygons
Ketan Jani
 
Graphics6 bresenham circlesandpolygons
Thirunavukarasu Mani
 
Unit 2
ypnrao
 
Ad

More from Omprakash Chauhan (19)

PPTX
Introduction to curve
Omprakash Chauhan
 
PPTX
Stack - Data Structure - Notes
Omprakash Chauhan
 
PPTX
Sorting and Searching - Data Structure - Notes
Omprakash Chauhan
 
PPTX
Queue - Data Structure - Notes
Omprakash Chauhan
 
PPTX
Basic of Data Structure - Data Structure - Notes
Omprakash Chauhan
 
PPTX
Polygons - Computer Graphics - Notes
Omprakash Chauhan
 
PPTX
Basic of computer graphic - Computer Graphic - Notes
Omprakash Chauhan
 
PPTX
E-R Diagram of College Management Systems
Omprakash Chauhan
 
PPTX
Burglar Alarm Micro Project
Omprakash Chauhan
 
PPTX
Simple Calculator Flowchart
Omprakash Chauhan
 
PPTX
Full Wave Rectifier (FWR) Microproject
Omprakash Chauhan
 
PPTX
A detailed study of guidelines required for presentation skills
Omprakash Chauhan
 
DOCX
Fractional-horsepower Motor Report
Omprakash Chauhan
 
PPTX
motherboard electronic components and their functions
Omprakash Chauhan
 
PPTX
How To Area of irregular shape Using Integration Method.
Omprakash Chauhan
 
PPTX
Process of ionization
Omprakash Chauhan
 
PPTX
Welcome to the world of ionization
Omprakash Chauhan
 
PPTX
Printer
Omprakash Chauhan
 
PPTX
System of units
Omprakash Chauhan
 
Introduction to curve
Omprakash Chauhan
 
Stack - Data Structure - Notes
Omprakash Chauhan
 
Sorting and Searching - Data Structure - Notes
Omprakash Chauhan
 
Queue - Data Structure - Notes
Omprakash Chauhan
 
Basic of Data Structure - Data Structure - Notes
Omprakash Chauhan
 
Polygons - Computer Graphics - Notes
Omprakash Chauhan
 
Basic of computer graphic - Computer Graphic - Notes
Omprakash Chauhan
 
E-R Diagram of College Management Systems
Omprakash Chauhan
 
Burglar Alarm Micro Project
Omprakash Chauhan
 
Simple Calculator Flowchart
Omprakash Chauhan
 
Full Wave Rectifier (FWR) Microproject
Omprakash Chauhan
 
A detailed study of guidelines required for presentation skills
Omprakash Chauhan
 
Fractional-horsepower Motor Report
Omprakash Chauhan
 
motherboard electronic components and their functions
Omprakash Chauhan
 
How To Area of irregular shape Using Integration Method.
Omprakash Chauhan
 
Process of ionization
Omprakash Chauhan
 
Welcome to the world of ionization
Omprakash Chauhan
 
System of units
Omprakash Chauhan
 
Ad

Recently uploaded (20)

PDF
Plant Control_EST_85520-01_en_AllChanges_20220127.pdf
DarshanaChathuranga4
 
PDF
Generative AI & Scientific Research : Catalyst for Innovation, Ethics & Impact
AlqualsaDIResearchGr
 
PPTX
CST413 KTU S7 CSE Machine Learning Neural Networks and Support Vector Machine...
resming1
 
PPTX
Bharatiya Antariksh Hackathon 2025 Idea Submission PPT.pptx
AsadShad4
 
PDF
June 2025 Top 10 Sites -Electrical and Electronics Engineering: An Internatio...
elelijjournal653
 
PPT
SF 9_Unit 1.ppt software engineering ppt
AmarrKannthh
 
PDF
13th International Conference of Security, Privacy and Trust Management (SPTM...
ijcisjournal
 
PDF
Python Mini Project: Command-Line Quiz Game for School/College Students
MPREETHI7
 
PPT
FINAL plumbing code for board exam passer
MattKristopherDiaz
 
PDF
Rapid Prototyping for XR: Lecture 2 - Low Fidelity Prototyping.
Mark Billinghurst
 
PPTX
Mobile database systems 20254545645.pptx
herosh1968
 
PPTX
WHO And BIS std- for water quality .pptx
dhanashree78
 
PDF
lesson4-occupationalsafetyandhealthohsstandards-240812020130-1a7246d0.pdf
arvingallosa3
 
PDF
01-introduction to the ProcessDesign.pdf
StiveBrack
 
PPTX
Work at Height training for workers .pptx
cecos12
 
PDF
May 2025: Top 10 Read Articles in Data Mining & Knowledge Management Process
IJDKP
 
PDF
Rapid Prototyping for XR: Lecture 3 - Video and Paper Prototyping
Mark Billinghurst
 
PDF
NFPA 10 - Estandar para extintores de incendios portatiles (ed.22 ENG).pdf
Oscar Orozco
 
PPSX
OOPS Concepts in Python and Exception Handling
Dr. A. B. Shinde
 
PDF
輪読会資料_Miipher and Miipher2 .
NABLAS株式会社
 
Plant Control_EST_85520-01_en_AllChanges_20220127.pdf
DarshanaChathuranga4
 
Generative AI & Scientific Research : Catalyst for Innovation, Ethics & Impact
AlqualsaDIResearchGr
 
CST413 KTU S7 CSE Machine Learning Neural Networks and Support Vector Machine...
resming1
 
Bharatiya Antariksh Hackathon 2025 Idea Submission PPT.pptx
AsadShad4
 
June 2025 Top 10 Sites -Electrical and Electronics Engineering: An Internatio...
elelijjournal653
 
SF 9_Unit 1.ppt software engineering ppt
AmarrKannthh
 
13th International Conference of Security, Privacy and Trust Management (SPTM...
ijcisjournal
 
Python Mini Project: Command-Line Quiz Game for School/College Students
MPREETHI7
 
FINAL plumbing code for board exam passer
MattKristopherDiaz
 
Rapid Prototyping for XR: Lecture 2 - Low Fidelity Prototyping.
Mark Billinghurst
 
Mobile database systems 20254545645.pptx
herosh1968
 
WHO And BIS std- for water quality .pptx
dhanashree78
 
lesson4-occupationalsafetyandhealthohsstandards-240812020130-1a7246d0.pdf
arvingallosa3
 
01-introduction to the ProcessDesign.pdf
StiveBrack
 
Work at Height training for workers .pptx
cecos12
 
May 2025: Top 10 Read Articles in Data Mining & Knowledge Management Process
IJDKP
 
Rapid Prototyping for XR: Lecture 3 - Video and Paper Prototyping
Mark Billinghurst
 
NFPA 10 - Estandar para extintores de incendios portatiles (ed.22 ENG).pdf
Oscar Orozco
 
OOPS Concepts in Python and Exception Handling
Dr. A. B. Shinde
 
輪読会資料_Miipher and Miipher2 .
NABLAS株式会社
 

Line Drawing Algorithms - Computer Graphics - Notes

  • 1. 1. Line Drawing Algorithms Straight line drawing algorithms are based on incremental methods. In incremental method line starts with a straight point, then some fix incrementable is added to current point to get next point on line and same is continued all the end of line. 1
  • 2. Simple DDAAlgorithm Step 1: Read the end points of line. Step 2: x =abs (x2-x1) and  y=abs (y2-y1) Step 3: if x ≥ v then length = x else length = y end if Step 4: x line = (x2-x1) / length Step 5: y line = (y2-y1) / length Step 6: x=x1+0.5*sign (x line) y=y1+0.5*sign (y line) Step 7: i=1 while (i ≤length) { plot (integer (x), integer (y)) x= x + x line y= y + y line i=i+1 } Step 8: End 2
  • 3. Simple DDAAlgorithm (Example) Q: (First Quadrant Example) Consider a line from (0,0) to (5,6). Use simple DDA algorithm to rasterize this line. Solutions: it is a line in first quadrant. Now follow algorithm step-by-step. Step 1: Read end points of line (x1,y1) = (0,0) and (x2,y2) = (5,6) Step 2: x=abs (x2-x1) x=abs(5-0) x=5 y=abs(y2-ya) y=abs(6-0) y=6 Step 3: As (6>5) length=6 Step 4: x line = 5/6 x=0.833 y=6/6 y=1 Step 5: x=x1+0.5*sign(x line) x=0+0.5*sign(0.8333) x=0+0.5*1 x=0.5 Step 6: y=y1+0.5*sign(y line) y=0+0.5*sign(1) y=0+0.5*1 y=0.5 Step 7: End 3
  • 4. 1. Line Drawing Algorithms Value of 1 Plot Pixel x y 0.5 0.5 1 (0,0) 1.333 1.5 2 (1,1) 2.166 2.5 3 (2,2) 2.999 3.5 4 (2,3) 3.832 4.5 5 (3,4) 4.665 5.5 6 (4,5) 5.498 6.5 0 1 2 3 4 5 012345 (0,0) 4
  • 5. Demerits of DDAAlgorithm 1. Floating points arithmetic in DDA algorithm is time consuming. 2. Accumulation of round-off error in successive additions of floating point increment can cause the calculated pixel positions to drift away from the true line path for long line segments. Merits of DDAAlgorithm 1. It is simple algorithm. 2. It is faster method. Let’s see example problems to illustrate simple DDAAlgorithm. 5
  • 6. Bresnahan's line drawing The process of "turning on" the pixels for a line is called the generation. A line that means we have to change the intensity of the pixels present on that line. In this we have two different algorithm. yk + 1 y yk xk + 1 d2 d1 6
  • 7. Bresnahan's line drawing algorithm Step 1: Read line end points as (x1-x1) and (x2-y2) Step 2: x=|x2=x1| and y=|y2-y1| Step 3: Initialize starting point of line i.e. x=x1 y=y1 Step 4: Plot (x,y) i.e. plot first point Step 5: obtain initial value of decision parameter Pk as Pk=2 y- x Step 6: if Pk,0 { x=x+1 y=y+1 Pk=Pk+2 y } if Pk ≥ 0 { x=x+1 y=y+1 Pk=Pk+2y=2x } plot (x,y) Step 7: Repeat step (6) x times. Step 8: Stop 7
  • 8. Bresnahan's line drawing Example Q: Consider the line from (6,6) to (12,9) Use Brissenden's algorithm to rasterize this line. Solutions: Following algorithm 3 step-by-step Step 1: x1=6 y1=6 x2=12 y2=9 Step 2: x=|12-6|=6 t=|12-9|=3 Step 3: x=6 y=6 Step 4: Plot (x,y) i..e Plot (6,6), initial point Step 5: value of decision parameter, Pk=2 y- x Pk=2(3)-6 Pk=0 Step 6 and 7: Now i=1 . See Table Step 8: Stop i Plot Pixel X Y Pk 6 6 0 1 (6,6) 7 7 -6 2 (7,7) 8 7 0 3 (8,7) 9 8 -6 4 (9,8) 10 8 0 5 (10,8) 11 9 -6 6 (11,9) 12 9 0 Output: Step 6 and 7 10 11 9 8 6 7 4 5 10 11986 74 5 8
  • 9. DDA VS Bresnahan's (Different) SR DDA Bresnahan's 1 Based on increment method. Based on increment method. 2 Use floating point arithmetic. Use only integers. 3 Slower then Bresnahan's Faster than DDA. 4 Use of multiplication and division operations. Use of only Addition and Subtraction operations. 5 To display pixel we need to use either floor or ceil function. No need of floor or ceil function for display. 6 Because of floor and ceil function error component is introduced. No error component is introduced. 7 The co-ordinate location is same as that of Bresnahan's. The co-ordinate location same as that DDA 9
  • 10. Circle Generating Algorithms -x, y -x, -y -y, -x y, -x x, -y x, y y, x-y, x 45 Symmetry of Circle 10
  • 11. Bresnahan’s circle Generating Algorithm Step 1: Read radius (r) of circle. Step 2: Calculate initial decision variable Pi Step 3: x=0 and y=r Step 4: if (Pi,0) { x=x+1 Pi=Pi+4x+6 } else if (Pi≥ 0) { x=x+1 y=y-1 Pi=Pi+4(x-y)+10 } Step 5: Plot pixels in all octants as Plot (x,y) Plot(y,x) Plot(-y,x) Plot(-x,y) Plot(-x,-y) Plot(y,-x) Plot(x,-y) Step 6: Stop 11
  • 12. Mid-point Circle Generating Algorithms Step 1: Read radius (r) of circle. Step 2: obtain first point on circle boundary as (x0,y0)=(0,r) Step 3: Calculate initial decision parameter as P0=1-r Step 4: if (Pi,0) { xi=xi+1 yi=yi Pi+1=Pi+2(xi+1)+1 } else if(Pi.0) { xi=xi+1 yi=yi-1 Pi+1=Pi+2(xi+1)+1-2yi+1 } Step 5: Plot pixels in all octants as Plot (y,x) Plot(-y,x) Plot(-x,y) Plot(-x,-y) Plot(-y,-x) Plot(y,-x) Plot(x,-y) Step 6: Repeat step 4 and 5 until xi≥ yi Step 7: Stop 12
  • 13. Mid-point Circle Generating Example Q : Given radius of circle r=8 with center at origin. Solution : Here origin is center of circle and we will demonstrate algorithm execution for determining points along circle boundary only in first quadrant from x=0 and x=y Now, following are the seps of algorithm. Step 1: r=8 Step 2: (x0,y0)=(0,8) Step 3: P0=1-r P0=1-8=-7 Step 4: Following table shows iterative execution of this step to calculate each next x0i,yi(i.e. xi+1, yi+1) till xi ≥yi Step 5: for each value of I in step 4 plot (xi+1,yi+1) and also plot all symmetric points in all rest octants. Step 6: Note, Actually step 4 and 5 are executed in iteration for each value of I step 4 followed by step 5 is executed. Step 7: Stop i Pi (xi+1,yi+1) Pi+1 if (Pi<0) Pi+1 if (Pi>0) 0 -7 (1,7) -3 - 1 -3 (2,7) +2 - 2 2 (3,6) - -3 3 -3 (4,6) 6 - 4 6 (5,5) - 7 13
  • 14. Character Generation Method 1. Stroke method/vector character generation method 14
  • 15. Character Generation Method 2. Dot-matrix or Bit-map method 1 2 3 4 5 1 2 3 4 5 6 7 8 9 2 3 4 5 6 1 7 1 2 3 4 5 6 7 Height Height Width Width 15
  • 16. Character Generation Method 3. Starbust method 1 2 3 4 14 5 62221 17 18 2313 12 11 10 9 8 7 1524 19 16 20 43 2 1 10 9 12 11 21 Starbust pattern of 24 line segments Starbust pattern for character E 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 Bit number 16