Cesta do hlubin fraktálovy duše

30. 01. 2014 8:24:33
Jedno ruské přísloví říká, že "nové je i to, co se dokonale zapomnělo". Fraktály byly poměrně populární a vizuálně atraktivní matematické objekty v 80. a 90. letech minulého století. Dny největší slávy už tedy mají bezpečně za sebou. Estetično je však věčné a nepomíjivé a taky nám tu mezitím dorostla další generace krásnokopů, takže je možná na čase pokusit se o malé retro. A protože fraktály se dají poměrně jednoduše naprogramovat (návod je pod obrázky), sbalil jsem si čutoru a karimatku a vydal se na malý výlet do hlubin fraktálovy duše.  Do duše, která je nekonečně hluboká v následujícím smyslu.

Představte si, že přijdete na výstavu krajek (kam taky po fotbale, žejo?). Už u dveří si jednu vyhlídnete a vidíte, že v jejím středu se skrývá takový malý kompaktní čtvereček. Jenže když přistoupíte blíž, ukáže se, že ten čtvereček je ve skutečnosti subtilní paličkovaná kreace - jakási krajka v krajce - a ta má při bližším ohledání na kraji takový zajímavý trojúhelníček. Vytáhnete tedy z náprsní kapsy lupu (obvykle s sebou dvě až tři lupy jistě nosíte) - a ejhle, on i ten zdánlivě jednolitý trojúhelníček má svoji vnitřní strukturu. Je tvořen dovedně propletenými nitkami. Ale nejde to takhle pořád. V jistém okamžiku dospějete k prapůvodnímu elementárnímu vlákénku té krajky a tady vaše cesta za jemností končí. Ať zvětšujete jak zvětšujete, to vlákénko je pod mikroskopem prostě vpodstatě jen zahradnická hadice a žádné další tvary, kličky nebo uzlíčky na něm nenajdete. Krajka je prostě konečný útvar (molekulární záležitosti do toho netahejme). Tedy útvar s konečnou "hloubkou rozlišení".

Fraktál je naproti tomu abstraktní matematický objekt a tudíž pro něj zákony fyziky neplatí. Je to v podstatě taková matematická krajka, s tím, že na rozdíl od té vamberecké se nikdy nedostanete až na to základní nedělitelné vlákno. Fraktál můžete zjemňovat až do úplného zblbnutí. Má tedy nekonečnou hloubku. Technicky se jedná o bohatě členěnou podmnožinu bodů v rovině, ale na rozdíl od řekněme čtverce, přímky či elipsy v ní s každým zvětšením objevíte spoustu nových záhybů, výčnělků, poloostrovů a zátok, které se vám před tím nedařilo rozlišit. V následující sekci vám tento fenomén předvedu na příkladu fraktálu asi nejprofláknutějšího - na Mandelbrotově množině. Nejprve vám ukážu tu množinu celou. Pak na její náhodně zvolenou část namířím zelenou šipčičku a tu část zvětším a vykreslím v obrázku následném. A v té zvětšenině si opět vyberu nějaké zábavné zákoutí, označím ho šipčičkou a zase ho zvětším na obrázku následujícím. Jinými slovy - každý obrázek je výřezem a zvětšením obrázku předchozího (dimenze každého výřezu jsou uvedeny vždy pod obrázkem - a protože používám matice, x běží svisle a y vodorovně).

(jo, a jak budu vytahovat větší a větší lupu, a ukazovat vám detailnější a detailnější záběry té samé množiny, tak budu současně trochu měnit barevnou škálu - jinak by mi za chvilku došly barvy. Takže se nelekejte, že každá zvětšenina má trochu posunuté barevné spektrum)


 frac1y.jpg

xmin = -1.59; xmax = 0.61;
ymin = -1.17; ymax = 1.17;


frac2y.jpg


xmin = 0.31; xmax = 0.367;
ymin = 0.392; ymax = 0.45;


frac3y.jpg


xmin = 0.336; xmax = 0.338;
ymin = 0.417; ymax = 0.419;


frac4y.jpg

xmin = 0.33695; xmax = 0.33725;
ymin = 0.41774; ymax = 0.41804;


frac5y.jpg

xmin = 0.336992; xmax = 0.337007;
ymin = 0.417925; ymax = 0.417940;


frac6y.jpg


xmin = 0.3369994; xmax = 0.3370006;
ymin = 0.4179329; ymax = 0.4179341;


frac7y.jpg


xmin = 0.33700025; xmax = 0.33700037;
ymin = 0.41793356; ymax = 0.41793368;


