Уменьшите круг, сохраняя все точки внутри - PullRequest
0 голосов
/ 30 сентября 2018

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

Точки A и C являются частью окружности S. Сегментная линия F соединяет точки A и C. Линия Rперпендикулярно F и проходит через центр круга, в точке G. Я хочу подтолкнуть центр G к пересечению F и R, чтобы уменьшить размер S. Однако мне нужно держать точку D внутри круга, чтобы яЯ не могу полностью переместить G в направлении этого пересечения.

Я хочу выяснить, как рассчитать, сколько я могу переместить G в направлении этого пересечения, сохраняя при этом D внутри круга.

Обратите внимание, что при перемещении G к пересечению радиус будет уменьшаться, поскольку цель моей программы - получить наименьший круг, содержащий все точки.

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

Есть идеи?Я сравнивал векторы того, сколько G может двигаться, но еще ничего не понял.

enter image description here

1 Ответ

0 голосов
/ 30 сентября 2018

Тогда новая точка G находится на медиатрице DA.

enter image description here

...