Klávesové zkratky na tomto webu - základní
Přeskočit hlavičku portálu

Cesta do hlubin fraktálovy duše VII

9. 08. 2017 9:09:09
Fraktály patří k nejozdobnějším objektům celé matematiky. Jejich jemně vytepané obrysy se vyznačují nejen estetickou krásou, ale také nesmírnou komplexitou. Nepřekvapí nás tedy, že je nalezneme dobře ukryté v komplexní rovině.

Fraktály jsou živoucím dokladem, že komplexní čísla nejsou jen mechanickým rozšířením čísel reálných, ale že díky své dvojrozměrnosti přináší aspekty, které se na reálné přímce nasimulovat nedají. Striktně vzato k pochopení fraktálů nemusíte znát komplexní funkce - on se ten jejich výrobní postup dá obejít pomocí reálného zobrazení z roviny do roviny (což jsem v podstatě udělal v prvním díle tohoto cyklu). Nicméně když už jsem se v Matykání ponořil do základů komplexní analýzy, můžeme konečně pohlédnout pravdě do tváře: divé tvary fraktálů mají svůj základ v komplikované algebraické struktuře komplexních čísel. Stejně jako v reálném systému jsou jejich kostrou zlomky (když se podíváte třeba na Fordovy kružnice, tak v nich určitou příbuznost s fraktály naleznete). Jejich vzájemné vztahy jsou však podstatně bohatší a vytváří nekonečně komplikované útvary do jejichž hlubin se můžete - v rámci rozlišovacích schopností vašeho softvéru - nořit téměř bez omezení.

Dnes se nejprve podíváme na komplexní definici Mandelbrotovy množiny a potom vám ukážu několik ukázek pro funkce, které jsou trochu složitější než jednoduché mocniny z předcházejících dílů (většina obrázků Mandelbrotovy množiny na internetu je odvozena z kvadratické funkce).

Mandelbrotova množina (komplexně)

Kdykoliv vidíte obrázek Mandelbrotovy množiny, vidíte vlastně kousek komplexní roviny, jejíž body jsou obarveny podle chování jisté komplexní funkce F(z), která je každému bodu (a tedy pixelu) přiřazena.

To přiřazení je celkem jednoduché: nejprve si vezmeme libovolnou základní funkci f(z) - ta bude stejná pro všechny body budoucího obrázku - a pro každý komplexní bod s pak budeme zkoumat chování "posunuté" funkce F(z) = f(z)+s. Ta funkce F(z) už je samozřejmě jiná pro každý konkretní bod komplexní roviny. Pokud je tou základní funkcí kvadratická parabola f(z) = z², a tím "posunutím" třeba číslo s = 0,8+1,1i, pak jsme pixelu odpovídajícímu tomuto komplexnímu bodu přiřadili funkci F(z) = z²+0,8+1,1i.

Teď už se jenom musíme podívat, jak z chování té funkce F(z) vydundáme barvu příslušného pixelu.

+++++++++

Jak jsem naznačil v minulém Matykání, komplexní funkce F není nic jiného než skříňka s trpaslíkem, do které vhodíme vstupní komplexní číslo z a trpaslík nám z něj pak udělá nějaký komplexní výstup w = F(z). Fraktály jsou vytvořeny procesem, kterému se říká iterace funkce. Není to nic těžkého: do dané funkce (skříňky) vhodíme určité číslo a to, co nám trpaslík vyhodí na výstupu, vhodíme opět dovnitř a takhle to neustále opakujeme. Cokoliv z funkce na výstupu vypadne vhodíme okamžitě zpátky (vstupním otvorem).

To úplně první vhazované číslo si můžeme vybrat celkem libovolně (o tom více příště), ale typicky se za něj vybírá 0. Pokud tu posloupnost bodů, které postupně vhazujeme do trpaslíkovy skříňky chcete vidět explicitně, můžete si ji představit následující formulkou:

0, F(0), F(F(0)), F(F(F(0))), F(F(F(F(0)))), ....

(ten třetí bod není nic jiného než předchozí výstup znovuvhozený do funkce atd.)

Barvu daného pixelu teď odvodíme z chování této posloupnosti. Zhruba řečeno, pokud ta posloupnost odkráčí do nekonečna, pixel obarvíme barvou (z nějaké předem připravené tabulky barev), která odpovídá počtu kroků, které jsme k tomu potřebovali. Pokud ta posloupnost do nekonečna neodkráčí, to znamená, že se neustále "šmrdlá" poblíž počátku, pak daný pixel obarvíme černě.

A teď trochu přesněji. Protože počítač nezná pojem "odkráčet do nekonečna" a protože výraz "šmrdlat se poblíž počátku" nemá přesný matematický význam, vytyčíme si kolem počátku nějaký pevný a dostatečně velký kruh (obvykle stačí poloměr r=10, ale můžete zkusit i větší) a co bude vně kruhu, bude "v nekonečnu" a co bude uvnitř, bude "blízko počátku".

