[Solved] Sphere center point and radius from 3 points on the surface


Express that the center of the sphere is equidistant to the three given points and coplanar with them (assuming that the three given points are on a great circle).

(X - Xa)² + (Y - Ya)² + (Z - Za)² = R²    
(X - Xb)² + (Y - Yb)² + (Z - Zb)² = R²    
(X - Xc)² + (Y - Yc)² + (Z - Zc)² = R²    

|X  Y  Z  1|
|Xa Ya Za 1|
|Xb Yb Zb 1| = 0
|Xc Yc Zc 1|

Subtracting the first equation from the second and the third, you get rid of the quadratic terms.

(2X - Xb - Xa)(Xb - Xa) + (2Y - Yb - Ya)(Yb - Ya) + (2Z - Zb - Za)(Zb - Za) = 0
(2X - Xc - Xa)(Xc - Xa) + (2Y - Yc - Ya)(Yc - Ya) + (2Z - Zc - Za)(Zc - Za) = 0

Now you have an easy linear system of 3 equations in 3 unknowns.


For conciseness you can translate the three points so that Xa=Ya=Za=0, and the equations simplify as

|X  Y  Z |
|Xb Yb Zb| = 0
|Xc Yc Zc|

(2X - Xb) Xb + (2Y - Yb) Yb + (2Z - Zb) Zb = 0
(2X - Xc) Xc + (2Y - Yc) Yc + (2Z - Zc) Zc = 0

or

(Yb Zc - Yc Zb) X + (Zb Xc - Zc Xb) Y + (Xb Yc - Xc Yb) Z = 0
       2 Xb     X +        2 Yb     Y +        2 Zb     Z = Xb² + Yb² + Zb²
       2 Xc     X +        2 Yc     Y +        2 Zc     Z = Xc² + Yc² + Zc²

Then, R² = X² + Y² + Z², and don’t forget to translate back.

1

solved Sphere center point and radius from 3 points on the surface