The problem is; given a set of 3 or more point in $\mathbb{R}^2$ that are assumed to approximate some portion of a circular arc, find the "best" center and radius of the circle.
The solution I'm considering is:
Start with the definition of a circle:
- $(x_i-X_c)^2 + (y_i-Y_c)^2 = R^2$
Rearrange it as a polynomial:
- $x_i^2 - 2x_iX_c + X_c^2 + y_i^2 - 2y_iY_c + Y_c^2 = R^2$
- $x_i(-2X_c) + y_i(-2Y_c) + 1(X_c^2 + Y_c^2 - R^2) = (x_i^2 + y_i^2)$
Use a least square regression to solve for $-2X_c$, $-2Y_c$ and $X_c^2 + Y_c^2 - R^2$ and then from there solve for $X_c$, $Y_c$ and $R$.
(This other question mentions using least squares but none of the answers that actually get into details describe solutions that looks like this and this has the advantage of being very easy to describe and understand.)
My actual questions:
- Is this a reasonable solution? Empirically it seems to work, but that is a rather weak claim.
- Should this be stable under translation, rotation and scaling? If not, are there similarly simple solutions that are?
- Is this a known solution?