Based on The square and the compass

The rules are almost the same. (The only difference is the actual task, marked in bold.)

You have a compass and a pencil but no scale/straightedge. Your job is to mark four points on a plane paper that would form a square if joined. You are given two points on a plane paper. Your job is to find the midpoint of line segment formed by the two points, if joined. Your result has to be perfectly accurate (not approximate) and should be possible in a finite number of moves. The following moves are valid.

  • Make the compass radius equal to the distance between two already marked points.
  • Draw a circle with any marked point as centre.
  • Use any intersection of arcs/circles as a marked point.
  • Select a continuous region (either an arc or a 2D region) and mark an approximate point. For example, I could draw an arc and then mark a point that is approximately (but not exactly) at the centre.

I do not know how to solve this.

I do know how to do it in infinite moves, though.

  • $\begingroup$ Would be much easier if the line segment was available as a reference line :) $\endgroup$
    – DrunkWolf
    Jan 11, 2016 at 5:52
  • $\begingroup$ @DrunkWolf Even then, how will you do it? You could post the solution you have in mind as well. $\endgroup$ Jan 11, 2016 at 5:54
  • 1
    $\begingroup$ Couldn't you just draw a circle center on A with radius AB, and a circle centered on B with radius AB, then go to an intersection between these 2 circles and draw a circle that just touches the line segment, which would be in the middle of the line? $\endgroup$
    – DrunkWolf
    Jan 11, 2016 at 5:57
  • 1
    $\begingroup$ @DrunkWolf How will you draw a circle that just touches the line segment? (Your solution is only approximate, not perfectly accurate, as required in the question) $\endgroup$ Jan 11, 2016 at 6:00
  • $\begingroup$ Is the point where to circles touch a valid location for a marked point? $\endgroup$
    – Bort
    Jan 11, 2016 at 9:20

2 Answers 2


I fully copied below answer from https://math.stackexchange.com/questions/227285/constructing-the-midpoint-of-a-segment-by-compass

Some Googling revealed the following comments to this answer:

  • I know it is possible, but is there an easy way to divide a segment in half with only a compass? – robjohn♦ May 20 at 3:46
  • I don't know if that's "easy", but here's one method:
    1. Find the point $C$ on the ray from $A$ through $B$ such that $|AC|=2|AB|$ using my previous comment [The relevant part: "To double the distance along a ray, use the construction of a regular hexagon with vertex $A$ and center $B$".]
    2. Intersect the circle with center $C$ through $A$ with the circle with center $A$ through $B$ to find $D_1,D_2$.
    3. The midpoint of $AB$ is the second point of intersection of the two circles with center $D_i$ through $A$. – t.b. May 20 at 9:28
  • Here is a picture of what I have in mind: - t.b. May 20 at 12:38

Division in half

The dotted line is not used in the construction.


The triangles $\Delta ACD_1$ and $\Delta AMD_1$ are isosceles by construction and they share a common angle, hence they are similar. Therefore $AM : AB = AM : AD_1 = AD_1 : AC = AB : AC = 1 : 2$.

  • $\begingroup$ I think it would be clearer if you included the missing mark of the hexagon that gives you c. $\endgroup$
    – Taemyr
    Jan 12, 2016 at 9:26
  • 1
    $\begingroup$ True, that the explanation for getting C not very clear is. There is an easier way by the way that doesn't involve hexagons. Just make a circle with center in the bottom intersection of the 2 blue circles that goes through the top intersection of the 2 blue circles and where it intersects the right blue circle there is C. This is basically the grey dotted circle $\endgroup$
    – Ivo
    Jan 12, 2016 at 9:31

Doing this in infinite moves is relatively trivial, so I'll post an answer that does that while I think about the harder problem of doing it in finite moves. Maybe this method will inspire somebody.

Mark approximately the midpoint of the two points. Now use the compass to create two circles of the same radius, such that each has an endpoint as its center, each contains the approximate midpoint, but neither contains the other endpoint (there are many possible radii here, any will do). Then take the intersections of those two circles as two new endpoints and repeat the process. Each time, your endpoints are closer together. Also, since you always use equal radii, the line between the points of intersection always goes through the exact center. Thus, after infinite steps you arrive at precisely the midpoint of the original two points.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.