frac8y.jpg


xmin = 0.337000255; xmax = 0.337000285;
ymin = 0.417933645; ymax = 0.417933675;


frac9.jpg


xmin = 0.3370002602; xmax = 0.3370002626;
ymin = 0.4179336602; ymax = 0.4179336626;


Tím končí sekce hezkých obrázků. Zbytek článku bude už jen tvrdá matyka (připravit padáky!).

(mimochodem, jedna blogerka byla nedávno za to "y" téměř verbálně ukamenována. Pomocná stráž Gramatické Bezpečnosti ji nakonec donutila v titulku jejího článku použít správné zkráceniny "matika" - i když si myslím, že u hovorového výrazu by se v rámci básnické licence to "y" klidně sneslo. A protože slovo "matyka" skloňuju podle vzoru "rotyka", s dovolením si tento krásný patvar ponechám. A to "skloňuju" jakbysmet)

A teď se pokusím vám vysvětlit jak takový obrázek vznikne, s tím, že se budu snažit udržet tu matyku zhruba na úrovni prvního ročníku gymnázia, aby z toho něco měli i neinženýři. Wikipedie to dělá dokonce ještě o něco jednodušeji (česky a nebo anglicky), ale musíte umět komplexní čísla. Já to tedy raději trochu formálně krapet zkomplikuju, ale zase budu tu šelmu držet v reálné rovině x-y tak jak ji známe ze školy. Komplexní rovina z je sice dost podobná, má ale tu nevýhodu, že slabší povahy při pohledu na imaginární jednotku "i" zhusta omdlévají.

Takže v první řadě budeme potřebovat barevnou škálu. Tedy něco, co nám umožní nahrazovat čísla, která napočítáme, barvami. Tu škálu najdete buď zabudovanou v programu který používáte, nebo si ji stáhnete z internetu a v nejhorším případě si ji uděláte sami. Pro začátek si vystačíte s nějakou jednoduchou řekněme s třemi barvami. Já jsem použil tuto:

mf_mark.jpg

Vidíte, že ta škála není nic jiného než jakási předvodní tabulka mezi celými čísly a barevnými tóny. Obvykle začíná nulou, ale není to podmínka. U těch posledních obrázků jsem začínal 1000 abych neplýtval barvami.

Kromě barev budeme ještě potřebovat kouzelnou formulku. Budu jí říkat třeba "abstraktní hra o jablko", protože Mandelbrotova množina tvarově jablko připomíná (je to ale čistě pojmenování. To jablko tady - na rozdíl od filmu Věry Chytilové - nehraje žádnou roli). No a abstraktní je proto, že má kromě proměnných x,y také dva zatím nespecifikované parametry a,b. Tady je:

X = x2-y2+a
Y = 2 x y+b

Kde ty parametry a,b vezmeme? Vybereme si určitý obdélník v rovině (jak velký? to záleží na tom, jak velkou část té množiny chcete vidět), rozsekáme ho jak horizontálně, tak vertikálně na N kousků a souřadnice každého "kousku" nám dají jeden pár parametrů. Následující obázek ukazuje, jak se to udělá pro obdélníček ohraničený těmito hodnotami (a zvolím si N=5):

mf_grid.jpg

xmin=0.7
xmax=1.1
ymin=0.8
ymax=1.2

(číslo dole je "a", číslo nahoře je "b")

A teď něco o grafice. Každý obrázek (jak ty fraktály v článku, tak třeba fotky z vaší dovolené) se skládá z obdélníkové formace pixelů (barevných bodíků). Schematicky si je můžete představit jako ty "puntíky" na obrázku. Otázkou samozřejmě je, jak si ty puntíky (pixely) máme vybarvit, abychom dostali fraktál. A tady se konečně dostáváme k matyce, neboť to je oč tu běží. Tak především si vybereme pixel p, který chceme vybarvit. Já si například vyberu ten který jsem si na obrázku černě zakroužkoval. Má celočíselné souřadnice, takže se to bude dobře počítat. Tyto souřadnice (v našem případě 1 a 1) dosadíme do abstraktní hry o jablko za "a" a "b" a dostaneme "konkretní hru o jablko":

X = x2-y2+1
Y = 2 x y+1

(pro každý pixel dostaneme jinou konkretní hru pochopitelně!)

