Popis appletu 3D_Lsystems_java

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:

Applet obsahuje tieto tlačidlá:

Okno z nastaveniami obsahuje položky:

Príkazy Ctrl-c a Ctrl-v nefungujú v java applete, fungujú však v java applikácii. Java applikácia je aj pri zdrojových textoch.

Popis definície L-systému

Jednotlivé riadky súboru sa musia začínať jedným z kľúčových slov axiom, angle, define, default, ignore, homomorphism (homo) alebo znakom #. Ak sa riadok začína inak, bude ignorovaný.

Symboly interpretované korytnačkou

Komentáre

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.

zdrojové texty a class súbory