Запрашивая октри

Я пытаюсь реализовать поиск по октодерева, чтобы сопоставить мои данные из грубой сетки (скажем, 20 точек) с точной сеткой (скажем, более 50 точек). Мне удалось построить октодерево (используя классы в c ++), но теперь я столкнулся с проблемой его запроса.

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

Проблема теперь в том, что в некоторых случаях листовой узел, смежный с тем, который я получил для моей точной точки сетки, может содержать точку (или точки), которые ближе к ней, чем те, которые находятся в текущем листовом узле. И определить это — то, что я не смог понять.

Я надеюсь, что я был ясен в своем описании, и какая-то хорошая душа может помочь мне. Также, если бы кто-то мог указать мне на то, чтобы я мог запросить октри для точек в пределах определенного радиуса, это также очень помогло бы.

Я добавляю картинку, чтобы лучше объяснить мою озабоченность. Красные точки — это точки в октрее, а синяя точка — это точная точка сетки после запроса. Теперь я буду использовать точки в конечном узле 1, чтобы оценить значения данных для этой точной точки сетки, тогда как конечный узел 2 имеет точки, которые находятся ближе к точной точке сетки.

дерево quadtree http://img6.imageshack.us/img6/3910/lojt.jpg

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]