[Math] How to find the centroid of the intersecting region between three circles of differing diameters

geometry

This question is a follow-up to this question I asked earlier which deals with finding the midpoint of the intersecting region of two circles of differing diameters. Using the parametric equation of a line as suggested in the accepted answer, it works perfectly. Now I want to take it a step further. In the image below, you'll see I have three circles of differing diameters which all intersect at various points.

I would like to find the centroid of the region at which all three circles overlap. The only information available is the coordinates of the circles' centers and their respective diameters. It doesn't appear to be as straight-forward as the last question, though. The intersection of the circles does not always occur on the line between the centers. I imagine one would need to average the X and Y coordinates of the points of intersection to find it, but I'm not sure how to find the points of intersection in this scenario.

Any thoughts or guidance in the right direction is appreciated.

Three intersecting cirlces

Best Answer

  1. Get the coordinates of the three intersection points between pairs of circles by solving

    $$\begin{cases}(x-x_1)^2+(y-y_1)^2=r_1^2\\(x-x_2)^2+(y-y_2)^2=r_2^2\end{cases}$$

    (subtract the equations to get a linear one, express $y$ in terms of $x$ ang plug in the first equation to get a quadratic equation in $x$.)

  2. The area of the triangle is given by half the cross-product between two sides. The centroid is at the arithmetic mean of the coordinates.

  3. For each circular segment, you know the radius and the chord length and you easily derive the aperture angle ($2\arcsin l/2r$). Hence the area, which is the difference between a sector and a triangle ($r^2(\theta-\sin\theta)/2$). The centroid is located on the symmetry axis at a distance from the arc center equal to $$\frac{4r\sin^3\frac\theta2}{3(\theta-\sin\theta)}.$$

    See http://mathworld.wolfram.com/CircularSegment.html.

  4. For each circle, find the translation and rotation that brings the segment in the reference position (as in the link). The translation just cancels the center coordinates. The rotation angle is found from the slope of the chord.

  5. Compute the coordinates of the centroids of the segments, counter-rotate them and translate the centers back. This will give you the absolute coordinates of the centroids.

  6. The global centroid is the weighted average of the centroids, where the weights are the areas

    $$\bar x=\frac{\bar x_{t}A_t+\bar x_{s_1}A_{s_1}+\bar x_{s_2}A_{s_2}+\bar x_{s_3}A_{s_3}}{A_t+A_{s_1}+A_{s_2}+A_{s_3}}$$

    and similar for $y$.

A complete analytical formula is possible but will probably be pretty large.