Пересечение геометрии круга с увеличенной геометрией

У меня есть две GPS-координаты (p, q) это конечные точки сегмента. У меня есть третье замечание c который является центром круга с радиусом r, Моя цель - найти множество точек пересечения X между этими двумя геометриями.

Может быть не менее 0 и не более 2 пересечений. Я не нашел эллипса или круга, подобного геометрии, в буст-геометрии. Существует ли какая-либо стратегия пересечения, которая дает точку пересечения x который r расстояние от c?

1 ответ

Boost Geometry не имеет понятия круга.

Обычный способ аппроксимации круга - это генерация правильного n-гона, где n велико.

Вместо этого вы можете использовать k-ближайший поиск для конечных точек отрезка линии: boost:: geometry: ближайшие соседи, использующие круг - это ответит на подмножество вопросов, отвечающих вашим описанием вопроса.

Другие вопросы по тегам