Skip to main content

Midpoint circle: r=7, centre (10,15)

Short answer

Use midpoint circle algorithm with p0=1-r=-6; octant points are (0,7), (1,7), (2,7), (3,6), (4,6), (5,5). Applying eight-way symmetry about (10,15) yields 40 distinct pixels on the circle.

Draw the circle with radius 7 and centre (10,15) using the midpoint (decision parameter) circle algorithm.

Given: radius r = 7, centre (10,15).

Start at (x0, y0) = (0, 7). Initial parameter p0 = 1 − r = -6.

p < 0 : next point (x+1, y),     p_new = p + 2x_new + 1
p ≥ 0 : next point (x+1, y−1),   p_new = p + 2(x_new − y_new) + 1
Stop when x ≥ y

Decision parameter table (circle centred at the origin; p_k decides the next point):

kp_k(x_k, y_k)next (x, y)
0-6(0,7)(1,7)
1-3(1,7)(2,7)
22(2,7)(3,6)
3-3(3,6)(4,6)
46(4,6)(5,5)
57(5,5)(6,4)

Octant points about the origin: (0,7), (1,7), (2,7), (3,6), (4,6), (5,5).

Eight-way symmetry gives, for each octant point (x,y), the points (xc±x, yc±y) and (xc±y, yc±x):

(x,y)8 symmetric points
(0,7)(10,22) (10,22) (10,8) (10,8) (17,15) (3,15) (17,15) (3,15)
(1,7)(11,22) (9,22) (11,8) (9,8) (17,16) (3,16) (17,14) (3,14)
(2,7)(12,22) (8,22) (12,8) (8,8) (17,17) (3,17) (17,13) (3,13)
(3,6)(13,21) (7,21) (13,9) (7,9) (16,18) (4,18) (16,12) (4,12)
(4,6)(14,21) (6,21) (14,9) (6,9) (16,19) (4,19) (16,11) (4,11)
(5,5)(15,20) (5,20) (15,10) (5,10) (15,20) (5,20) (15,10) (5,10)

Answer: 40 distinct pixels on the whole circle, listed above.

✓ Answer checked by Claude Opus 5.5 (high effort)

All Computer Graphics chapter 2 questions →