Algebraic solution to find circle radius given distance of three external points from perimeter

564 Views Asked by At

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?

2

There are 2 best solutions below

3
On BEST ANSWER

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$.

3
On

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