Všimněte si, že z hlediska inženýrského má ta naše "konkretní hra o jablko" dva vstupy (x,y) a dva výstupy (X,Y). Jinými slovy, když do ní dvě čísla dosadíte (x,y), tak z ní zase dvě čísla vypočítáte (X,Y). A ta vypočítaná čísla tudíž můžete zase vesele dosadit zpátky a dostanete nový dvě čísla. Ty zase dosadíte do tý samý konkretní hry o jablko a zase dostanete dvě nový a takhle jedete furt dál, močálem temným kolem bílých skal. Jak taková hra vypadá vám teď ukážu na příkladu. Jako startovní dvojici pro první krok si vždy vybereme čísla (0,0). Když je dosadíte do "konkretní hry o jablko" nahoře dostanete ve druhém kroku dvojici (1,1). A tu zase dosadíme zpátky do obou rovnic. A teď celý proces schematicky a rychleji.

To "ano-ne" napravo pouze indikuje, zda je součet čtverců obou čísel menší než 20.

krok 1: (0,0) ano
krok 2: (1,1) ano
krok 3: (1,3) ano
krok 4: (-7,7) ne
krok 5: (1,-97) ne

a tak dále...

No a teď nastane jedna ze dvou možností. Buď jste v nějakém rozumném a předem daném počtu kroků (řekněme 500) žádné "ne" nedostali a v tom případě vybarvíte ten pixel p (ze kterého jste si vypůjčili hodnoty a,b) černě. A nebo jste během konkretní hry o jablko dostali alespoň jedno "ne", a pak se podíváte ve kterém kroku jste to "ne" dostali poprvé a barvou (z té barevné škály na začátku) odpovídající tomuto celému číslu vybarvíte pixel p. V našem případě je to krok 4, takže ten zakroužkovaný pixel bude tmavě modrý. No a pak se přesunete k dalšímu pixelu, dostanete novou dvojici (a,b), z ní vytvoříte novou konkretní hru o jablko a celou taškařici zopakujete. Až takhle obarvíte všechny pixely, fraktál je doma. Samozřejmě to za vás dělá počítač, který si za tímto účelem naprogramujete, jinak by na vás vaši bližní museli za pět minut volat Chocholouška.

A to je všechno.

Když si o tom popřemýšlíte, zjistíte, že celý ten algoritmus spočívá v tom, že opakovaně dosazujete do kvadratické rovnice (jenom dosazujete, ani se nenamáháte tu rovnici vyřešit) a při tom se v každém kroku koukáte jak daleko od počátku jste. Nemusíte umět derivovat ani počítat determinanty symetrických matic. Jenom musíte umět dosadit do kvadratické rovnice. A to mě na fraktálech fascinuje nejvíc. Že se i pomocí naprosto jednoduchého vzorečku a několika dosazení dá vytvořit objekt takové krásy a komplexity. A možná tam někde dole, v divokých hlubinách fraktálovy duše, jednou najdeme klíč k některým tajemstvím života na této planetě.


Pro nezničitelné poutníky, kteří se prokousali až sem (haló, je tu někdo?) mám ještě malou odměnu.

Pokud máte rychlý internet, vlezte si na YouTube a do vyhledávacího okénka zadejte: Mandelbrot Set Zoom. Dostanete pestrý výběr animací, které jsou spojitou verzí procesu popsaného v tomto článku. Každé políčko animace zvětší danou část fraktálu jenom trochu a složením tisíců nepatrně se lišících záběrů vznikne dojem, že skutečně letíte do hlubin fraktálovy duše (a to vzducholodí poháněnou párem růžových slonů).

No a pokud rychlý internet nemáte, můžete si alespoň do vyhledávače Google zadat "Mandelbrot Set" a pak kliknout na "Images". Vykouknou na vás detailní obrázky jiných částí Mandelbrotovy množiny. Těch cest do hlubin fraktálovy duše je nekonečně mnoho, protože je nekonečně mnoho míst, kam si můžete prsknout tu zelenou šipčičku. Klidně si můžete zvolit svou vlastní cestu a vytvořit obrázky, které nikdo nikdy neviděl.

Autor: Jan Řeháček | čtvrtek 30.1.2014 8:24 | karma článku: 22.93 | přečteno: 1687x

Další články blogera

Jan Řeháček

Impresionisté na hladině

Když se na podzim objevily barvy na stromech, všiml jsem si, že se občas zrcadlí v našem potoce či rybníčku. Tak jsem na ně zamířil objektiv a vyšly z toho roztěkané výtvarné kreace, za které by se nemusel stydět ani Claude Monet.

9.3.2024 v 9:09 | Karma článku: 20.40 | Přečteno: 205 | Diskuse

Jan Řeháček

AI Art: co už umí a co ještě ne

