Стая, рой и.т.п20.10.2015, 12:33. Показов 2270. Ответов 28
Метки нет (Все метки)
Здравствуйте
Нужно получить как на картинке - летит стая птиц (или др особей). Формально - для каждой найти (или подобрать) подходящую траекторию движения. Больше картинок см напр См Swarm behaviour (вика). Что имеем - создавать любое разумное кол-во птичек (напр 10K не вопрос) - расставлять их с умом, не слишком близко, но и не слишком далеко друг от друга - знаем заданную траекторию движения всей стаи Так, ну и как двигать каждую птичку? С уважением Игорь Добавлено через 7 минут Пардон, вот картинка
0
|
|
| 20.10.2015, 12:33 | |
|
Ответы с готовыми решениями:
28
Закрытие 2-рой Формы Рой тормозов зашкаливает. HDD
|
|
Антикодер
1888 / 870 / 48
Регистрация: 15.09.2012
Сообщений: 3,088
|
|
| 21.10.2015, 02:53 | |
|
фракталы какие нибудь использовать
0
|
|
|
|
|
| 21.10.2015, 07:35 | |
|
0
|
|
| 21.10.2015, 14:35 [ТС] | |||
|
Добавлю что просто "проецировать" путь стаи для каждой птички явно не годится. Хотелось бы примерно так: - есть "лидер", он летит как хочет (т.е. по заданному юзером пути) - а остальные как бы "следуют за вожаком", не отрываясь от стаи но и не сталкиваясь между собой Но это пока лишь "хотелка" Добавлено через 6 часов 19 минут Вот нашел книжку https://www.safaribooksonline.... /ch04.html. Хотелось бы конечно лирики поменьше, а тех деталей побольше - но в целом очень толково. Идея была предложена Рейнольдсом лет 30 назад. Смысл простой - осредняться по "видимым" соседям (часто по направлению скорости) плюс поддерживать расстояния между птичками. Техника обычная - управляем вектором скорости. Упрощенно: в стае каждый действует по правилу "лечу как все". Наметилось 2 проблемы: 1) Все-таки как "следовать за лидером"? Ясно что лидер действует в каком-то радиусе, причем относительно небольшом. Допустим мы подтянули к лидеру тех кто в этот радиус попал. Но осреднение и соблюдение нужных расстояний потянет птичек назад - и так расстояние до лидера будет расти с каждым шагом 2) Все достаточно хорошо (и просто) если стая уже сформирована, но что если нет? Вообще что делать если "ближайших видимых" мало (недостаточно) или вообще пока нет?
Ну а куда ей лететь?
0
|
|||
| 21.10.2015, 16:58 [ТС] | |||
|
0
|
|||
|
Модератор
3136 / 2283 / 469
Регистрация: 26.03.2015
Сообщений: 8,886
|
|||
| 21.10.2015, 17:13 | |||
|
Добавлено через 1 минуту
0
|
|||
|
|
||
| 21.10.2015, 18:45 | ||
|
Не по теме:
А так - можно и самому летать. По собственной траектории. Перед полетом стая долго кружит вокруг лидера - собирается. И только потом - летит. Понаблюдайте. Там - миллиарды лет эволюции.
0
|
||
| 22.10.2015, 08:20 [ТС] | ||||
|
0
|
||||
|
Модератор
3136 / 2283 / 469
Регистрация: 26.03.2015
Сообщений: 8,886
|
||
| 22.10.2015, 09:40 | ||
|
Лидер летит туда, куда хочет. Те, кто его видит, летят параллельным курсом (тот же вектор скорости)... с небольшими поправками для избежания столкновений. Те, кто его не видит, летят со скоростью тех, кто находится ближе к лидеру (усредняем вектор)... с небольшими поправками для избежания столкновений.
0
|
||
| 22.10.2015, 10:23 [ТС] | ||
|
0
|
||
|
Модератор
3136 / 2283 / 469
Регистрация: 26.03.2015
Сообщений: 8,886
|
|
| 22.10.2015, 10:42 | |
|
На картинке стая уже сформирована....
Тогда какое у нас начальное состояние, если стаю надо формировать?
0
|
|
| 22.10.2015, 11:49 [ТС] | ||
|
0
|
||
|
Модератор
3136 / 2283 / 469
Регистрация: 26.03.2015
Сообщений: 8,886
|
|
| 22.10.2015, 14:41 | |
|
Тогда нужно ещё знать, какой формы стаю/рой (по каким правилам) мы хотим сформировать.
Примеры понятных мне конфигураций: пчелиный рой, хвост кометы, птичий клин. Про конфигурацию на картинке у меня нет идей, по каким правилам она сформирована. Но, конечно, можно подогнать при желании. Но неужели нужно, чтобы птицы делились на два "рукава"?
0
|
|
|
|
|||
| 23.10.2015, 00:05 | |||
|
Гуси-лебеди - туда же. Тогда кроме лидера - "полкана", должны быть еще и ротные. Пример- структура ВС. Она не случайна, а обусловлена возможностями коммуникации. Птички же у вас не телепаты. Их коммуникация ограничена. Значит, и управление может быть эффективным только в ограниченной группе.
0
|
|||
|
Модератор
3136 / 2283 / 469
Регистрация: 26.03.2015
Сообщений: 8,886
|
||
| 23.10.2015, 01:15 | ||
|
0
|
||
| 23.10.2015, 09:12 [ТС] | |||
|
По книжке: у каждой птички есть "зона видимости" ограниченная углом по направлению текущей скорости. Т.е. каждый равняется на "летящих впереди меня". Собственно это и есть сила сбивающая в стаю. Ну само собой наезжать на соседей нельзя, есть еще сила отталкивания - мощная но с малой зоной действия. Так, но что делать если впереди никого нет? Думаю тут один выход - лететь на лидера, причем с бОльшей скоростью чем он (иначе его не догнать). Тогда рано или поздно передние найдутся. Нужно построить плавный переход между этими 2 поведениями. И еще тут пробой: что делать если направление на лидера перепендикулярно текущей скорости (или образует с ним достаточно большой угол)? Какое-то "движение поперек" выходит...
0
|
|||
|
Модератор
3136 / 2283 / 469
Регистрация: 26.03.2015
Сообщений: 8,886
|
|||
| 23.10.2015, 09:40 | |||
|
На каждую птицу действует поле других птиц с неким коэффициентом. Например, коэффициент может быть больше для тех птиц, которые начали движение раньше неё. Тут, видимо, потребуется поэкспериментировать.
0
|
|||
| 23.10.2015, 09:58 [ТС] | ||
Ну до мульти-лидеров еще далекоВсе думаю что делать если летят "в строю с лидером". Может так: гасить силу "лечу на лидера" по косинусу угла (скорость - напр-е на лидера). Тогда птички или опередят лидера или отстанут - в любом случае косинус вырастет. Вообще ситуация когда лидер "завис" возможна
0
|
||
|
Модератор
3136 / 2283 / 469
Регистрация: 26.03.2015
Сообщений: 8,886
|
|
| 23.10.2015, 12:21 | |
|
Сила притяжения к лидеру гасится силой отталкивания от других птиц (включая лидера).
Зависимость силы притяжения от расстояния выглядит так: - при каком-то значении = ноль - при меньших значениях быстро растёт в минус (отталкивание) = прямая с большим углом наклона - при больших значениях растёт в плюс (притяжение) = прямая с небольшим углом наклона (выше я назвал такую зависимость "ломаной линией с одной вершиной")
0
|
|
| 23.10.2015, 12:21 | |
|
Помогаю со студенческими работами здесь
20
Дана строка S. Создать новую строку, состоящую из символов S, у кото- рой к каждому пробелу добавлено два пробела
В матрице макс.элемент заменить средним арифм. элементов строки, в к-рой находится макс.элемент Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
|
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений.
9TO2GP2bpX4
a42b81fb172ffc12ca589c7898261ccb/
https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/
Слева синяя линия -. . .
|
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. .
Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
|
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-text-sdl3-c. zip
finish-text-sdl3-cpp. zip
|
|
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
|
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo
Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло.
Но на выплатах по больничным это. . .
|
Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере нетипового документа выдачи шин для спецтехники с табличной частью, разработанного в конфигурации КА2. Данные берутся из. . .
|
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y
Z4Tv2zpXVVo
https:/ / github. com/ shumilovas/ med2. git
|