Экспресса, что центр сферы находится на одинаковом расстоянии от трех заданных точек и в одной плоскости с ними (при условии, что три заданных точек на большом круге).
(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|
Вычитая первое уравнение из второго и третьего, вы избавитесь от квадратичных членов.
(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
Теперь у вас есть простая линейная система из трех уравнений с тремя неизвестными.
Для лаконичности вы можете перевести три очка, так что Xa=Ya=Za=0
и уравнения упростить
|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
или
(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²
Тогда, R² = X² + Y² + Z²
, и не забудьте перевести назад.
Хорошо, если точки, как известно, находятся на большом круге. В противном случае необходимы четыре точки. –