[Math] Find center of a circle using 2 points and arc

arc lengthcircles

I have information about 2 points and an arc. In this example, point 1 (x1,y1) and point 2(x2,y2) and I know the arc for example 90 degree or 180 degrees.

From this information, I want to calculate the center of the circle. Which is (x,y) in this case.

Find center of circle

Note:
I know this is possible as I have seen this done in a software. I don't have the source code for that so I am looking for the right formula/equation to get the center of the circle using the given parameters.

Best Answer

The measure of the arc is the same as the measure of the central angle, call it $\theta$. Since you know the two points, you can find the distance between them, call it $d$.

This means that there is an isosceles triangle whose vertices are the two points you know, and the center of the circle (which you don't initially know. The two sides of the triangle that are equal are both radii of the circle, call them $r$.

You know the values of $\theta$ (the angle opposite the hypotenuse) and $d$ (the hypotenuse), but not that of $r$ (the length of the other two sides).

We can use the law of cosines to solve for $r$ in terms of $d$ and $\theta$:

$$d^2 = 2r^2 - 2r^2\cos \theta$$

$$ d^2 = r^2(2 - 2\cos \theta)$$

$$r = \boxed{\frac{d}{\sqrt{2-2\cos \theta}}}$$

Knowing the radius of the circle is enough information to reduce the number of possible points that could be the center to two (the other possibility is the point $a_0$ in your diagram, and we need a little more information to decide which of the two must be the center).

Related Question