1 / 19

# Raster conversion algorithms for line and circle - PowerPoint PPT Presentation

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. Pixel addressing in raster graphics.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## PowerPoint Slideshow about 'Raster conversion algorithms for line and circle' - betty_james

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

### Raster conversion algorithms for line and circle

Introduction

- Primitives and attributes

Line drawing algorithms

- DDA

- Bresenham

Circle generating algorithms

- Direct method

- Bresenham algorithm

• visual accuracy

• spatial accuracy

• speed

• 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)

d2

y = m(x+1) + b

d1

Bresenham's line algorithm

y = mx + b

y

x

x+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)

• 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

• Direct

• Polar coordinate based

• Bresenham’s

• 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

• Polar coordinate equation

x = xc + r cos

y = yc + r sin

• step through values of  from 0 to 2π

• 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)

2. Plot a point at (0, r)

3. Calculate the initial value of the decision parameter as p0 = 5/4 – r ≈ 1 – r

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+1 + 1 – 2yk+1

where xk+1 = xk + 1 and yk+1 = yk - 1

6. Repeat steps 4 and 5 until x  y