170 likes | 339 Views
Scan Conversion, Lines, Circles and Ellipse. Dr. Aree Ali Mohammed Assistant Professor 2014-2015 3 rd Stage aree.ali@univsul.edu.iq. Constructing 2D Objects in Computer Graphics. Points. Polygone. Line. Rectangle. Square. Triangle. r. Ellipse. (0, 0). C ircle. Curve.
E N D
Scan Conversion,Lines, Circles and Ellipse Dr. Aree Ali Mohammed Assistant Professor 2014-2015 3rdStage aree.ali@univsul.edu.iq University of Sulaimani – Computer Science Dept.
Constructing 2D Objects in Computer Graphics Points Polygone Line Rectangle Square Triangle r Ellipse (0, 0) Circle Curve
Scan Conversion or Rasterization • Drawing lines, circles, and etc. on a grid implicitly involves approximation. • The general process: Scan Conversion or Rasterization • Ideally, the following properties should be considered • smooth • continuous • pass through specified points • uniform brightness • efficient
Review Questions and Homework • Explain the steps in the incremental line drawing algorithm. • Explain the steps in DDA line drawing algorithm. • Explain the steps in Bresenham’s line drawing algorithm. • HW/ • Draw the following lines using DDA and Bresenham: • (from left to right): • (-1, 2) and (7, 8) • (1, -3) and (6, 5) • (from right to left) • (6, 2) and (-4, -3) • (9, 4) and (2, -5)
Scan Converting CirclesExampl Midpoint Circle Algorithm 1. Input radius r and circle center (xc,yc) and obtain the first point on the circumference of the circle centered on the origin as (x0, y0) = (0, r) 2. Calculate the initial value of the decision parameter as Po=5/4-r or [po=1-r for r an integer] 3. At each xk position starting at k = 0 , perform the following test. If pk < 0 , the next point along the circle centered on (0, 0) is (xk+1, yk) and pk+1 = pk + (2xk+1) + 1 Otherwise the next point along the circle is (xk+1, yk-1) and pk+1 = pk + (2xk+1) + 1 – (2yk+1) Where 2xk+1 = 2xk+2 and 2yk+1 = 2yk – 2 4. Determine symmetry points in the other seven octants 5. Move each calculated pixel position (x,y) onto the circular path centered on (xc, yc) and plot the coordinate values x = x+ xc , y= y+ yc 6. Repeat steps 3 through 5 until x >= y
Scan Converting CirclesExampl Scan Converting Circle - Example
Reading List • “Computer Graphics with OpenGL” , chapter 3. • Raster versus Vector http://www.sketchpad.net/basics1.htm