Próbuję zaimplementować następny iterator dla kwadrantu. Niestety, nie wydaje mi się, żebym mógł znaleźć jakiekolwiek źródło informacji o traversal w quadtree.Przejście na cztery części
Czy ktoś może wskazać mi właściwy kierunek?
Próbuję zaimplementować następny iterator dla kwadrantu. Niestety, nie wydaje mi się, żebym mógł znaleźć jakiekolwiek źródło informacji o traversal w quadtree.Przejście na cztery części
Czy ktoś może wskazać mi właściwy kierunek?
Rzuć na następującym papierze i zobacz czy ma to, czego potrzebujesz ...
Simple and Efficient Traversal Methods for Quadtrees and Octrees
Łatwym sposobem jest zlinearyzować drzewa. Oczywiście będziesz musiał to zrobić rekurencyjnie, ale stworzysz zestaw wskaźników do węzłów, które chcesz odwiedzić, a następnie utworzysz z niego iterator do przodu.
Tak prosty, dobrze! Jak to się stało, że nie myślałem o zrobieniu tego. Teraz btw, mam do czynienia z problemami z węzłów z jednym z indeksu równy jego rodzica. Wydaje się, że muszę zmienić reguły wstawiania lub coś takiego. Dowolny pomysł? –
To moja implementacja w javascript: https://github.com/alexroat/quadtree-traversal
Jest wizualny demo, który pokazuje zachowanie się algorytmu.
Dałem temu papierowi krótką próbę przed pytaniem. Może to było zbyt szybkie. –