Пересечение геометрии круга с увеличенной геометрией
У меня есть две GPS-координаты (p, q)
это конечные точки сегмента. У меня есть третье замечание c
который является центром круга с радиусом r
, Моя цель - найти множество точек пересечения X
между этими двумя геометриями.
Может быть не менее 0 и не более 2 пересечений. Я не нашел эллипса или круга, подобного геометрии, в буст-геометрии. Существует ли какая-либо стратегия пересечения, которая дает точку пересечения x
который r
расстояние от c
?
1 ответ
Boost Geometry не имеет понятия круга.
Обычный способ аппроксимации круга - это генерация правильного n-гона, где n велико.
Вместо этого вы можете использовать k-ближайший поиск для конечных точек отрезка линии: boost:: geometry: ближайшие соседи, использующие круг - это ответит на подмножество вопросов, отвечающих вашим описанием вопроса.