W sześciennym pudle mam duże punkty zbiórki w R^3. Chciałbym znaleźć najbliższych sąsiadów dla każdego punktu. Normalnie myślę, że używam czegoś takiego jak drzewo k-d, ale w tym przypadku mam okresowe warunki brzegowe. Jak rozumiem, drzewo k-d działa poprzez podział przestrzeni na partycje, przecinając je w hiper-płaszczyzny o jednym mniejszym wymiarze, tj. W 3D dzielimy przestrzeń rysując płaszczyzny 2D. Dla dowolnego punktu jest albo na płaszczyźnie, nad nią, albo pod nią. Jednak, gdy podzielisz przestrzeń z okresowymi warunkami brzegowymi, punkt może być uważany za znajdujący się po obu stronach!Najbliższe wyszukiwanie sąsiadów z okresowymi warunkami brzegowymi
Jaka jest najskuteczniejsza metoda znajdowania i utrzymywania listy najbliższych sąsiadów z okresowymi warunkami brzegowymi w R^3?
Aproksymacje są niewystarczające, a punkty będą przenoszone tylko po jednym na raz (nie przypominają symulacji N-body Monte Carlo).
Nie jestem zaznajomiony z terminem "okresowe warunki brzegowe"; możesz to rozwinąć? – templatetypedef
Okresowy stan ograniczenia najlepiej zrozumieć na przykładzie. W 1D wyobraź sobie, że możliwe są punkty od 0 do 1. Punkt 0 jest taki sam jak punkt 1. Odległość między dwoma punktami przy .2 i .3 wynosi .1 jako normalny, ale odległość między dwoma punktami .1 i. 9 to .2, ponieważ pętle wokół.Generalizuje to dla wyższych wymiarów, a osie x, y, z są w pętli w 3D. – Hooked
Zastanawiam się, czy kiedykolwiek zdołałeś to wdrożyć? Jeśli tak, czy masz jakąś poprawę szybkości? Dzięki. – sodiumnitrate