Loni jsem trochu experimentoval s malířskými schopnostmi tehdy nastupující generativní AI Art. Letos, za dlouhých zimních večerů jsem si na to vzpomněl a napadlo mne podívat se, jak moc za ten rok AI pokročila. Nu, posuďte sami.

15.2.2024 v 9:09 | Karma článku: 16.53 | Přečteno: 278 | Diskuse

Jan Řeháček

Není větvička jako větvička

Stromy a jejich rozeklaná větvoví jsou sochařská díla. V létě to ale nepoznáte, protože přírodní majstrštyky zakrývá koruna. Jakmile ale podzim povolá svá vojska zpět do zálohy, ladná elegance dřevěných křivek vystoupí do popředí.

9.2.2024 v 9:09 | Karma článku: 19.25 | Přečteno: 337 | Diskuse

Jan Řeháček

Co rok dal

Začátek nového roku je tradičně příležitostí k ohlédnutí za rokem starým, takže jsem prohrábl archív a vylovil z něho pár fotografií z našeho parku, které si nenalezly cestu do některého z předchozích tématických blogů.

9.1.2024 v 9:09 | Karma článku: 16.65 | Přečteno: 166 | Diskuse

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

Dana Tenzler

Barvy v kuchyni (3) - přírodní červená

Blíží se Velikonoce. Napadlo vás někdy, čím se vlastně barví velikonoční vajíčka? Jakými přírodními nebo umělými barvivy se dá jídlo barvit dnes a jak tomu bylo v minulosti? (délka blogu 3 min.)

28.3.2024 v 8:00 | Karma článku: 12.53 | Přečteno: 117 | Diskuse

Zdenek Slanina

Problém co začal už Arrhenius: Kysličník uhličitý a doba ledová - a teď i sopečné aktivity

Už S. Arrhenius řešil vztah obsahu CO2 v atmosféře i k době ledové. Tehdy hlavně ukázal, že jeho navyšování v atmosféře povede k nárůstu její teploty. Nyní výzkumy z univerzity v Sydney ukazují na roli sopek v nástupu ochlazování.

26.3.2024 v 5:22 | Karma článku: 24.04 | Přečteno: 513 |

Martin Tuma

Berte Viagru, dokud si na to vzpomenete

Rozsáhlá studie odhalila významné snížení výskytu Alzheimerovi nemoci u pravidelkných uživatelů Viagry

25.3.2024 v 14:17 | Karma článku: 13.60 | Přečteno: 303 | Diskuse

Dana Tenzler

Barvy v kuchyni (2) - průmyslová žlutá

Blíží se Velikonoce. Napadlo vás někdy, čím se vlastně barví velikonoční vajíčka? Jakými přírodními nebo umělými barvivy se dá jídlo barvit dnes a jak tomu bylo v minulosti? (délka blogu 3 min.)

25.3.2024 v 8:00 | Karma článku: 14.43 | Přečteno: 188 | Diskuse

Dana Tenzler

Barvy v kuchyni (1) - přírodní žlutá

Blíží se Velikonoce. Napadlo vás někdy, čím se vlastně barví velikonoční vajíčka? Jakými přírodními barvivy se dá jídlo barvit dnes a jak tomu bylo v minulosti? První díl seriálu o barvách.

21.3.2024 v 8:00 | Karma článku: 18.10 | Přečteno: 289 | Diskuse
VIP
Počet článků 400 Celková karma 18.73 Průměrná čtenost 922

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.

Rána pro britskou monarchii. Princezna Kate má rakovinu, chodí na chemoterapii

Britská princezna z Walesu Kate (42) se léčí s rakovinou. Oznámila to sama ve videu na sociálních sítích poté, co se...

Smoljak nechtěl Sobotu v Jáchymovi. Zničil jsi nám film, řekl mu

Příběh naivního vesnického mladíka Františka, který získá v Praze díky kondiciogramu nejen pracovní místo, ale i...

Rejžo, jdu do naha! Balzerová vzpomínala na nahou scénu v Zlatých úhořích

Eliška Balzerová (74) v 7 pádech Honzy Dědka přiznala, že dodnes neví, ve který den se narodila. Kromě toho, že...

Pliveme vám do piva. Centrum Málagy zaplavily nenávistné vzkazy turistům

Mezi turisticky oblíbené destinace se dlouhá léta řadí i španělská Málaga. Přístavní město na jihu země láká na...

Kam pro filmy bez Ulož.to? Přinášíme další várku streamovacích služeb do TV

S vhodnou aplikací na vás mohou v televizoru na stisk tlačítka čekat tisíce filmů, seriálů nebo divadelních...