# The center of a circle

## Main Question or Discussion Point

Hi everybody,

I ve got a question : is it possible to identify the center of a given cirle with only a compass?

I ve got a question : is it possible to identify the center of a given cirle with only a compass?
No you need a ruler as well.

Pick a point A on the circle. Draw a circle with center A and diameter less than that of the given circle. Mark off the two points B and C where this new circle intersects the given one. Join B and C with the line BC.

Bisect BC. The midpoint is D. Draw a straight line through A and D and extend it until it meets the given circle again at E. AE is a diameter.

Repeat this process for a second point on the given circle. Where the two diameters meet is the center.

But the problem is without a ruler !!! It seems impossible. I have tried many times but failed.

It works without a ruler, though only for a circle that's on a sheet of paper.
Instead of using a ruler fold the paper to make a line visible.

It works without a ruler, though only for a circle that's on a sheet of paper.
Instead of using a ruler fold the paper to make a line visible.
Well, it seems like a trick ! Let's say the circle is on a table. May be we need to prove it impossible to do so.

http://steiner.math.nthu.edu.tw/disk3/gc-03/13/center.html [Broken]

Last edited by a moderator:
It's great !. Thank you Jeroen.
Anyway, how can we prove that friends?

The method works by drawing a circle, picking two points on it, then draw a series of circles based on where the existing circles.
The final answer is the intersection of the last two circles.

All you need to do is write a big formula containing all these circles and resulting in the coordinates of the final intersection and then prove that "the_big_function(center_of_circle, radius_of_circle, point_1_on_circle, point_2_on_circle) = center_of_circle" is true for any input.

This would be a start:
Code:
point
float x
float y

circle
point center

point intersect (circle ca, circle cb, point pn)
returns intersection between ca and cb that is not pn

float distance (point pa, point pb)
returns distance between points pa and pb

point pointoncircle (circle c, float angle)
returns a point on the circle going the given angle clockwise from the top

input:
circle c0
c0.center = variable
float a1
a1 = variable
float a2
a2 = variable

output:
point pf

process:
point p1
p1 = pointoncircle(c0,a1)
point p2
p2 = pointoncircle(c0,a2)
circle c1
c1.center = p1
circle c2
c2.center = p2
circle c3
c3.center = intersect(c0,c1,p2)
circle c4
c4.center = intersect(c2,c3,p1)
circle c5
c5.center = intersect(c4,c3,p1)
circle c6
c6.center = intersect(c2,c4,p1)
pf = intersect(c5,c6,p1)

Last edited:
HallsofIvy