Есть массив классов, каждый из которых - объект на плоскости.
Все объекты - прямоульники. Кроме координат X-Y и высоты-ширины W-H, классы могут возвращать координаты сторон L-T-R-B. В массиве может присутствовать от 3000 до 40000 и более объектов суммарно.
Задача: организовать быстрый поиск группы элементов, которые попадают в зону по координатам Лево-Верх-Право-Низ, что нужно для обнаружения столкновений и отбора элементов на отрисовку.
- Многие объекты статичны, но некоторые из них могут двигаться в произвольной форме (обычно от 400 до 10000, но может быть и больше).
- Иногда возможно движение и статических объектов:
- если их группа "приклеплена" к динамическому объекту (полное повторение его движений)
- линейное движение с заданными скоростями X/Y.
Элементы в массиве по-умолчанию размещены хаотично, но при необходимости могу легко организовать сортировку их всех по X-Y координатам