No a teď už je to barevné přiřazení jasné. Pokud naše posloupnost iterací vyběhne z kruhu během n-tého kroku, obarvíme pixel n-tou barvou z tabulky barev. Pokud z kruhu nikdy nevyběhne, pixel zůstane černý. V ilustracích níže používám tzv. barevné gradienty (aby se barvičky měnily hezky spojitě) - konkretně "TemperatureMap" ze softvéru Mathematica.

V úvodu této fraktální série jsem v souladu s konvencemi vzal za tu základní funkci f(z) = z², pak jsem ji rozšířil i na vyšší mocniny a dnes se podíváme, jak by Mandelbrotova množina vypadala pro komplikovanější komplexní funkce.

V ilustracích níže vám nejprve představím danou "základní" funkci, pak vám ukážu příslušnou Mandelbrotovu množinu vcelku a nakonec z ní udělám několik výřezů, aby bylo vidět, že jak zvětšujeme rozlišení, objevují se nové a nové detaily, často daleko krásnější než to, co bylo vidět ze začátku. Je to tak trochu jako když strčíte nohu mouchy pod mikroskop. Z toho co vypadalo jako nudná končetina je najednou hustý prales chloupků a výstupků. Fraktály jsou to samé. Abyste skutečně odhalili jejich krásu, musíte si udělat výřez a potom výřezy z výřezu a to tak dlouho, dokud vám to váš softvér umožní. Čím hlouběji proniknete, tím větší je šance, že narazíte na něco, co zatím žádné jiné oko nespatřilo.

+++++++++

f(z) = exp(z)

Ten první obrázek vypadá pro znalce Mandelbrotovy množiny možná trochu nezvykle (přece jen exponenciela je podstatně komplikovanější než kvadratická funkce), ale jen co se začneme zaměřovat na detaily, nalezneme velmi podobné konfigurace jako u "kvadratické" Mandelbrotovy množiny. To rybí oko v úvodním obrázku je dáno volbou poloměru r a strmostí barevného gradientu a vhodným přenastavením se dá do jisté míry potlačit.

f(z) = arcsin(z)

Další funkcí na holení bude inverzní komplexní sínus (upravený tak, aby jeho Taylorův polynom začínal kvadratickým členem)

f(z) = cosh(z)

A teď něco z hyperbolického soudku: kosínus.

Ten vypadá už na první pohled trochu jinak, takže jsem postupně udělal několik výřezů z různých částí toho úvodního obrázku. U komplikovanějších funkcí ale musíte počítat s tím, že jejich výpočet není tak přesný jako u kvadratické funkce (obzvlášť u výřezů, kde se parametr s mění v řádu 0.00001), takže ty obrázky nejsou tak ostré jako u klasické Mandelbrotovy množiny.

a teď se mrkneme trochu jinam

a na závěr hyperbolického kosínu ještě nahlédneme semhle:

f(z) = gamma(z)

Poté, co se fraktály úspěšně popasovaly se síny a kosíny, vzal jsem si na paškál jednu z nejkomplikovanějších funkcí - tzv. gamma funkci. V jižní části příslušného fraktálu jsem nalezl kopie kvadratické Mandelbrotovy množiny, ovšem obklopené rojem asteroidů, které nezmizely ani když jsem přešel k výřezům (odkud se ty asteroidy berou netuším).

Poté jsem se přesunul do jihovýchodního výběžku, kde ty asteroidy zmizely, ale protože gamma funkce už je opravdu na výpočet docela komplikovaná, obrázky "vyřezané" z této oblasti postrádají propracovanost, jelikož počítač nedokáže chování pro jednotlivé hodnoty parametru s přesně odlišit.

a ani na severu úvodního obrázku jsem příliš krásy nenalezl

f(z) = tanh(z)

Ještě větší průšvih nastal, když jsem si vzal hyperbolický tangens. Tato funkce má v komplexní rovině spoustu pólů a její fraktál je v jistém smyslu inverzní. Zatímco klasická Mandelbrotova množina vypadá jako černé moře obklopené pevninou barev, zde jsem nalezl barevné moře v černé pevnině. Na druhém obrázku uvidíte detail té žluté skvrny.

f(z) = sqrt(z)

V minulém Matykání jsem se zmínil, že komplexní logaritmus má problém se spojitostí, který pak zdědí všechny funkce z něho odvozené - například druhá odmocnina. Při pohledu na fraktál z ní odvozený si můžete všimnout, že některé jeho oblasti jsou zalomené - asi tak jako když pozorujete tužku ve sklenici vody. To je právě způsobené tou nespojitostí v definici komplexního úhlu (a tedy i logaritmu a jeho odvozenin). V jižní části prvního obrázku vidíte, že ten fraktál je tam celý takový "rozsypaný" (detail této oblasti je na obrázku třetím).

f(z) = z²

A abychom se nerozloučili takovými ošklivými obrázky, dáme si na závěr pár výřezů z klasické (kvadratické) Mandelbrotovy množiny.

