12/12/2003
|
J. F. Crawford
A NON-ITERATIVE METHOD FOR FITTING CIRCULAR ARCS TO MEASURED POINTS
NUCLEAR INSTRUMENTS & METHODS IN PHYSICS RESEARCH 211: (1) 223-225 1983
Equation 4:
X0^2 + Y0^2 – R^2 = (1/N)*(2*X0*Sx + 2*Y0*Sy – Sxx – Syy)
Simultaneous equations to solve for center:
X0*(Sxx – Sx^2/N) + Y0*(Sxy – Sx*Sy/N) = .5 * (Sxxx + Sxyy – Sx*(Sxx + Syy)/N)
X0*(Sxy – Sx*Sy/N) + Y0*(Syy – Sy^2/N) = .5 * (Sxxy + Syyy – Sy*(Sxx + Syy)/N)
Let:
F1 = Sxy - Sx*Sy/N
F2 = (Sxx + Syy)/N
F3 = (1/N)*(2*X0*Sx + 2*Y0*Sy – Sxx – Syy)
Then
X0^2 + Y0^2 – R^2 = F3
X0 * (Sxx – Sx^2/N) + Y0*F1 = .5 * (Sxxx + Sxyy – Sx*F2)
X0*F1 + Y0 * (Syy – Sy^2/N) = .5 * (Sxxy + Syyy – Sy*F2)
Let:
F4 = Sxx – Sx^2/N
F5 = Syy – Sy^2/N
F6 = Sxxx + Sxyy – Sx*F2
F7 = Sxxy + Syyy – Sy*F2
Then:
X0^2 + Y0^2 – R^2 = F3
X0 * F4 + Y0 * F1 = .5 * F6
X0 * F1 + Y0 * F5 = .5 * F7
Let:
Det(a, b, c, d) = a * d – b * c
F8 = Det (F4, F1, F1, F5)
Then:
X0 = Det(.5 * F6, F1, .5 * F7, F5) / F8
Y0 = Det(F4, .5 * F6, F1, .5 * F7) / F8
R = sqrt (X0^2 + Y0^2 – F3)