Быстрая структура пространственных данных для поиска ближайшего соседа среди гиперсфер разного размера

Учитывая k-мерное непрерывное (евклидово) пространство, заполненное довольно непредсказуемо движущимися/растущими/сжимающимися гиперсферами, мне нужно неоднократно находить гиперсферу, поверхность которой является ближайшей к заданной координате. Если несколько гиперсфер находятся на одинаковом расстоянии от моей координаты, то побеждает самая большая гиперсфера. (Общее количество гиперсфер гарантированно останется неизменным с течением времени.)

Моей первой мыслью было использовать KDTree, но оно не будет учитывать неравномерные объемы гиперсфер. Поэтому я посмотрел дальше и нашел BVH(иерархии ограничивающих объемов) и BIH(иерархии ограничивающих интервалов), которые, похоже, помогают. По крайней мере, в 2-/3-мерном пространстве. Однако, найдя довольно много информации и визуализаций о BVH, я почти ничего не смог найти о BIH.

Моим основным требованием является k-мернаяпространственная структура данных, которая учитывает объеми либо очень быстро строится(автономно), либо динамический с едва ли какой-либо дисбаланс.

Учитывая мои требования выше, какую структуру данных вы бы выбрали? Какие-то другие, которые я даже не упомянул?


Редактировать 1: Забыл упомянуть: гипершперам разрешено (на самом деле весьма ожидаемо) перекрываться!

Редактировать 2: Похоже, что вместо «расстояния» (и «отрицательного расстояния» в частности) моя описанная метрика гораздо лучше соответствует мощности точки.

9
задан Regexident 24 December 2016 в 23:58
поделиться