Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вычисления факта столкновения объектов 
:(
    Опции темы
nerezus
Дата 23.12.2006, 23:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: нет
Всего: 43



Имеется куча объектов. Они все в 2D пространстве, для простоты положим, что объекты прямоугольные или круглые, хз.

И они движутся =)

Как легче всего рассчитать, не столкнулся ли объект с другими?

Т.е. тупо проверять, не находятся ли их центы в близости друг от друга? Причем для определенного объекта перебирать все другие на наличие "близости"?


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
maxim1000
Дата 24.12.2006, 03:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: 33
Всего: 110



слышал как-то об использовании такого подхода (очень приблизительное описание):
делим пространство пополам и каждый объект сравниваем только с объектами из его половины
это уменьшит работу в среднем в два раза
если делить дальше (и по вертикали,и по горизонтали), количество сравнений будет уменьшаться
т.е. пространство представляется "в клеточку"
для каждой клеточки есть массив объектов в ней, чтобы быстро доступиться к каждому интересующему
чтобы разобраться с объектами, близкими к границе, можно добавить в кандидаты на столкновение и объекты соседних клеточек (всё равно суммарная работа получится меньше)

название было типа ***-деревья


--------------------
qqq
PM WWW   Вверх
cardinal
Дата 24.12.2006, 03:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 5
Всего: 99



Название сего дела kd-tree (сокращение для k-dimensional tree) .
http://en.wikipedia.org/wiki/Kd-tree


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0392 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.