Applet je určený pre prácu a zobrazovanie 2D aj 3D L-systémov. Podporuje ako základné typy L-systémov, tak aj parametrické, stochastické a kontextové L-systémy. Taktiež zobrazuje aj vygenerovaný reťazec.
V ľavej časti okna appletu sa nachádza textové pole popisujúce daný L-systém, ktorý je možné editovať, a textové pole zobrazujúce vygenerovaný reťazec. Reťazec sa zobrazuje iba do dĺžky 10 000 znakov, ak je reťazec dlhší, tak zvyšné znaky sa nezobrazujú. V pravej časti okna sa nachádza obrázok s L-systémom a nad ním sú umiestnené základné prvky pre ovládanie appletu.
Ovládanie
Applet sa ovláda predovšetkým myšou. V ľavej hornej časti okna sa nachádzajú pod sebou dve rozbaľovacie ponuky pre výber L-systému. Prvá ponuka slúži pre výber kategórie (typu) a druhá pre výber konkrétneho L-systému z danej kategórie. Výber je možné realizovať aj otáčaním kolieska myši nad danou rozbaľovacou ponukou.
Ovládanie pohľadu kamery pomocou myši
Je možné realizovať tri akcie pre zmenu pohľadu kamery. Kliknutím a následným držaním ľavého tlačidla myši do okna s obrázkom je možné rotovať L-systém okolo stredu. Kliknutím a následným držaním pravého tlačidla myši sa realizuje približovanie a odďaľovanie, a v prípade stlačenia oboch tlačidiel naraz je možné posúvať L-systém ľubovoľným smerom. Treba však poznamenať, že čím je scéna zložitejšia (má väčší počet polygónov) tým viac je ovládanie pohľadu kamery pomalšie.
Na hlavnom panely appletu môžeme nájsť tieto zaškrtávacie políčka:
Editovať L-systém – ak je políčko zaškrtnuté, tak sa zobrazuje textové pole s L-systémom, ktorý je možné editovať, v opačnom prípade sa maximalizuje okno s obrázkom L-systému na celú šírku appletu
Zobrazovať homomorfizmus – nastavuje či sa má zobrazovať vygenerovaný reťazec s homorfizmom
Zobrazovať reťazec – nastavuje či sa má zobrazovať vygenerovaný reťazec bez homomorfizmu
Rotovať – zapína/vypína rotáciu L-systému
Antialiasing – zapína/vypína vyhladzovanie hrán (zlepšuje to celkovú kvalitu obrázku, ale značne spomaľuje vykresľovanie)
Valce – ak je políčko označené, tak sa namiesto čiar vykresľujú valce
Homomorfizmus – určuje či sa má používať homomorfizmus pri generovaní reťazca
Applet obsahuje tieto tlačidlá:
Generuj – načíta L-systém, vygeneruje reťazec s iteráciou, ktorá je nastavená v textovom poli „Iterácia“ a zobrazí L-systém
+1 – vykoná jeden derivačný krok dopredu (aktuálna iterácia + 1) a zobrazí L-systém
-1 – vykoná jeden derivačný krok späť (aktuálna iterácia - 1) a zobrazí L-systém
0 – vykoná návrat na nultý derivačný krok (iterácia = 0) a zobrazí L-systém
Nastavenia – zobrazí dialógové okno s grafickými nastaveniami, kde je možné špecifikovať ďalšie detaily týkajúce sa zobrazovania
Okno z nastaveniami obsahuje položky:
Používať farbu pozadia – ak je označené, tak sa používa nastavená farba pozadia (farbu je možné zvoliť príslušným tlačidlom nachádzajúcim sa vedľa tejto položky), inak sa používa predvolená farba pre každý L-systém
Kresliť zem – ak je označené, tak sa kreslí pod L-systémom plocha hnedej farby (zem), ale iba v prípade tých L-systémov, ktoré majú vykresľovanie zeme predvolené
Zobrazovať tiene – ak je označené, tak sa zobrazujú tiene
Používať predvolenú iteráciu – ak je označené, tak pri výbere nového L-systému sa vždy nastaví iterácia na predvolenú hodnotu, ktorá zodpovedá danému L-systému, inak sa iterácia nastaví vždy na nulu
Používať predvolené nastavenie valcov – ak je označené, tak sa pre každý L-systém používa predvolené nastavenie valcov
Urýchľovať rotácie myšou – ak je nastavené, tak sa pri rotáciách L-systému zjednodušuje vykresľovanie, čím sa rotácie urýchľujú
Jednotlivé riadky súboru sa musia začínať jedným z kľúčových slov axiom, angle, define, ignore, homomorphism (homo) alebo znakom #. Ak sa riadok začína inak, bude ignorovaný.
Za axiom nasleduje axióm daného L-systému.
Za angle nasleduje implicitný uhol pootočenia korytnačky v stupňoch
Za define nasleduje definícia konštanty.
Za ignore nasledujú znaky, ktoré majú byť ignorované pri testovaní kontextu
Za homomorphism alebo homo v ďalších riadkoch nasledujú pravidlá homomorfizmu, ktorých syntax je rovnaká ako u pravidiel L-systému
Text nasledujúci po '//*' až do konca riadku je považovaný za komentár, tak isto aj blok textu uzavretý medzi znakmi '/*' a '*/' je považovaný za komentár.
Výrazy
Výrazy sa používajú v podmienkovej časti, časti určujúcej pravdepodobnosť použitia stochastického pravidla a v parametroch symbolov na pravej strane pravidla. Výrazy môžu obsahovať čísla, konštanty a formálne parametre skombinované štandardným spôsobom pomocou zátvoriek, matematických operátorov a funkcií.
Operátory zoradené podľa priority od najvyššej k najnižšej:
RND(x)
vracia náhodné číslo z intervalu <0,x)
ABS(x)
vracia absolútnu hodnotu z x
SIN(x)
vracia sin(x)
COS(x)
vracia cos(x)
TAN(x)
vracia tan(x)
COTG(x)
vracia cotan(x)
EXP(x)
vracia e umocnené na x
FLOOR(x)
vracia najväčšie celé číslo menšie alebo rovné x
ROUND(x)
zaokrúhli x
CEIL(x)
vracia najnižšie celé číslo väčšie alebo rovné x
SQRT(x)
vracia druhú odmocninu z x
LN(x)
vracia prirodzený logaritmus x
LOG(x)
vracia desiatkový logaritmus x
ASIN(X)
vracia arcsin(x)
ACOS(X)
vracia arccos(x)
ATAN(X)
vracia arctan(x)
^
operátor umocňovania
*, /, %
operátory násobenia, delenia a zvyšku po delení
+, -
operátory sčítania a odčítania
==, !=, <,>, >=, <=
relačné operátory (operátory porovnania)
!
unárny operátor logickej negácie
&&
operátor logického súčinu
||
operátor logického súčtu
Význam skratiek uvádzaných pri jednotlivých L-systémoch:
Skratka
Literatúra
BOP
Prusinkiewicz P., Lindenmayer A.: Algorithmic Beauty of Plants. Springer Verlag, New York, 1990.
LNiB
CSIRO
Prusinkiewicz P., Hammel M., Hanan J., Mich R.: L-systems: From the Theory to
Visual Models of Plants. Proceedings of the 2nd CSIRO Symposium on Computational
Challanges in Life Sciences. CSIRO Publishing 1996.