FraktályLenka Eslerová
pokračování z minulého čísla Minule jsme si začali povídat o fraktálech z trošku jiného pohledu, než jak
je většina z vás zná. Špetka použité matematiky vás jistě neodradila, takže dnes
můžeme směle pokračovat (k pochopení vám navíc pomohou obrázky). Podobnostní dimenze
V předchozím článku jsem jako příklad fraktálu uvedla Sierpiňského
trojúhelník. Pokud jste si ho zkusili sestrojit, nebo jste si alespoň dobře
prohlédli obrázky, zjistili jste, že každé další přiblížení tohoto fraktálu
dostaneme jako složení tří kontrakcí s koeficientem 1/2 a středy ve vrcholech
trojúhelníku (viz obrázek). Tyto tři kontrakce nazýváme iterační systém funkcí
(f1, f2, f3) a jejich koeficienty tvoří soubor zmenšení (r1, r2, r3) = (1/2,
1/2, 1/2).
Nyní uvažujme například úsečku AB mezi libovolnými body A a B, které nejsou
totožné. Tuto úsečku můžeme složit například pomocí dvou kontrakcí se středy v
bodech A a B a koeficienty 1/2 - viz obrázek. Zde máme iterační systém funkcí
(f1, f2) a soubor zmenšení (1/2, 1/2).
Pokud budeme chtít něco podobného provést s normálním vyplněným trojúhelníkem,
použijeme čtyři kontrakce s koeficienty 1/2 - je to skoro stejné jako u
Sierpiňského trojúhelníku, ale přibude ještě jedna kontrakce se středem ve
středu trojúhelníku, která zajistí, že náš normální trojúhelník nebude mít
"vykousnutý" prostředek. Pro trojúhelník je tedy soubor zmenšení (1/2, 1/2, 1/2,
1/2).
Asi už se ptáte, k čemu nám to všechno bude. Takže bych měla konečně začít
povídat o dimenzi (pokusím se všechno uvést hodně jednoduše tak, aby to mohli
pochopit všichni čtenáři, a doufám, že to matematicky vzdělané nijak neurazí).
Dimenzi nějakého útvaru budeme chápat jako minimální počet "směrů", které
potřebujeme k jeho popsání, což je myšleno následovně: bod je prostě jen jeden
bod a nemá žádný směr, takže jeho dimenze je 0; na přímce je jeden směr, říkejme
mu třeba "vpravo" (vlevo je totéž: můžeme se posunout třeba o minus tři
centimetry doprava, tj. v našem jediném směru, čímž se dostaneme doleva), takže
přímka má dimenzi 1; v rovině jsou dva směry, "vpravo" a "dopředu", a skládáním
pohybů v těchto dvou směrech se zase můžeme dostat do kteréhokoliv místa, proto
má rovina dimenzi 2; a konečně prostor má dimenzi 3 ("vpravo", "dopředu",
"nahoru").
Z tohoto pohledu tedy také můžeme říci, že úsečka má dimenzi 1 (je to součást
nějaké přímky) a trojúhelník (coby nějaká plocha) má dimenzi 2. Nyní si zavedeme
tak zvanou podobnostní dimenzi a ukážeme si, že u "normálních" útvarů je stejná
jako již uvedená dimenze.
Vzpomeňte si, že před chvílí jsme si ukazovali, jak jde úsečka a trojúhelník
poskládat pomocí iteračního systému funkcí s příslušným souborem zmenšení.
Budeme teď hledat číslo S s následující vlastnosti: když všechny koeficienty ze
souboru zmenšení umocníme na S a posčítáme je, bude výsledek 1. Dá se dokázat,
že pro libovolný soubor zmenšení takové S existuje a je právě jedno. Takto
nalezené S budeme nazývat podobnostní dimenze.
U úsečky tedy musí platit (0.5)^S + (0.5)^S = 1, a vidíme, že je to splněno pro S = 1, neboť 1/2 + 1/2 = 1. Proto má úsečka
podobnostní dimenzi 1. A jak je tomu s trojúhelníkem? Ten měl čtyři koeficienty,
všechny rovné 1/2, takže musí být 4 * (1/2)^S = 1. Říkali jsme si, že trojúhelník je nějaká plocha, takže bychom čekali dimenzi
2, proto zkusíme dosadit S = 2, a vidíme, že rovnost skutečně platí. Trojúhelník
má tedy podobnostní dimenzi 2 stejně jako "normální" dimenzi.
U fraktálů tomu tak není. Například Sierpiňského trojúhelník je jakási "hodně
děravá" plocha, takže bychom asi čekali, že jeho dimenze bude menší než 2 (což
je dimenze plochy), ale pořád ještě je to něco víc než úsečky, a proto bude mít
asi dimenzi větší než 1. Příslušný soubor zmenšení je (1/2, 1/2, 1/2) a rovnost,
kterou chceme splnit je tedy 3 * (1/2)^S = 1, odkud můžeme spočítat, že S = 1.5849. A tady zjišťujeme něco zajímavého:
dimenze fraktálů nejsou celá čísla!
Na ukázku si ještě zjistíme dimenzi křivky Kochové (jak bylo řečeno minule, je
to třetina "sněhové vločky"). Na obrázcích je vidět, že v tomto případě každé
další přiblížení dostáváme složením čtyř stejných (jen různě natočených) třikrát
zmenšených kopií předchozího stavu, takže soubor zmenšení je (1/3, 1/3, 1/3,
1/3). Pro dimenzi musí platit, že 4 * (1/3)^S = 1, odkud spočítáme, že S = 1.2618... Něco o komplexních číslech
Mezi nejznámější fraktály mimo všechnu pochybnost patří Mandelbrotova
množina a fraktály typu Julia, které se konstruují na základě vlastností
komplexních čísel, a proto začneme s nimi.
Představte si rovinu s osami x a y (pomůže vám obrázek). Každému bodu v rovině
můžeme přiřadit dvojici čísel (x,y), kterou získáme promítnutím polohy bodu do
obou os. Dvojice (x,y) se někdy zapisuje jako jedno číslo z = x + i *y, přičemž
konstanta i je vymyšlené číslo, definované jako odmocnina z (-1) - jak jistě
víte ze školy, záporná čísla nejde odmocňovat, takže naše i není žádné normální
číslo, a proto s ním jdou podnikat takové různé podivnosti. Tohle číslo i můžeme
dokonce zakreslit do roviny: protože platí i = 0 + i*1, bude číslu i odpovídat
bod se souřadnicemi (0,1).
Číslům typu x + i*y říkáme komplexní čísla, x (první složka) se jmenuje reálná
složka a y je imaginární složka. Rovině, ve které se pohybujeme, říkáme
komplexní rovina. Ke každému komplexnímu číslu můžeme spočítat jeho vzdálenost r
od počátku (to je něco jako nula, tedy bod (0,0)) pomocí Pythagorovy věty: r^2 = x^2 + y^2. Komplexní čísla se dají sčítat takto: je-li z1 =x1 +i*y1 a z2=x2+i*y2, pak
jejich součet je z=z1 +z2=(x1 +x2)+i*(y1 +y2), což znamená, že sčítáme zvlášť reálné a zvlášť imaginární složky čísel.
Trošku složitější je násobení; zde je potřeba vědět, že i*i =-1 (nebol i je
odmocnina z -1). Platí pak z1 * z2=(x1 +i*y1) * (x2+i*y2)= x1 *x2 + x1*i*y2 + i*y1 *x2 + i*y1 *i*y2 =
(x1 *x2 - y1 *y2) + i*(x1*y2+x2*y1). Jak se kreslí Mandelbrot
Představte si, že obrazovka vašeho monitoru je kus komplexní roviny (jako by
se tam obtiskl zmíněný obrázek). Každý bod na obrazovce tedy reprezentuje nějaké
určité komplexní číslo c. Nyní začneme počítat posloupnost čísel: z1 = c;
vezmeme toto číslo a spočítáme nové číslo z2 = z1 *z1 + c, potom z3 = z2*z2 + c
a tak dále. Přitom budeme zjišťovat, jaká je vzdálenost jednotlivých
napočítaných čísel od počátku. Pro některé body dostaneme posloupnost čísel,
která se bude vzdalovat čím dál víc až do nekonečna; tato čísla do Mandelbrotovy
množiny nepatří, příslušné body můžeme zakreslit třeba bíle. Ostatní čísla
zůstanou pořád dost "blízko" (například nula zůstane pořád nulou), a jim
příslušné body tvoří Mandelbrotovu množinu, zakreslíme je například černě. A tím
je vše dáno. Mandelbrotova množina je tedy nějaká množina bodů kolem počátku,
černě zakreslená - nuda, což? Fraktální programy vám ale pod označením
Mandelbrot nabízejí něco barevnějšího jistě vás zajímá, co to vlastně je.
Většinou je vnitřek (okolí počátku) černý nebo jinak jednobarevný - to je
skutečná Mandelbrotova množina. O ostatních bodech jsme si řekli, že příslušná
napočítaná čísla z1, z2 atd. se vzdalují od počátku až do nekonečna. A zde se
nabídla myšlenka roztřídit je podle rychlosti, což se dělá přibližně takto:
vezme se nějaký kruh kolem počátku, například s poloměrem 5 (uvnitř jsou tedy
čísla, která mají od počátku vzdálenost menší než 5) a počítáme posloupnost
čísel tak dlouho, dokud ještě leží uvnitř kruhu. Pokud jsme se dostali ven dřív
než při pátém čísle, dostane bod žlutou barvu. Překročíme-li hranici později,
ale dříve než při desátém čísle, bude mít bod barvu červenou, a tak dále;
všechna čísla, která i po stém kroku zůstanou uvnitř, prohlásíme za část
Mandelbrotovy množiny (neznám nikoho, kdo by zkoušel počítat nekonečně mnoho
kroků :=) a obarvíme je černě. To je najednou barviček! Příklad takového
obarvení najdete na jednom z obrázků.
Nejzajímavější je samozřejmě hranice Mandelbrotovy množiny, tedy výřezy, v nichž
leží jak body z množiny, tak ty, které do ní nepatří - zde je barev nejvíce;
navíc můžeme zvětšit jakýkoliv detail a dostaneme tak nové a nové podrobnosti
(to je běžná vlastnost fraktálů, povídali jsme si o tom už minule). Několik
takových detailů najdete na zbývajících obrázcích; na obrázku s motivem části
spirály je orámována část obsahující další spirálu - všimněte si, že opakování
podobných prvků je charakteristické; někdy se objeví i zmenšená kopie celé
Mandelbrotovy množiny. Potěšte se krásou fraktálových světů a příště opět
nashledanou! Vytlačiť článok
Pozn.: články boli naskenované ako text a preto obsahujú aj zopár chýb. Taktiež neručíme za zdrojové kódy (Asm, C, Arexx, AmigaGuide, Html) a odkazy na web. Dúfame, že napriek tomu vám táto databáza dobre poslúži.
Žiadna časť nesmie byť reprodukovaná alebo inak šírená bez písomného povolenia vydavatela © ATLANTIDA Publishing
none
|