Download presentation

1
**Raster conversion algorithms for line and circle**

Introduction - Pixel addressing - Primitives and attributes Line drawing algorithms - DDA - Bresenham Circle generating algorithms - Direct method - Bresenham algorithm

2
**Pixel addressing in raster graphics**

3
**Raster conversion algorithms: requirements**

visual accuracy spatial accuracy speed

4
**Line drawing algorithms**

5
**Line – raster representation**

6
**DDA ( Digital Differential Algorithm )**

7
**DDA ( Digital Differential Algorithm )**

8
**DDA ( Digital Differential Algorithm )**

9
**Digital Differential Algorithm**

input line endpoints, (x0,y0) and (xn, yn) set pixel at position (x0,y0) calculate slope m Case |m|≤1: repeat the following steps until (xn, yn) is reached: yi+1 = yi + y/ x xi+1 = xi + 1 set pixel at position (xi+1,Round(yi+1)) Case |m|>1: repeat the following steps until (xn, yn) is reached: xi+1 = xi + x/ y yi+1 = yi + 1 set pixel at position (Round(xi+1), yi+1)

10
**Bresenham's line algorithm**

y = mx + b Bresenham's line algorithm y = mx + b y = m(x+1) + b d2 d1 y x x+1

11
**Bresenham's line algorithm (slope ≤ 1)**

input line endpoints, (x0,y0) and (xn, yn) calculate x = xn - x0 and y = yn - y0 calculate parameter p0 = 2 y - x set pixel at position (x0,y0) repeat the following steps until (xn, yn) is reached: if pi < 0 set the next pixel at position (xi +1, yi ) calculate new pi+1 = pi + 2 y if pi ≥ 0 set the next pixel at position (xi +1, yi + 1 ) calculate new pi+1 = pi + 2(y - x)

12
**DDA versus Bresenham’s Algorithm**

DDA works with floating point arithmetic Rounding to integers necessary Bresenham’s algorithm uses integer arithmetic Constants need to be computed only once Bresenham’s algorithm generally faster than DDA

13
**Circle generating algorithms**

Direct Polar coordinate based Bresenham’s

14
**Direct circle algorithm**

Cartesian coordinates Circle equation: ( x - xc )2 + ( y - yc )2 = r2 Step along x axis from xc - r to xc + r and calculate y = yc ± r2 - ( x - xc )2

15
**Polar coordinates Polar coordinate equation x = xc + r cos**

y = yc + r sin step through values of from 0 to 2π

16
**Optimisation and speed-up**

Symmetry of a circle can be used Calculations of point coordinates only for a first one-eighth of a circle (-x,y) (x,y) (-y,x) (y,x) (-y,-x) (y,-x) (-x,-y) (x,-y)

17
**Bresenham’s circle algorithm**

1. Input radius r 2. Plot a point at (0, r) 3. Calculate the initial value of the decision parameter as p0 = 5/4 – r ≈ 1 – r

18
**4. At each position xk, starting at k = 0, perform the following test:**

if pk < 0 plot point at (xk +1, yk) compute new pk+1 = pk + 2xk+1 + 1 else plot point at (xk + 1, yk – 1) compute new pk+1 = pk + 2xk – 2yk+1 where xk+1 = xk + 1 and yk+1 = yk - 1

19
**5. Determine symmetry points in the other seven octants and plot points**

6. Repeat steps 4 and 5 until x y

Similar presentations

© 2021 SlidePlayer.com Inc.

All rights reserved.

To make this website work, we log user data and share it with processors. To use this website, you must agree to our Privacy Policy, including cookie policy.

Ads by Google