|
|
|||||
Регистрация: Apr 2010
Сообщений: 82
|
Пробежка по связкам
Привет. Проблема такова: есть 4 хаотично связанных друг с другом тела. Нужно, зацепив один (любой) из них, пробежаться по связям и выявить остальные, связанные с ним тела. Связь может быть неявной, т.е. через посредников (это как поиск друзей, а так же друзей друзей).
Буду очень признателен, за протестированный кусок кода, потому как сам перепробовал много вариантов, не один из которых не дает должного рез-та! |
|
|||||
Регистрация: Jul 2007
Адрес: Россия, Москва
Сообщений: 522
|
К сожалению, я не очень разбираюсь в Box2D, а так же не приведу вам готового кода, но то, что вы описали, очень похоже на обход дерева данных (где узел — это объект, а его дети — это его связи). Только при организации обхода, наверно, нужно ввести проверку на то, какой объект проверялся, та как в отличии от дерева данных ваши объекты, на сколько я понимаю, могут быть «зациклены» друг на друге.
|
|
|||||
Регистрация: Apr 2010
Сообщений: 82
|
Про зацикливание я в курсе. Проблема остается!
|
|
|||||
мне кажется оптимально все связи хранить не только в Box2d, но ещё и в отдельной памяти, к примеру хранить список смежных вершин(вроде через Box2D можно только перебрать весь список связей, а это не очень удобно). Тогда достаточно легко найти все связанные объекты(нужную компоненту связности графа) с помощью алгоритма поиска в ширину.
|
Часовой пояс GMT +4, время: 19:10. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|