Клуб API Карт

Как лучше всего определить блжайшую точку из набора точек?

Пост в архиве.

Дано: выбранная точка и массив точек

Требуется: найти ближайшую точку к выбранной точке (например, маршрут был построен по массиву точек, а при наведении на часть маршрута надо показать координаты ближайшей точки, по которой он строился).

 

Делаю так:

1. Нахожу расстояние по формуле sqrt(deltaX^2 + deltaY^2)

2. Если текущее расстояние больше вновь вычисленного, то сохраняю вновь вычисленное.

3. И так по всему списку, либо пока не будет расстояние равно 0.0

 

 

Хотел бы узнать, насколько это правильно именно для этой задачи, где точность расстояния не важна?

1 комментарий

Если вам надо до отрезка - считайте растояние от точки до линии(отрезка)

До вершины вы получите не верное расстояние.

из пункта 1 можете выкинуть sqrt - оно на значение больше\меньше не влияет

из пункта 3 уберите 0. Вам надо найти просто минимальное расстояние, а потом проверить что оно меньше чем разрешено( а разрешено то пару пикселей )