Как правильно искать ближайшие точки координат других элементов для перетаскиваемого элемента?
Всем привет!
Вопрос такой: как правильно искать ближайшие точки координат других элементов для перетаскиваемого элемента?
к примеру у нас есть круг, квадрат и треугольник, я передвигаю треугольник, подвожу его ближе к кругу и мне он говорит, что он рядом с кругом, но не говорит, что рядом с квадратом... я думал каждый раз изменении координат перетаскиваемого элемента циклом проходить координаты каждого элемента. Но это же ужасно. Подскажите, как это можно решить?
Строим буфер выбора, анализ производим в окне заданного размера M (минимальное расстояние до объекта, которое можно считать "близким"). Получаем N объектов, расстояние до которых не больше M. А дальше уже либо уменьшаем размер окна, пока не останется один объект (самый ближний), либо, перебирая точки по спирали, находим ближайший объект так.
По-моему, метод дихотомии с размером окна проще.