Lineární ornamenty

PhDr. Mgr. Jeroným Klimeš, Ph.D. 2017-04-22

Když sedím na přednáškách, tak mám sklon si kreslit různé ornamenty a čáranice. Kreslit neumím, tak jsem si řekl, že by nebylo od věci si nějakou naprogramovat. Jedna z mých oblíbených je tato: . Od doby, kdy vymysleli normu HTML5, je možné podobné animace programovat jednoduše v Javascriptu a nemusíte k tomu mít žádný složitý program. Tak jsem se chvíli hádal s počítačem, až vznikl tento program.

Zajímavým postřehem je, že změny 2D křivky vnímá oko jako pohyb v prostoru (plameny parametr R nebo H.), i když je to celé programované jako dvourozměrný obrázek. Hloubka je tedy optická iluze, kterou vymýšlí hlava. Zčásti tento jev vysvětloval Gestaltismus, ale každopádně nám to říká, že naše hlava interpretuje goniometrické souvislosti mezi hranami pozorovaných předmětů. Změnu některých parametrů vnímáme jako rotaci v prostoru. Někteří lidé dokáží vůlí prohodit, aby se jim obrázek točil nahoru nebo dolu. Mně osobně se to nedaří, mně se točí jen dolu, nebo jen nahoru podle toho, jak se ten den vyspím.

Co se týká ovládání. Tento text si můžete pomocí formuláře skrýt, aby Vás nerušil. Graf můžete ovládat buď klávesnicí nebo formulářem. Písmena na klávesnici QWERT zvyšují či zmenšují parametr o jistý krok. Například malé q zvětšuje paramter Q a velké Q jej snižuje, mutatis mutantur. Další výhodou je, že si stránku můžete uložit na svůj počítač a script si dle libosti upravit podle Vašich preferencí, takže si sami v programovém kódu můžete nastavit jinou barvu, jiný rozměr grafu, sílu čáry ap.

Vysvětlení rovnic

Goniometrickým funkcím (sinus kosinus) se též říká harmonické oscilátory. Nejznámější harmonický oscilátor jsou obyčejné hodiny. Když si na konec velké rafiky přiděláte červenou žárovku, můžete pozorovat její pohyb z různých stran. Když se na hodiny podíváte zepředu vidíte, že rafika běhá dokola a žárovka opisuje kolečko. Když se ale na hodiny kouknete ze shora, rafika bude kreslit čáru na půdorysu hodin - ve 12:00 začne uprostřed vletí doprava, pak do středu, doleva a pak zpět do středu. To jste viděli sinus x čili souřadnici x. Když na tytéž hodiny podíváte z boku, tak rafie začne kreslit na bokorysu nahoře, pak sjede dolu a zase nahoru. To jste viděli kosinus y, čili to, co se děje na ose y. Z těchto funkcí se skládá i tento graf, takže si ho můžete představit jako rafie o různé délce (W, A, F), které se různě rychle otáčejí (E, S, G) a na počátku mají různě pootočené ciferníky (R,D,H). To celé se pak posouvá zleva doprava rychlostí Q a předchozí a následující vývoj si můžete prohlédnout parametrem T. Základním parametrem je čas - time, proto proměnná malé t, který narůstá po malých krocích, tak aby čára se jevila jako křivka, i když je vlastně složena z krátkých úseček.

Ukažme si to celé na několika příkladech.
Je-li W=T=A=F=0, čili když jsou všechny oscilátory (hodiny) vypnuty, červený bod udělá čáru zleva doprava po x-ové ose (parametr Q). To je jako kdybychom pozorovali červenou lampu postavenou na valníku a ten jede zleva doprava.
Když zapneme oscilátor A, dostaneme funkci sinus čili pohled ze shora na hodiny, které jedou na valníku zleva doprava.
Kdybychom na hodiny přidali ještě jednu malou rafiku F a ta by se točila 24x pomaleji než velká rafika A (G/S=24), pak dostaneme oscilace během dne (24 za den).
Nyní na valník přidáme ještě jeden oscilátor W, který bude cloumat hodinami dopředu a dozadu ve směru jízdy. Nastavíme ho tak, aby to stihl jednou za hodinu tam a zpět. Pak to vypadá, že jsem hodiny na valníku položily a tak nám rafika opisuje smyčky. Pokud mačkáte R tak otáčíte ciferníkem hodin se vám hodiny otáčí. 0.5 je 90° (pi/2), takže vlastně jsme z kosinu udělali sinus.
Nyní na valník posadíme šíleného Otu, který nám tyto úhledně nastavené parametry bláznivě rozvrtá (klávesa F5 ho znova utrhne ze řetězu). Ale to nám nevadí, protože už tomu všemu dokonale rozumíme. :-)

http://preferencnikrivky.klimes.us

x = Q * t + W * (cos(E * t + R * PI) + T * (sin(Z * t + U * PI) + I;
Odkaz Nahodilé parametry Skrýt komentář Animace
y = A * (sin(S * t + D * PI) + F * (cos(G * t + H * PI);

Hezké kombinace:

Secese 1 2 3 4 5 6 7 8
Písmena a l/e H i m, n n ni u nunu P, R, b R Z PI
kolečka stany mašličky zip 2 3 vajicka vřeteno 2 3 řetízek 2 3 4 5 6 7 8 9 10 11 12 Houby 2 křivule plameny EKG krajka 2 3 4 5 čočka cimbuří 2 3 Cařihrad pila amfory zrnka kávy srdce žihadla
Hledaný obrazec: z1 p1 p2 p3 p4 p5 p6 p7 p8 D1 D2 D3 Nejbližší verze 2 3 První funkční verze variace 2 klobouky ostrými tahy Definitivní verze, ale ta mi dala zabrat!
Tajné písmo 1 2 3
Tančící, když se mačká R 1 2
Tančící, když se mačká U 1
Ukázka rafie

vypis klavesa
parametry