Barnsley fern - Kapradina Barnsleyova

PhDr. Mgr. Jeroným Klimeš, Ph.D. 2017-06-14

x=f#a*x + f#b*y + f#e           y=f#c*x + f#d*y + f#f

.
f1a: f1b: f1c: f1d: f1e: f1f: f1p:
f2a: f2b: f2c: f2d: f2e: f2f: f2p:
f3a: f3b: f3c: f3d: f3e: f3f: f3p:
f4a: f4b: f4c: f4d: f4e: f4f: f4p:
odskok:

0-15=barva;

101-104 odskoky fcí 1-4

kroku:
vypis

Metoda generovaní této kapradiny se nazývá systém iterovaných funkcí (Iterated Function System IFS).

Program generuje barevné body, k čemuž využívá následující rovnice či jinak řečeno funkce a jejich příslušné parametry. S pravděpodobností f#p (kde # je číslo od 1 do 4) vypočítá ze stávajících hodnot [x,y] nové hodnoty dosazením odpovídajících parametrů do rovnic (#=číslo funkce):
x=f#a*x + f#b*y + f#e;
y=f#c*x + f#d*y + f#f;
Je zjevné, že parametry e a f představují prosté posunutí bodu o vektor [f#e,f#f]. K tomu se připočítávají parametry f#a, f#c, které jsou tím silnější, čím jsou body více vzdáleny od prostřední svislé čáry. Mají tedy odpovědnost za zeslabování větví směrem od kmene. Analogicky parametry f#b f#d působí stále silněji, čím výše se nacházíme.

Jedna a ta samá funkce může běžet i několikrát po sobě. Ke sledování těchto opakovaných volání té samé funkce slouží parametr odskok, který vybarví různými barvami opakovaná volání dané funkce. Například je-li odskok=103, tak černě jsou vybarveny všechny ostatní funkce vyjma funkce 3. U odskok=102 je hezky vidět, jak jednotlivé opakovaná volání funkce 2 vytváření jednotlivá patra stromu.

Když běží nějaká ze čtyřech funkcí, přebírá předchozí hodnoty bodu [x,y], které po svém transformuje. Proto nás zajímá, která funkce předcházela té právě běžící. To si můžeme zvýraznit opět barvami pomocí parametrů odskoku (odskok=201, odskok=202, odskok=203, odskok=204). Například parametr 203 znamená, že barevné jsou pouze ty body, které vykresluje třetí funkce. Druhá barva (tzn. první po černé, viz seznam níže, výchozí modrá) znamená, že tento bod před tím modifikovala první funkce, ale teď bod vykreslila třetí funkce. Třetí barva (druhá po černé, zelená) znamená vykreslila třetí funkce, ale převzala hodnoty od druhé funkce atd. Tedy jak víme z předchozího odstavce - třetí funkce vykresluje levý dolní list, ale vzdálené lístky na tomto listě vznikly přetvořením bodů, které vytvořila druhá funkce. Jinými slovy, pokud bychom některou z těchto čtyřech funkcí vyrušili (například pomocí parametru pravděpodobnosti f#p), tak by zbývající funkce nebyly schopny vykreslit žádný list.

Více detailů viz zdrojový kód této stránky (CTRL-U), popř. stránka (CZ, EN, GE) Wikipedie - Barnsley fern/farn/kapradí ap.

Různé zajímavé kombinace a postřehy

Poměrem parametrů f2f a f2d se nastavuje velikost rozestupu mezi jednotlivými patry stromu. Ostatních parametrů si nyní nevšímejte.

Paramtery f2b a f2c nastavují náklon kapradiny doprava či doleva. Pokud se nastaví f3f=f4f, pak kapradina má protistojné listy.

Pokud jsou parametry f3d a f4d záporné, větve visí dolu asi jako u smrku.

Pravoúhlý strom

Symetrický strom

X-ka

Kříž

Kuriozní kola

Seznam barev

barvicky