Prírodou inšpirované algoritmyštudijné materiály pre projekt mobilnej triedy umelej inteligencie |
||||||||||||
|
Mechanizmus šírenia ohňaŠírenie ohňa je realizované pomocou rastu daného L-systému. Konvenčne, symboly L-systémov sú reprezentovaná korytnačou reprezentáciou. Tu symboly určujú, ktoré bunky sa navštívia najbližšie. Príklad pravidla
S tým ako sa L-systém šíri cez prostredie, získava z neho informácie, spracováva ich a zapisuje späť. Toto spracovanie sa vykonáva cez objekt zvaný processor. Processor je užívateľský definovaná trieda, ktorá je schopná sa vysporiadať s každým symbolom, s ktorým sa v L-systéme stretne. Keďže je processor zodpovedný za manipuláciu s rôznymi symbolmi, tak rôzne implementácie processora budú interpretovať L-systém rôznymi spôsobmi. Model ohňa Tento model je založený na intuícií. Príklad: Teplota v danom bode je nastavené ako priemer teplôt jej susedných buniek. Ak teplota daného bodu presiahne teplotu vznietenia paliva v danej bunke, tak sa oheň vznieti. Množstvo paliva sa potom znižuje o konštantné množstvo v kockách, ktoré horia. Vizualizácia simulácie Renderovanie prostredia bolo realizované pomocou Java 3D API. Renderovací algoritmus prechádza každou bunkou prostredia a zisťuje stav jej premenných. Na základe týchto podmienok sa použije vhodná geometria. Bol použitý nasledovný algoritmus:
Renderovanie prostredia sa vykonáva oddelene od samotného procesu simulácie ohňa. Kým sa renderovanie spustí, musí L-systém dokončiť krok vývoja a až potom zavolať renderovací systém na renderovanie prostredia, aby sa zobrazili vykonané zmeny. |
|||||||||||
Kontakt: Marek Bundzel |