Rasterize a small circle by computing one octant and reflecting each point by symmetry.

Example

Compute one circle octant and reflect each point by symmetry.

highlighted = computed this step

Step 1 — Set up

Start with the circle center and decision value.

C=(5,5), r=4, D=3C=(5,5),\ r=4,\ D=-3
Midpoint circle pixelsCircle pixels are reflected by symmetry from each octant point.012345678910012345678910

Step 2 — Octant point A

Reflect this octant point by symmetry.

xyDmove043Eoctant (0,4)\begin{array}{c|c|c|c}x&y&D&\text{move}\\0&4&-3&\text{E}\end{array}\quad \text{octant }\hlmath{(0,4)}
Midpoint circle pixelsCircle pixels are reflected by symmetry from each octant point.012345678910012345678910

Step 3 — Octant point B

Reflect this octant point by symmetry.

xyDmove140SEoctant (1,4)\begin{array}{c|c|c|c}x&y&D&\text{move}\\1&4&0&\text{SE}\end{array}\quad \text{octant }\hlmath{(1,4)}
Midpoint circle pixelsCircle pixels are reflected by symmetry from each octant point.012345678910012345678910

Step 4 — Octant point C

Reflect this octant point by symmetry.

xyDmove231Eoctant (2,3)\begin{array}{c|c|c|c}x&y&D&\text{move}\\2&3&-1&\text{E}\end{array}\quad \text{octant }\hlmath{(2,3)}
Midpoint circle pixelsCircle pixels are reflected by symmetry from each octant point.012345678910012345678910

Step 5 — Octant point D

Reflect this octant point by symmetry.

xyDmove336SEoctant (3,3)\begin{array}{c|c|c|c}x&y&D&\text{move}\\3&3&6&\text{SE}\end{array}\quad \text{octant }\hlmath{(3,3)}
Midpoint circle pixelsCircle pixels are reflected by symmetry from each octant point.012345678910012345678910

Step 6 — Result

The symmetric circle pixel set is complete.

circle pixels complete\text{circle pixels complete}
Midpoint circle pixelsCircle pixels are reflected by symmetry from each octant point.012345678910012345678910
midpoint-circle The midpoint circle method tests which neighboring pixel stays closer to the ideal circle, then uses symmetry to set the matching pixels.