← 🧬 Biology & Life

🐦 Boids

Agents: 300
FPS:

Drag — rotate · Scroll — zoom

🐦 3D Boids — Симуляція Зграї

Алгоритм Boids Крейга Рейнольдса показує, як три прості правила — розподіл, вирівнювання та злиття — породжують складну реалістичну поведінку зграї птахів, риб та комах.

🔬 Що демонструє

Три правила керують кожним агентом: уникай сусідів (розподіл), рухайся в середньому напрямку групи (вирівнювання), тримайся поруч із центром групи (злиття). З цих локальних взаємодій виникає складна поведінка всієї зграї.

🎮 Як використовувати

Перетягуй повзунки для налаштування сили кожного правила. Збільш злиття для щільних зграй, розподіл — для розосередженого руху. Зміни швидкість або напрямок вітру.

💡 Чи знав ти?

Алгоритм Boids опублікував Крейг Рейнольдс у 1987 році. У 1992-му він використовувся у фільмі «Бетмен повертається» для симуляції зграй кажанів — один із перших прикладів ШІ-масовки в кіно.

Про цю симуляцію

Ця симуляція запускає модель Boids Крейга Рейнольдса на до 600 автономних агентів у справжньому 3D-просторі, відрендереному за допомогою WebGL. Кожен конусоподібний агент керується лише трьома локальними правилами — розділенням, вирівнюванням і згуртованістю — застосованими до сусідів, знайдених у межах радіуса сприйняття. Жодної глобальної хореографії не існує; узгоджений рух зграї є суто емерджентним. Просторова хеш-сітка робить пошук сусідів ефективним, тож сотні боїдів плавно оновлюються щокадру всередині обмежувальної рамки з м'якими стінками.

🔬 Що це показує

Алгоритм зграї Рейнольдса 1987 року. Щокадру кожен боїд підсумовує три зважені сили керування — розділення (відштовхування від дуже близьких сусідів), вирівнювання (узгодження із середнім напрямком сусідів) та згуртованість (дрейф до середньої позиції сусідів) — після чого його швидкість стає v' = v + w_s·S + w_a·A + w_c·C, причому кожна сила обмежена, щоб рух лишався плавним.

🎮 Як користуватися

Повзунки задають Count (50–600 боїдів), Speed, ваги Separation, Alignment та Cohesion (по 0–3 кожна) і Perception radius (1–12). Увімкніть Predator, щоб випустити червоного хижака, від якого зграя тікає, з власним повзунком Pred. speed. Натисніть Rebuild, щоб скинути, перетягуйте для обертання камери та прокручуйте для масштабування.

💡 А чи знали ви?

Boids від Рейнольдса дебютував у кіно у фільмі «Бетмен повертається» (1992), анімуючи рої кажанів і навалу пінгвінів — одне з найперших застосувань автономних агентів-зграй на екрані.

Поширені запитання

Що таке модель Boids?

Boids — це алгоритм штучного життя, опублікований Крейгом Рейнольдсом 1987 року для відтворення зграй птахів, косяків риб і роїв комах. Кожен агент (об'єкт-птах, або боїд) дотримується трьох локальних правил керування без лідера й без централізованого плану, проте узгоджений груповий рух виникає сам собою. Це класична демонстрація того, як прості локальні взаємодії можуть породжувати складну глобальну поведінку.

Як насправді працюють три правила?

Для кожного боїда симуляція сканує найближчих агентів у межах радіуса сприйняття й обчислює три вектори керування: розділення відштовхує від сусідів, що підійшли занадто близько, вирівнювання підлаштовує його напрямок під середню швидкість сусідів, а згуртованість тягне його до їхньої середньої позиції. Вони зважуються повзунками, обмежуються максимальною силою й додаються до поточної швидкості щокадру.

Що змінюють повзунки Separation, Alignment та Cohesion?

Кожен повзунок задає вагу (від 0 до 3) одного з правил керування. Підвищення Cohesion дає щільніші, густіші зграї; підвищення Separation розосереджує агентів і запобігає скупченню; підвищення Alignment змушує групу рухатися в єдинішому напрямку. Саме балансування цих трьох дає природний, закручений рух зграї, а екстремальні значення можуть розбити зграю чи стиснути її.

Що робить Perception radius?

Радіус сприйняття (від 1 до 12 одиниць) задає, наскільки далеко кожен боїд може відчувати інших агентів. Малий радіус означає, що боїди реагують лише на найближчих сусідів, даючи розпорошеніші, фрагментованіші групи; великий радіус дозволяє кожному боїду реагувати на багатьох інших, породжуючи більші, синхронніші зграї. Симуляція також використовує цей радіус як розмір комірки своєї просторової хеш-сітки для швидкого пошуку сусідів.

Чи це точна модель реальної зграйної поведінки тварин?

Вона відображає головний принцип, підтверджений біологами — що зграйність виникає з локальних правил, а не з централізованого контролю — і лишається стандартною навчальною моделлю. Однак реальні шпаки відстежують приблизно фіксовану кількість найближчих сусідів (близько семи), а не все в межах фіксованого радіуса, і реальні тварини додають такі чинники, як обмеження зору та реакцію на хижака. Ця версія є вірним, ілюстративним наближенням, а не точною біологічною реконструкцією.