Lecture 6 of 41 Scan Conversion 1 of










![Strategy 1: Incremental Algorithm [1] Adapted from slides © 1997 – 2010 van Dam Strategy 1: Incremental Algorithm [1] Adapted from slides © 1997 – 2010 van Dam](https://slidetodoc.com/presentation_image/b1f803defd971fa79e679a3cf9e5dd05/image-11.jpg)
![Strategy 1: Incremental Algorithm [2] Adapted from slides © 1997 – 2010 van Dam Strategy 1: Incremental Algorithm [2] Adapted from slides © 1997 – 2010 van Dam](https://slidetodoc.com/presentation_image/b1f803defd971fa79e679a3cf9e5dd05/image-12.jpg)
![Strategy 1: Incremental Algorithm [3] Example Code & Problems Adapted from slides © 1997 Strategy 1: Incremental Algorithm [3] Example Code & Problems Adapted from slides © 1997](https://slidetodoc.com/presentation_image/b1f803defd971fa79e679a3cf9e5dd05/image-13.jpg)
![Strategy 2: Midpoint Line Algorithm [1] Adapted from slides © 1997 – 2010 van Strategy 2: Midpoint Line Algorithm [1] Adapted from slides © 1997 – 2010 van](https://slidetodoc.com/presentation_image/b1f803defd971fa79e679a3cf9e5dd05/image-14.jpg)
![Strategy 2: Midpoint Line Algorithm [2] Adapted from slides © 1997 – 2010 van Strategy 2: Midpoint Line Algorithm [2] Adapted from slides © 1997 – 2010 van](https://slidetodoc.com/presentation_image/b1f803defd971fa79e679a3cf9e5dd05/image-15.jpg)
![Strategy 2: Midpoint Line Algorithm [3] Adapted from slides © 1997 – 2010 van Strategy 2: Midpoint Line Algorithm [3] Adapted from slides © 1997 – 2010 van](https://slidetodoc.com/presentation_image/b1f803defd971fa79e679a3cf9e5dd05/image-16.jpg)




![Midpoint Algorithm [1]: Forward Differences Adapted from slides © 1997 – 2010 van Dam Midpoint Algorithm [1]: Forward Differences Adapted from slides © 1997 – 2010 van Dam](https://slidetodoc.com/presentation_image/b1f803defd971fa79e679a3cf9e5dd05/image-21.jpg)
![Midpoint Algorithm [2]: Initialization and Normalization Adapted from slides © 1997 – 2010 van Midpoint Algorithm [2]: Initialization and Normalization Adapted from slides © 1997 – 2010 van](https://slidetodoc.com/presentation_image/b1f803defd971fa79e679a3cf9e5dd05/image-22.jpg)






- Slides: 28
Lecture 6 of 41 Scan Conversion 1 of 2: Midpoint Algorithm for Lines and Ellipses William H. Hsu Department of Computing and Information Sciences, KSU KSOL course pages: http: //bit. ly/h. Gv. Xl. H / http: //bit. ly/e. Vizr. E Public mirror web site: http: //www. kddresearch. org/Courses/CIS 636 Instructor home page: http: //www. cis. ksu. edu/~bhsu Readings: Today: Sections 2. 5. 1, 3. 1, Eberly 2 e – see http: //bit. ly/ie. Uq 45 This week: Brown CS 123 slides on Scan Conversion – http: //bit. ly/hfb. F 0 D Wayback Machine archive of Brown CS 123 slides: http: //bit. ly/g. Ah. Jbh CIS 536/636 Introduction to Computer Graphics Lecture 6 of 41 Computing & Information Sciences Kansas State University
Lecture Outline l l l Reading for Last Class: Section 2. 3 (esp. 2. 3. 7), 2. 6, 2. 7, Eberly 2 e Reading for Today: § 2. 5. 1, 3. 1 Eberly 2 e Reading for Next Class: § 2. 3. 5, 2. 4, 3. 1. 3, Eberly 2 e Last Time: View Volume Specification and Viewing Transformation CG Basics: First of Three Tutorials on Open. GL (Three Parts) 1. Open. GL & GL Utility Toolkit (GLUT) – V. Shreiner 2. Basic rendering – V. Shreiner 3. 3 -D viewing setup – E. Angel l Today: Scan Conversion (aka Rasterization) Lines Ø Incremental algorithm Ø Bresenham’s algorithm & midpoint line algorithm Circles and Ellipses l Next Time: More Scan Conversion & Intro to Clipping CIS 536/636 Introduction to Computer Graphics Lecture 6 of 41 Computing & Information Sciences Kansas State University
Where We Are CIS 536/636 Introduction to Computer Graphics Lecture 6 of 41 Computing & Information Sciences Kansas State University
Review: CTM for “Polygons-to-Pixels” Pipeline Adapted from slides © 1997 – 2010 van Dam et al. , Brown University http: //bit. ly/hi. St 0 f Reused with permission. CIS 536/636 Introduction to Computer Graphics Lecture 6 of 41 Computing & Information Sciences Kansas State University
Review: Lab 1 a & Ne. He Tutorials on Game. Dev CIS 536/636 Introduction to Computer Graphics Lecture 6 of 41 Computing & Information Sciences Kansas State University
Review: Coordinate Spaces & Transformation Matrices CIS 536/636 Introduction to Computer Graphics Lecture 6 of 41 Computing & Information Sciences Kansas State University
Scan Converting Lines Adapted from slides © 1997 – 2010 van Dam et al. , Brown University http: //bit. ly/hi. St 0 f Reused with permission. CIS 536/636 Introduction to Computer Graphics Lecture 6 of 41 Computing & Information Sciences Kansas State University
What Is Scan Conversion? Adapted from slides © 1997 – 2010 van Dam et al. , Brown University http: //bit. ly/hi. St 0 f Reused with permission. CIS 536/636 Introduction to Computer Graphics Lecture 6 of 41 Computing & Information Sciences Kansas State University
Finding Next Pixel Adapted from slides © 1997 – 2010 van Dam et al. , Brown University http: //bit. ly/hi. St 0 f Reused with permission. CIS 536/636 Introduction to Computer Graphics Lecture 6 of 41 Computing & Information Sciences Kansas State University
Vertical Distance Adapted from slides © 1997 – 2010 van Dam et al. , Brown University http: //bit. ly/hi. St 0 f Reused with permission. CIS 536/636 Introduction to Computer Graphics Lecture 6 of 41 Computing & Information Sciences Kansas State University
Strategy 1: Incremental Algorithm [1] Adapted from slides © 1997 – 2010 van Dam et al. , Brown University http: //bit. ly/hi. St 0 f Reused with permission. CIS 536/636 Introduction to Computer Graphics Lecture 6 of 41 Computing & Information Sciences Kansas State University
Strategy 1: Incremental Algorithm [2] Adapted from slides © 1997 – 2010 van Dam et al. , Brown University http: //bit. ly/hi. St 0 f Reused with permission. CIS 536/636 Introduction to Computer Graphics Lecture 6 of 41 Computing & Information Sciences Kansas State University
Strategy 1: Incremental Algorithm [3] Example Code & Problems Adapted from slides © 1997 – 2010 van Dam et al. , Brown University http: //bit. ly/hi. St 0 f Reused with permission. CIS 536/636 Introduction to Computer Graphics Lecture 6 of 41 Computing & Information Sciences Kansas State University
Strategy 2: Midpoint Line Algorithm [1] Adapted from slides © 1997 – 2010 van Dam et al. , Brown University http: //bit. ly/hi. St 0 f Reused with permission. CIS 536/636 Introduction to Computer Graphics Lecture 6 of 41 Computing & Information Sciences Kansas State University
Strategy 2: Midpoint Line Algorithm [2] Adapted from slides © 1997 – 2010 van Dam et al. , Brown University http: //bit. ly/hi. St 0 f Reused with permission. CIS 536/636 Introduction to Computer Graphics Lecture 6 of 41 Computing & Information Sciences Kansas State University
Strategy 2: Midpoint Line Algorithm [3] Adapted from slides © 1997 – 2010 van Dam et al. , Brown University http: //bit. ly/hi. St 0 f Reused with permission. CIS 536/636 Introduction to Computer Graphics Lecture 6 of 41 Computing & Information Sciences Kansas State University
Line Equations and Properties Adapted from slides © 1997 – 2010 van Dam et al. , Brown University http: //bit. ly/hi. St 0 f Reused with permission. CIS 536/636 Introduction to Computer Graphics Lecture 6 of 41 Computing & Information Sciences Kansas State University
Decision Variable Adapted from slides © 1997 – 2010 van Dam et al. , Brown University http: //bit. ly/hi. St 0 f Reused with permission. CIS 536/636 Introduction to Computer Graphics Lecture 6 of 41 Computing & Information Sciences Kansas State University
East Neighbor (E) Case Adapted from slides © 1997 – 2010 van Dam et al. , Brown University http: //bit. ly/hi. St 0 f Reused with permission. CIS 536/636 Introduction to Computer Graphics Lecture 6 of 41 Computing & Information Sciences Kansas State University
Northeast Neighbor (NE) Case Adapted from slides © 1997 – 2010 van Dam et al. , Brown University http: //bit. ly/hi. St 0 f Reused with permission. CIS 536/636 Introduction to Computer Graphics Lecture 6 of 41 Computing & Information Sciences Kansas State University
Midpoint Algorithm [1]: Forward Differences Adapted from slides © 1997 – 2010 van Dam et al. , Brown University http: //bit. ly/hi. St 0 f Reused with permission. CIS 536/636 Introduction to Computer Graphics Lecture 6 of 41 Computing & Information Sciences Kansas State University
Midpoint Algorithm [2]: Initialization and Normalization Adapted from slides © 1997 – 2010 van Dam et al. , Brown University http: //bit. ly/hi. St 0 f Reused with permission. CIS 536/636 Introduction to Computer Graphics Lecture 6 of 41 Computing & Information Sciences Kansas State University
Bresenham’s Midpoint Line Algorithm: Pseudocode Adapted from slides © 1997 – 2010 van Dam et al. , Brown University http: //bit. ly/hi. St 0 f Reused with permission. CIS 536/636 Introduction to Computer Graphics Lecture 6 of 41 Computing & Information Sciences Kansas State University
Preview: Drawing Circles, Versions 1 & 2 Adapted from slides © 1997 – 2010 van Dam et al. , Brown University http: //bit. ly/hi. St 0 f Reused with permission. CIS 536/636 Introduction to Computer Graphics Lecture 6 of 41 Computing & Information Sciences Kansas State University
Preview: Drawing Circles, Version 3 Adapted from slides © 1997 – 2010 van Dam et al. , Brown University http: //bit. ly/hi. St 0 f Reused with permission. CIS 536/636 Introduction to Computer Graphics Lecture 6 of 41 Computing & Information Sciences Kansas State University
Preview: Using The Symmetry Adapted from slides © 1997 – 2010 van Dam et al. , Brown University http: //bit. ly/hi. St 0 f Reused with permission. CIS 536/636 Introduction to Computer Graphics Lecture 6 of 41 Computing & Information Sciences Kansas State University
Summary l Lab 1 a: Based on First of Three Tutorials on Open. GL (Three Parts) l Lecture 5: Viewing 3 of 4 – Graphics Pipeline (§ 2. 3. 2 - 2. 3. 7, pp. 48 -66) l See Also: CG Basics 1 -2 CG Basics 1: Mathematical Foundations CG Basics 2: Open. GL Primer 1 of 3 (in greater detail) l Today: Scan Conversion (aka Rasterization) Lines Ø Incremental algorithm Ø Symmetries (8) and reduction to two-case analysis: E vs. NE Ø Decision variable and method of forward differences Ø (Bresenham’s) midpoint line algorithm Circles and Ellipses l Next Time: More Scan Conversion & Intro to Clipping Polygons: scan line interpolation Clipping basics: 2 -D problem definition and examples CIS 536/636 Introduction to Computer Graphics Lecture 6 of 41 Computing & Information Sciences Kansas State University
Terminology l Picture elements (pixels) l Scan Conversion (aka Rasterization) Given: geometric object (e. g. , line segment, projected polygon) Decide: what pixels to light (turn on; later, color/shade) Basis: what part of pixels crossed by object l Issues (Reasons why Scan Conversion is Nontrivial Problem) Aliasing (e. g. , jaggies) – discontinuities in lines Cracks: discontinuities in “polygon” mesh l Line Drawing Incremental algorithm – uses rounding, floating point arithmetic Forward differences – precalculated amounts to add to running total Midpoint line algorithm – uses forward differences Ø For lines: Bresenham’s algorithm Ø For circles and ellipses CIS 536/636 Introduction to Computer Graphics Lecture 6 of 41 Computing & Information Sciences Kansas State University