Я сохранил набор точек в Quadtree. Как только квадрант был создан с точками, я затем добавляю все ребра в квадрант, чтобы каждое ребро сохранялось во ВСЕХ узлах листа, с которыми оно пересекается, начинается или заканчивается на.Поиск ближайшего соседнего края в Quadtree
Теперь у меня есть точка, скажем А, и мне нужно найти ближайший к ней край. В моем текущем алгоритме я возвращаюсь к листовому узлу, который содержит эту точку A, и нахожу расстояния между A и всеми отрезками линии , содержащимися этим листовым узлом. Теперь это может выглядеть как правильное решение, но это не так, как мне приходится сравнивать ребра, которые есть в соседних узлах, чтобы иметь возможность дать точный ответ.
Теперь мои вопросы
а) Как я могу идти об извлечении ближайших краев?
b) Должен ли я просто сравнивать все ребра, содержащиеся в родительском (с точки зрения интереса) узле? (Но я знаю, за то, что поставив жесткое ограничение на количество уровней нужно идти, чтобы найти ближайший край неверен основанный на интуиции)