![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Jan 2013
Сообщений: 61
|
Допустим у меня на сцене сильно много объектов одного класса и мне нужно со всеми ними проверить столкновение, можно ли проверить с одним условием, чисто на столкновение с классом? а не перебирать все объекты в цикле?
|
|
|||||
|
Цитата:
Классическая задача. Если будете перебирать все объекты и проверять каждый с каждым - получите n*n проходов, т.е. было 1000 обектов - получили 1000000 проверок. Чтобы проверок было 1000, ну 10 000 хотя-бы нужно использовать либо сетку, либо дерево. Последний раз редактировалось expl; 24.02.2013 в 13:17. |
|
|||||
|
Регистрация: Jan 2013
Сообщений: 61
|
Ок, спасибо, попробуем)
|
|
|||||
|
блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
|
Есть ещё простой как дверь n log(n) способ проверки на пересечения AABB: сортируем (за n log(n) ) х координаты и отдельно у координаты. Затем линейно обходим эти отсортированные массивы координат. Пусть они отсортированы по возрастанию, тогда когда встречаем меньшую границу AABB кладём этот AABB в словарь и записываем пересечение со всеми остальными AABB из словаря. Когда встречаем большу границу, то достаем AABB из словаря.
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают. |
![]() |
![]() |
Часовой пояс GMT +4, время: 02:46. |
|
|
« Предыдущая тема | Следующая тема » |
|
|