SimApp
Používateľské rozhranie
Graf možno otáčať, zmenšovať resp. zväčšovať a posúvať v 3D priestore. Posun v x-, resp. y-ovej osi sa ovláda posunom kurzora počas stlačeného ľavého tlačítka myši. Rotácia okolo zvislej osi sa ovláda pomocou vodorovného pohybu myšou počas podržaného pravého tlačítka. Analogicky rotácia okolo vodorovnej osi sa ovláda pomocou zvislého pohybu pričom pravé tlačítko musí byť stlačené. Rotácia okolo vektora smerujúceho von, resp do hĺbky obrazovky – teda rotácia v rovine obrazovky sa ovláda pomocou stlačeného stredného tlačítka myši a v zvislého pohybu. Otáčanie kolečka myší spôsobuje približovanie resp. vzďaľovanie obrazu. Každá poloha sa dá zadať aj pomocou numerických hodnôt polohy v polárnej sústave, priblíženie pomocou rozsahu jednotlivých osí (môže byť v každom smere rozdielne) a posun pomocou hodnôt posunov v smeroch x a y. Tieto hodnoty možno zapísať resp. aktuálne vyčítať v nastaveniach.
V dolnej časti sa nachádzajú nasledovné tlačítka:
Full Redraw - úplné prekreslenie trajektórií - (počas pohybu sa prekresľuje len zjednodušená výpočtovo menej náročná simulácia)
Reset View - nastaví pôvodnú polohu grafu, ktorá je nastavená ako východzia
Settings - otvorí menu s nastaveniami simulácie
Graph - prepína vykresľovanie grafu na obrazovke
Axes - prepína vykresľovanie súradnicových osí na obrazovke
Vectors - prepína vykresľovanie vektorových polí na obrazovke
Arrows - prepína vykresľovanie šípok udávajúcich smer pohybu po trajektórii
Applet obsahuje niekoľko prednastavených modelov ktoré názorne ukazujú teoreticky rozoberané príklady. Tieto sa dajú vybrať pomocou voľby Presets.
Každé prednastavenie má 2 časti – Model a Render. Model obsahuje matematický model simulácie a Render obsahuje nastavenia pomocou ktorých sa simulácia vykreslí.
Model
Do každého políčka možno zapisovať ľubovoľný text, avšak správny model musí spĺňať určité kritériá. V každom poličku, ktoré umožňuje zadávanie viacej hodnôt sa tieto oddeľujú bodkočiarkou, pokiaľ nie je výslovne uvedené inak. Na konci zoznamu bodkočiarka je povolená ale nie je nutná.
Variables - zoznam premenných modelu, oddelených bodkočiarkou, pričom názvy môžu byť jedno- aj viacpísmenkové. Zakázané sú názvy, ktoré sa vyskytujú inde, napr. - dt, názov konštanty
Constants - zoznam konštánt modelu, oddelených bodkočiarkou, pričom názvy môžu byť jedno- aj viacpísmenkové. Zabudované konštanty sú e (2.718281828) a pi (3.141592654). Zakázané sú názvy, ktoré sa vyskytujú inde, napr. - dt, názov premennej.
dx1/dt ... dx5/dt - diferenciálne rovnice opisujúce simulovaný model. Zapisujú sa len pravé strany, pre každú premennú musí byť definovaná rovnica. V rovniciach môžu vystupovať premenné a konštanty modelu, aritmetické operátory +,-,/,* a nasledovné vstavané funkcie:
Funkcia | Popis |
acos(x) | arkuskosínus (návratová hodnota v radiánoch) |
asin(x) | arkussínus (návratová hodnota v radiánoch) |
atan(x) | arkustangens (návratová hodnota v radiánoch) |
ceil(x) | zakokrúhlenie na celé číslo nahor |
cos(x) | kosínus (argument v radiánoch) |
cosh(x) | hyperbolický kosínus (argument v radiánoch) |
exp(x) | exponenciálna funkcia e^x |
log(x) | prirodzený logaritmus log_e |
log10(x) | desiatkový logaritmus log_10 |
min(x,y) | minimum z hodnôt x a y |
max(x,y) | maximum z hodnôt x a y |
pow(x,y) | mocnina x^y |
sin(x) | sínus (argument v radiánoch) |
sinh(x) | hyperbolický sínus (argument v radiánoch) |
sqrt(x) | odmocnina |
tan(x) | tangens (argument v radiánoch) |
tanh(x) | hyperbolický tangens (argument v radiánoch) |
fabs(x) | absolútna hodnota čísla x |
floor(x) | celá časť reálneho čísla x |
fmod(x,y) | zvyšok po celočíselnom delení (aj pre reálne argumenty rozdiel max. celočíselného násobku čísla y, ktorý je menší ako číslo x a samotného čísla x napr. fmod(2.9, 0.9)=0.2) |
hypot(x,y) | vráti euklidovskú dĺžku vektora |
ldexp(x,y) | vráti mocninu x*2^y |
Render
Táto časť obsahuje parametre vykreslenia trajektórií simulácie. Na vykresľovanie sa používa pravotočivá súradnicová sústava ako na obr. (23)
[X,Y,Z] Axis - udáva, ktorá premenná bude vykreslená na ktorú os
Range [X,Y,Z] - rozsah vykresľovanej osi
X-Y Rot - rotácia v rovine X-Y voči osi x v pravotočivom smere
Y-Z Rot - rotácia v rovine X-Y voči osi y v pravotočivom smere
Z-X Rot - rotácia v rovine X-Y voči osi z v pravotočivom smere
Start points - Počiatočné podmienky zapísané ako vektory rovnakej dimenzie ako model oddelené bodkočiarkou, vektory uzavreté v oblých zátvorkách a prvky oddelené čiarkou – pr. (2.1, 3.2);(0, 2.1);
Vector Field – Vektorové polia v ktoré zobrazia smernicu modelu v danom bode. Špecifikované sú ako n-tice oddelené bodkočiarkou, prvky n-tice oddelené dvojbodkou, pričom prvé 3 prvky sú vektory rovnakej dimenzie ako model, ďalšie dva sú skaláry
(počiatočný_bod : vektor_A : vektor_B : nasobnost_A : nasobnost_B)
riadok pole sa vytvára tak, že k počiatočnému bodu sa pripočítava vektor_A 0 až nasobnost_A -krát, potom sa pridá vektor_B a vytvorí sa ma ďalší riadok, proces sa opakuje nasobnost_B-krát, takto dostaneme maticu
Príklad:
((0,0):(0.5,0):(0,0.5):10:10);
Štvorcová mriežka s krokom 0.5 v X aj Y-ovej osi, na rozsahu 0-5.
Arrows: – Poradie iterácií, v ktorých sa má smernica zobraziť pomocou šípky
Begin/End color Počiatočná/Koncová farba trajektórie
Iterations – počet iterácií v jednej trajektórii
Step – krok pri diskretizovaní modelu, pri jednej iterácii
Offset X/Y – posun v x, resp Y-ovej osi