+++++++++

Předchozí díly série "Cesta do hlubin fraktálovy duše"

Autor: Jan Řeháček | středa 9.8.2017 9:09 | karma článku: 17.58 | přečteno: 427x

Další články blogera

Jan Řeháček

I multikulturní jablíčka potřebují dozrát

Kdyby se Evropa proměnila v Univerzitu, mohla by si na průčelí vytesat "Fakulta sociálně inženýrská". Zdá se, že nedočkaví vizionáři si nalezli nového koníčka - po krachu fašismu i komunismu se upnuli k řízenému multikulturismu.

26.7.2017 v 9:09 | Karma článku: 36.12 | Přečteno: 1139 | Diskuse

Jan Řeháček

Matykání: nejkrásnější rovnice světa

Jednoho rána přistoupila kvadratická rovnice k nablýskanému zrcadlu: "Zrcadlo, zrcadlo, ptám se tě, kdo je nejkrásnější rovnice na světě"? A byla překvapena, že v chaloupce u sedmi komplexních trpaslíků jí roste kalá konkurence.

9.7.2017 v 9:09 | Karma článku: 20.72 | Přečteno: 714 | Diskuse

Jan Řeháček

Za devatero fotkami (Kostarické silnice)

Fotit ubíhající krajinu přes čelní sklo auta je jako test pozornosti. Něco zajímavého se objeví ve výhledu a vy musíte během tří vteřin popadnout foťák a prásk. Ale fotky ze silnic mám přesto rád pro jejich sjednocující motiv.

5.7.2017 v 9:09 | Karma článku: 15.98 | Přečteno: 253 | Diskuse

Další články z rubriky Věda

Libor Čermák

Co má písmeno "P" společného se spaním?

Dovolte, abych vás dnes upozornil na jednu jazykovou zajímavost. Zkusili jste si někdy zmapovat, kolik věcí související se spaním v českém jazyce začíná na písmeno "P"? Čím, že to bude?

19.8.2017 v 11:34 | Karma článku: 15.03 | Přečteno: 348 |

Dana Tenzler

Židovská matka atomové bomby

Říkali jí „židovská matka atomové bomby“ – a to ji zlobilo. Shoda okolností ji připravila o Nobelovu cenu. Uhodnete její jméno? (délka blogu 6 min.)

17.8.2017 v 8:00 | Karma článku: 28.33 | Přečteno: 820 | Diskuse

Libor Čermák

Atomové výbuchy už v prehistorických dobách?

V srpnu si každoročně připomínáme svržení atomových bomb na Hirošimu a Nagasaki. Je ale možné, že podobné události se už na naší planetě staly někdy v dávnověku? Jsou záhady, které se tomu docela podobají.

17.8.2017 v 5:53 | Karma článku: 24.41 | Přečteno: 1017 |

Irena Maura Aghová

Vzdělanost: O výuce dějin

Není mnoho lidí, kteří by se rádi učili dějiny. Jsou důležité? Co nám vlastně říkají a rozumíme jim opravdu? O tom tento článek.

17.8.2017 v 3:49 | Karma článku: 8.78 | Přečteno: 258 | Diskuse

Zdenek Slanina

U jurty seděla dívka - Richarda Feynmana cesta poslední

Richard Feynman, Nobelista za fyziku z r. 1965, i jeden z prvních, kdo uvažovali o nanotechnologiích, vtipný glosátor vztahů vědy a společnosti, měl jeden sen, který si už splnit nestihl.

14.8.2017 v 22:03 | Karma článku: 14.64 | Přečteno: 395 |
VIP
Počet článků 206 Celková karma 23.17 Průměrná čtenost 779

Devátý nejhorší kuchař na světě, odpůrce politické překorektnělosti, začínající marťan, neúnavný konzument točeného kyslíku a jazykový dobrodruh ab incunabulis. Člen Analytického piva a Gustavu pro jazyk český. Správce Vojensko-českého slovníku.

Seznam rubrik

Oblíbené blogy

Oblíbené stránky

Napište mi

Vzkaz autorovi


Zbývá 1000 znaků.


Toto opatření slouží jako ochrana proti webovým robotům.
Při zapnutém javaskriptu se pole vyplní automaticky.


více


Najdete na iDNES.cz

mobilní verze
© 1999–2017 MAFRA, a. s., a dodavatelé Profimedia, Reuters, ČTK, AP. Jakékoliv užití obsahu včetně převzetí, šíření či dalšího zpřístupňování článků a fotografií je bez souhlasu MAFRA, a. s., zakázáno. Provozovatelem serveru iDNES.cz je MAFRA, a. s., se sídlem
Karla Engliše 519/11, 150 00 Praha 5, IČ: 45313351, zapsaná v obchodním rejstříku vedeném Městským soudem v Praze, oddíl B, vložka 1328. Vydavatelství MAFRA, a. s., je členem koncernu AGROFERT.