![]() |
|
|
![]()
|
|
| nerezus |
|
|||
![]() Вселенский отказник ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3330 Регистрация: 15.6.2005 Репутация: нет Всего: 43 |
Имеется куча объектов. Они все в 2D пространстве, для простоты положим, что объекты прямоугольные или круглые, хз.
И они движутся =) Как легче всего рассчитать, не столкнулся ли объект с другими? Т.е. тупо проверять, не находятся ли их центы в близости друг от друга? Причем для определенного объекта перебирать все другие на наличие "близости"? |
|||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 33 Всего: 110 |
слышал как-то об использовании такого подхода (очень приблизительное описание):
делим пространство пополам и каждый объект сравниваем только с объектами из его половины это уменьшит работу в среднем в два раза если делить дальше (и по вертикали,и по горизонтали), количество сравнений будет уменьшаться т.е. пространство представляется "в клеточку" для каждой клеточки есть массив объектов в ней, чтобы быстро доступиться к каждому интересующему чтобы разобраться с объектами, близкими к границе, можно добавить в кандидаты на столкновение и объекты соседних клеточек (всё равно суммарная работа получится меньше) название было типа ***-деревья -------------------- qqq |
|||
|
||||
| cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 5 Всего: 99 |
Название сего дела kd-tree (сокращение для k-dimensional tree) .
http://en.wikipedia.org/wiki/Kd-tree -------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
![]()
|
| Правила форума "Алгоритмы" | |
|
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Алгоритмы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |