Prírodou inšpirované algoritmy
študijné materiály pre projekt mobilnej triedy umelej inteligencie
|
|
Applet
Návod k appletu
Módy appletu:
-
1 Level - je základným módom. Umožňuje užívateľovi manuálne zadávať body na plochu myšou, prípadne pridať zadaný počet náhodne vygenerovaných bodov na plochu. Vhodný pre generovanie náhodných bodov pre animáciu. Animácia je tiež súčasťou tohto módu. Body generujeme pomocou tlačidla Generate a ich počet nastavíme pomocou najspodnejšieho slidra na obrazovke. Po zadaní nami požadovaného množstva bodov môžeme spustiť animáciu tlačidlom Animate. Slider určený na generovanie bodov sa zmení na slider, ktorým môžeme ovládať rýchlosť animácie, prípadne prejsť do krokovacieho módu nastavením rýchlosti na 0. Počas behu animácie sa tlačidlo Animate zmení na Stop, pomocou ktorého môžeme animáciu zastaviť a pokračovať ďalej v pridávaní bodov. Tlačidlo Reset nám zastaví animáciu ( ak beží ) a vymaže všetky body z plochy.
-
5 Levels / Manual - je manuálnym módom na vytváranie rekurzívnych voronoiovych obrazcov do piatej úrovne. Body každej úrovne je možné zadávať ručne myšou, alebo vygenerovať určené množstvo bodov do danej úrovne rekurzie náhodne pomocou tlačidla Generate. Tlačidlo Next (x) pridá do aktuálnej úrovne nami zadané body a presunie nás do ďalšej ( x - tej ) úrovne.
-
5 Levels / Auto - je automatickým módom na vytváranie rekurzívnych voronoiovych obrazcov do x - tej úrovne bez možnosti parametrov ( na ich editáciu slúži manuálny mód ). Počet úrovní si volíme pomocou ľavého dolného slidra, ktorý má rozsah 1 až 5 úrovní. Po stlačení tlačidla Generate sa vygeneruje náhodný voronoiov obrazec. Počet bodov v každej úrovni stúpa exponenciálne. Kým v prvej úrovni sa vygenerujú iba 4 ( toto nazývam hustotou ) body ( a k ním prislúchajúce voronoiove polygóny ), v druhej úrovni sa vygeneruje bodov
42 = 16 a tak ďalej. Na zmenu hustoty slúži pravý dolný slider.V tomto móde prichádzame o možnosť zobraziť body, podľa ktorých sa obrazce generovali. Checkbox Points sa zmení na Color, pomocou ktorého sa môžeme prepínať medzi jednofarebným a viacfarebným zobrazovaním.
Tlačidlo Reset vymaže z plochy všetky body a im prislúchajúce voronoiove obrazce.
Slider napravo nám slúži na približovanie, tzv. zooming. Po priblíženej oblasti sa môžeme pohybovať myšou spôsobom drag&drop pomocou ľavého tlačidla.
Checkboxy Points a Voronoi slúžia na ovládanie viditeľnosti prvkov na obrazovke. Checkbox Anti-alias slúži na vypnutie / zapnutie anti-aliasingu, kôli odľahčeniu výpočtovej náročnosti.
Popis Algoritmu
 |
Ako vstupný údaj nám slúžia body na ploche. Pre každý z týchto bodov je potrebné vytvoriť voronoiov polygón. Na obrázku sú body očíslované podľa toho, v akom poradí boli vložené na plochu ( a v akom poradí sa budú prehľadávať ).
|
 |
Podľa poradia priradíme voronoiov polygón ako prvému bodu číslo "0". Prehľadávame všetky ostatné body a vytvárame pol roviny tvorené osami ich spojníc a bodom, okolo ktorého voronoiov polygón vytvárame. Obrázok znázorňuje pol rovinu vytvorenú medzi bodmi "0" a "1".
|
 |
Obrázok znázorňuje pol rovinu vytvorenú medzi bodmi "0" a "2". Keďže sme prehľadali všetky body a vytvorili tým pádom všetky pol roviny, môžeme pristúpiť k tvorbe voronoioveho polygónu.
|
 |
Výsledný voronoiov polygón vytvoríme ako prienik všetkých nájdených pol rovín. Analogicky postupujeme aj pri ďalších bodoch.
|
|
|
Kontakt: Marek Bundzel |