I have an engineering problem, which involves math. The reason it's "engineering" is that I don't need a pure mathematical solution, but a good-enough approximation could work - the only constraint is that it should be algebraically solvable.

The problem is to find a radius of a circle given three points (A,B,C) that are non-collinear outside the circle and their individual distances to the perimeter of the circle. Possible simplifying assumption is that the radius of the circle is always within the triangle formed by the three points.

The only approach I could think of is this:

  1. Construct a system of 4 equations: three equations using the Law of Cosines for $\angle AOB$, $\angle BOC$, $\angle AOC$ ($O$ is the center of the circle), and the sum of angles $\angle AOB+\angle BOC+\angle AOC = 360^\circ$

  2. Expand the cosines with Taylor series up to (say second degree)

  3. Solve a system of polynomial equations.

Is there a better approach?


Given points $A_i$ and distances $d_i$ to the circle, it may be noted that the line along the shortest "distance" must pass through the centre of the circle. Hence if the centre of the circle is $C$ and radius $r$, we can have the equations:

$$\left| A_i - C \right| = r + d_i$$

In this case, we should have three equations and three unknowns - the coordinates of $C$ and $r$.

To solve, squaring makes these three quadratic equations, taking the difference two at a time should give two linear equations which allow you to express coordinates of $C$ in terms of $r$. Then substitute in any one equation, and you should get a quadratic for $r$.

  • $\begingroup$ I think that's it! That's exactly what I needed. Thanks a lot! $\endgroup$ – Dan G Mar 27 '13 at 5:13
  • $\begingroup$ Indeed, this is the right approach. In fact, I learned that this question is part of what's called an Apollonius Problem. One solution is this, and another - is what was suggested by @RossMillikan - namely, intersection of hyperbolas. $\endgroup$ – Dan G Mar 27 '13 at 18:40
  • $\begingroup$ I see the solution as the intersection of three circles - not sure how hyperbolas figure here. $\endgroup$ – Macavity Mar 27 '13 at 20:03

The center of the circle lies on the perpendicular bisector of the segment between any two of your points. The perpendicular to a given line has a slope that is the negative of the reciprocal of the given line. You might look at the determinant given in equation 25 of this link

  • $\begingroup$ Thanks for the reply. I might not be following here. In the question the circle does not pass throw the three points - the points are outside of the circle. Can you clarify how equation 25 can be helpful? $\endgroup$ – Dan G Mar 27 '13 at 4:12
  • $\begingroup$ @DanGuberman: I missed that the points were not on the circle, but if they are each the same distance from the circle it is the same. They are on a circle of a radius greater by the distance to the circle. If the distances vary, the center lies on the intersections of hyperbolas with the points as foci. I don't know of a canned solution, but this may lead you in the right direction. $\endgroup$ – Ross Millikan Mar 27 '13 at 4:17
  • $\begingroup$ Thanks again. Can you point to how intersection of hyperbolas is the center of the circle? I'm also still not sure how I would proceed from here $\endgroup$ – Dan G Mar 27 '13 at 4:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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