znajdź wszystkie punkty w zasięgu do dowolnego punktu innego zestawu

Mam dwa zestawy punktówA iB.

Chcę znaleźć wszystkie punktyB które są w pewnym zakresier doA, gdzie punktb wB mówi się, że znajduje się w zasięgur doA jeśli jest przynajmniej jeden punkta wA którego (Euklidesowa) odległość dob jest równy lub mniejszy niż r.

Każdy z obu zestawów punktów jest spójnym zbiorem punktów. Są one generowane z lokalizacji wokseli dwóch nie nakładających się obiektów.

W 1D ten problem jest dość prosty: wszystkie punktyB w ciągu [min (A) -r max (A) +r]

Ale jestem w 3D.

Jak najlepiej to zrobić?

Obecnie powtarzalnie szukam każdego punktu wA wszystkie punkty wB które w zasięgu używają algorytmu knn (np. matlab's rangesearch), a następnie łączą wszystkie te zestawy. Ale mam wrażenie, że powinien być lepszy sposób na zrobienie tego. W matlab wolałbym rozwiązanie wysokiego poziomu / wektoryzacji, ale pseudo kod też jest w porządku :)

Pomyślałem też o zapisaniu wszystkich punktów na obrazach i użyciu rozszerzenia obrazu na obiekcie A o promieniu r. Ale to brzmi jak nadmiar.

questionAnswers(3)

yourAnswerToTheQuestion