минимальное расстояние до центра сферы с использованием matlab - PullRequest
0 голосов
/ 01 июня 2011

Учитывая 2 точки A и B, принадлежащие сфере с данным радиусом R. Я хочу найти сферу, центр которой имеет минимальное расстояние до данной точки G.

Спасибо

Ответы [ 2 ]

0 голосов
/ 09 ноября 2013

Точка C, которую вы хотите, находится в плоскости, которая содержит A, B и G. Вы вычисляете

AG = G - A;
BG = G - B;
N = cross(AG, BG);
N = N / norm( N ); % the normal to the plane

Теперь вы решаете для C в этой плоскости.Три уравнения:

dot((C-G), N)=0;
sqrt(sum(A-C).^2) = R;
sqrt(sum(B-C).^2) = R;

Три неизвестных - это три элемента C. У вас есть два решения, поэтому вычислите расстояние до G и выберите более близкое.

0 голосов
/ 01 июня 2011

Центры сферы, определяемой двумя точками, а радиус - это круг. Вы можете соединить C (центр круга) и G и создать 90 ° проекцию на плоскость круга. Минимальное расстояние - это место, где проекция пересекает касательную окружность на 90 °. Есть два решения. Вы должны взять меньший.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...