samodum
@samodum
Какой вопрос - такой и ответ

Какой алгоритм для определения ближайшего отрезка пути к точке?

Дан путь на карте в виде упорядоченного набора точек.
Есть точка, которая движется по этому пути, но с некоторой погрешностью.
Необходимо определить ближайший участок пути (сегмент, ребро) к заданной точке.
Задача сначала казалась простой, но потом всплыли подводные камни. Думаю, что есть уже существующий алгоритм, но какой? Диаграмы Вороного? Триангуляция Делоне?
  • Вопрос задан
  • 721 просмотр
Решения вопроса 1
samodum
@samodum Автор вопроса
Какой вопрос - такой и ответ
Кажется, нашёл ответ.
Надо использовать BSP-дерево https://en.wikipedia.org/wiki/Binary_space_partitioning
stackoverflow.com/questions/3423852/algorithm-to-f...
и ещё варианты на выбор:
https://gist.github.com/mbostock/8027637
stackoverflow.com/questions/18900642/get-point-on-...
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Ni55aN
@Ni55aN
Найти расстояния ко всем точкам, соседние отрезки к самой ближней точке и перпендикуляр к одной из них. Если такой существует - ответом будет длина этого перпендикуляра, иначе - расстояние к ближайшей точке
Ответ написан
Комментировать
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
нормаль к прямой (или проекция точки на прямую): отрезок от точки до пересечения с прямой под углом 90 градусов к этой прямой.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы