2015-03-17 3 views
-2

Можно ли найти центр его сферы и его радиус от 3 точек на поверхности?Сферная точка центра и радиус от 3 точек на поверхности

Я строю модель для сегментированной структуры мозга, если бы три точки были в пределах структуры; головы, хвоста и середины.

Спасибо,

+2

Хорошо, если точки, как известно, находятся на большом круге. В противном случае необходимы четыре точки. –

ответ

1

Экспресса, что центр сферы находится на одинаковом расстоянии от трех заданных точек и в одной плоскости с ними (при условии, что три заданных точек на большом круге).

(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², и не забудьте перевести назад.

+0

ow Я вижу, что вы правы, должен быть на большом круге (удаленный неправильный мой ответ) ... – Spektre

Смежные вопросы