Где взять высокопроизводительный алгоритм поиска пересечения прямоугольников?

Рейтинг: 1Ответов: 1Опубликовано: 04.09.2014

Всем привет!

Пишу игру на Action Script, на карте которой отображается большое количество объектов. Для того, чтобы отображать объекты, которые попадают только в поле зрения, использую физический движок nape. Там есть отличная функция bodiesInAABB, она довольно быстрая и время, потраченное на расчёты, зависит только от количества возвращаемых объектов. Т.е. ей без разницы, какое количество объектов добавлено в мир. Но есть большое количество недостатков: большой вес библиотеки, о-о-очень долгая компиляция на мобильные телефоны (+ 15 минут), много кушает памяти и довольно проблематично меняет размеры и положение отображаемых объектов.

Кто знает, может, есть готовые библиотеки на данную тематику или алгоритмы?

Ответы

▲ 1

Библиотеки: Box2d, nape. В основе любого известного мне физического 2d движка лежит теорема SAT (Separating Axis Theorem). Воспроизвести алгоритм можно и самостоятельно, но сомневаюсь, что получится быстрее чем у nape. Про алгоритм можно почитать, например, здесь: http://www.codezealot.org/archives/55