![]() |
VVall, видимо подсознательно что-то сработало, что это будет интересно еще кому-то, как сказал mooncar.
mooncar прав. Не должны пересекаться сами тела объектов. Дело в том, что я могу логически словами объяснить общий принцип работы и перебрать варианты, но написать рабочую программу я не сумею, т.к. у меня нет такой базы знаний в области программирования... |
У всех людей изначально нет базы знаний. Начните делать, в процессе появятся знания.
|
почитайте про волновой алгоритм, кажись так называеться, с помощью него можна такие задачи решать... Надо смотреть )
|
Вложений: 1
to mooncar
Под непересечением я как и автор имел ввиду объекты а не траектории. Поэтому и задал вопрос, как "человек-пятерка" должен "рассталкивать" уже вставших на свои места. Само движение отдельных экземпляров и коллизию можно решить (прикладываю ну очень старый пример падения шаров), заменив вектор "падения" на "вектор стремления" занять свое новое место. А вот задачу "расступитесь, дайте пройти" - не знаю. |
вижу как минимум два пути:
1.Простой: каждый чел занимает одну клетку на поле и может пойти в соседнюю пустую. 2.Сложный: люди немного отличаются по размерам и двигаются по кривым траэкториям. для простого пути люди просто идут к своим местам по вертикали и горизонтали, естественно застряют и уже потом договариваются кто и кому уступает место чтобы пройти (уступают место даже те кто свои места уже занял) а вообще идеальным решением будет уход толпы в сторону и построение по шеренгам, ток это уже не толпа а армия получается )) |
Я бы сделал как вот тут
|
| Часовой пояс GMT +4, время: 21:27. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.