Показать сообщение отдельно
Старый 28.05.2014, 12:58   #1
Reizel
Задрот
 
Аватар для Reizel
 
Регистрация: 24.07.2009
Адрес: Ивановская область, г. Кинешма
Сообщений: 1,574
Написано 407 полезных сообщений
(для 863 пользователей)
Поиск ближайшей точки в трёхмерном массиве

Т.е. есть массив размерностью X,Y,Z содержащий некие структуры. Но они есть не во всех клетках, в большинстве они заполнены null.

Задача: на вход функция принимает координаты ячейки в этом массиве, и если по ним расположен NULL - алгоритму нужно ОЧЕНЬ быстро найти ближайшую "точку-не-null"

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

Ещё сделал для оптимизации - в массиве могут храниться как сами объекты, так и ссылки на эти объекты. Т.е. если алгоритм уже искал в точке {x,y,z} ближайшую, он по этим координатам забъёт ссылку на найденный результат, чтобы второй раз не ходить типа кэш. Но всё это очень медленно, может уже есть какие нибудь алгоритмы оптимизации?

Подскажите в каком направлении читать, а то я даже запрос в гугл не могу правильно состряпать
(Offline)
 
Ответить с цитированием