← Back to game

How We Calculate Accuracy

The math behind your score in Draw the Perfect Circle

Circle Accuracy (The Classic Mode)

When you draw a circle, we analyze every single point your finger or mouse traced. Here's the step-by-step process:

1
Find the center and average radius. We know the center dot's position. For every point you drew, we calculate its distance from the center, then average all those distances. This gives us your circle's average radius (R).
2
Measure each point's deviation. For each point, we compute how far it is from R. A point at exactly distance R is perfect. A point further or closer is a deviation.
3
Calculate the mean deviation. We average all the absolute deviations and normalize by the radius.
Score = 100 - (mean_absolute_deviation / average_radius) × 100

A perfect circle has zero deviation at every point, giving a score of 100%. In practice, even tiny hand tremors create deviations, which is why 95%+ is exceptional.

Polygon Accuracy (Square, Triangle, Hexagon)

Scoring polygons is more complex because the ideal distance from center varies depending on the angle — corners are further from the center than side midpoints.

The Boundary Distance Formula

For a regular n-sided polygon with circumradius R, the distance from center to the boundary at angle θ is:

boundary(θ) = apothem / cos(θlocal - π/n)

where apothem = R × cos(π/n)
and θlocal = angle within the current segment

For a square (n=4): the apothem is ~70.7% of the circumradius. At corners, boundary distance equals R. At side midpoints, it equals the apothem.

Finding the Best Rotation

You can draw a square at any angle — rotated 10°, 45°, or any other orientation. We don't know your intended rotation, so we try 36 different rotations and pick the one that gives the best score.

Computing the Circumradius

For each trial rotation, we compute each point's implied circumradius:

implied_Ri = actual_distancei / boundary(anglei, unit_circumR=1)

circumR = average of all implied_Ri

This gives us the circumradius that best fits your drawn shape at this rotation. Then we measure how much each point deviates from the ideal polygon boundary at this circumradius.

Why not just use average distance? For circles, average distance = radius. But for polygons, side points are closer to center than corner points. Using average distance as the circumradius would underestimate the true size, making corners appear as errors even when perfectly drawn.

Validation Checks

Before scoring, we check several things:

Live Coloring During Drawing

As you draw, each segment is colored from red (high deviation) to green (low deviation). The color uses HSL:

hue = (local_accuracy / 100) × 120
0 = red, 60 = yellow, 120 = green

Score Rankings

Play Now →

Tips & techniques for drawing perfect shapes