Prírodou inšpirované algoritmyštudijné materiály pre projekt mobilnej triedy umelej inteligencie |
||||||||
Modelovanie pohybu kŕdľaMožno ste niekedy pozorovali kŕdeľ vtákov, ako voľne lieta po oblohe, trocha krúži, klesne, pristane, a potom znova vzlietne. Skladá sa z jednotlivých vtákov a predsa celá aktivita vyzerá ako niečo jednoliate, ako tekutina, niečo spojité. Niektorí jedinci sa od kŕdľa oddelia, aby sa neskôr k nemu mohli pripojiť. Vyzerá to akoby kŕdeľ mal jednu myseľ, ktorá riadi, synchronizuje jeho pohyby. Napríklad, ak letí kŕdeľ vtákov a má v ceste prekážku, začne ju obtekať. Pritom nikto neurčuje ako sa má kŕdeľ pohybovať, ako sa má rozdeliť, ak má v ceste prekážku, kŕdeľ nikdy nie je preplnený! V 80-tych rokoch s rozvojom počítačovej animácie vznikla požiadavka vytvoriť taký pohyb objektov, ktorý by bol prirodzený. V (Reynolds, 1987) autor vo svojej práci spísal už existujúce a navrhol nové metódy ako preniesť prirodzený pohyb húfu do počítača. Pohybujúcej sa množine objektov, ktoré navzájom interagujú, a ktoré majú vlastné reakcie resp. spôsoby správania sa (behavior), dal meno boid (skratka od slova "birdoid", tj. útvar vytvorený z vtákov, v ďalšom sa boid používa len ako pomenovanie konkrétneho jedinca a nie celého kŕdľa). Konkrétne aplikácie boidov nájdeme napr. vo filmovej tvorbe (Lion King, Batman sa vracia, Vtáci, Jurský park, Cliffhanger (ukážka vo formáte .AVI)(ukážka vo formáte .MPG). Jedným zo starších prístupov bol ten, že každý objekt mal dopredu definovanú cestu po ktorej sa mal pohybovať, tzv. skript. Vhodným definovaním cesty sa dala dosiahnuť celkom pôsobivá animácia, ale i najmenšia zmena dráhy, po ktorej sa objekt pohyboval bola veľmi obtiažna a časovo náročná, pretože to vyžadovalo zmenu hodnôt stoviek bodov, ktoré cestu popisovali (napr. zmena rýchlosti pohybu znamená prepočet všetkých polôh objektov pre každé políčko filmu). Tiež nebolo zaručené, že nová dráha bude vyhovovať režisérovi, ktorý týmto pohybom chcel niečo vyjadriť. Navyše dráha nebola popísaná jednoznačne a mohli nastať chyby pri konečnej animácii (splynú dva objekty a pod.). Nový prístup Reynoldsa spočíval v tom, že o objektoch (boidoch, vtákoch, rybách ...) uvažoval ako o jedincoch, ktorí sa riadia nasledujúcimi pravidlami (v poradí od najvyššej priority k najnižšej):
Výsledný pohyb vznikne spojením správania sa jedincov, pričom uvažujeme vnímanie okolia a dodržanie fyzikálnych zákonov. V nasledujúcich podkapitolách je v skratke priblížený vývin animačných techník používaných v kinematografii a následné radostné objavenie boidov. |
||||||||
Kontakt: Marek Bundzel |