Fraktály

Fraktály

Fraktály by sa dali definovať ako objekty vybudované pomocou rekurzie, ktoré majú zaujímavé vlastnosti. Zatiaľčo ich obsah (resp. objem) je konečný, ich obvod (resp. povrch) je nekonečný. Ďaľšou zaujímavou vlastnosťou fraktálov je, že obsahujú kópie samých seba (samozrejme zmenšené). To znamená, že keď prehliadame fraktál, objavujeme stále tie isté vzory.

Fraktály sa bežne vyskytujú v prírode (kamene, mraky...). Dokonca aj kontinenty. Keď chceme zmerať ich rozlohu, nie je to neriešiteľná úloha. Zmerať však dĺžku ich hraníc je už omnoho zložitejšie. Môžeme to urobiť tak, že si zoberieme mapu a dĺžku hraníc už nejako vypočítame. Keď si však zoberieme oveľa podrobnejšiu mapu a znova spočítame dĺžku hraníc, dostaneme oveľa väčší výsledok ako predtým. Je to spôsobené tým, že zálivy, ktoré na menej podrobnejších mapách nevídíme nám môžu podstatne zdvihnúť hodnotu výsledku. No a keď to takto pôjde donekonečna, tak ten výsledok asi nikdy ani nedostaneme.

Ako už bolo spomenuté, na vykreslenie fraktálov sa využíva rekurzia, no problém je v tom, že mi nevieme nakresliť fraktál presne, ale iba približne. Ak ho totiž chceme vykresliť v konečnom čase, musíme si na začiatku stanoviť počet iterácií a po prekročení tohto čísla prestaneme počítať a uspokojíme sa s doterajším výsledkom. Našťastie po takom stom kroku (niekedy aj skôr :)) už máme dostatočnú predstavu o tom ako daný fraktál vyzerá. Je asi jasné, že na vypočítanie a vykreslenie fraktálu je lepšie použiť počítač ako ho vypočítať a vykresliť ručne.

S fraktálmi ako Sierpinského trojuholník, alebo Kochova krivka (snehová vločka) ste sa už asi stretli. Potom asi viete o čom som tu celý čas hovoril (písal). Napriek tomu, že môj program vykresluje iný typ fraktálov, tieto spĺňajú tie isté vlastnosti.

Môj program vykresluje fraktály, ktoré využívajú zaujímavé vlastnosti komplexných čísel. Do tejto skupiny patrí aj známy Mandelbrotov fraktál a Juliova množina.

Francúzsky matematik Gaston Julia objavil zaujímavú vec. Zobral komplexné číslo, umocnil ho na druhú a potom k nemu pripočítal ďaľšie komplexné číslo. Výsledok znova umocnil a pripočítal k nemu znova to isté komplexné číslo. Toto robil dovtedy, kým výsledok nebol väčší ako nejaké číslo (obvykle sa používa |z|>2). Krok v ktorom sa tak stalo zakreslil nejakou farbou (čísla, ktoré "pretiekli" v tom istom kroku boli zakreslené rovnakou farbou). Zaujímavé bolo, že sa tu našli čísla, ktoré nepretiekli vôbec. Teda po n-tom kroku tu boli stále čísla ktoré nie a nie prekročiť stanovenú hranicu. Tak vznikla sada fraktálov, ktorá dostala meno po Juliovi. (vzorec: z(n+1) = z(n)^2 +c, kde c bola nejaká konštanta -komplexné číslo)

V roku 1975 prišiel Benoit Mandelbrot, zamestanec IBM, s ďaľším skvelým nápadom. Rozhodol sa na výpočet a vykreslenie fraktálu použiť počítač. Zároveň vymyslel ďaľší fraktál ktorý dostal po ňom meno. Myšlienka výpočtu tohto fraktálu je v podstate rovnaká ako pri Juliovej množine, s tým rozdielom, že Mandelbrot sa rozhodol namiesto konštanty pripočítavať číslo z ktorého vychádzal. (vzorec: z(n+1) = z(n)^2 +z(0)) Mandelbrot okrem toho ako prvý použil pojem fraktál -z latinského fractus , čo znamená nepravideľný povrch.

Fraktály okrem toho, že dobre vyzerajú našli svoje uplatnenie aj v praxi. Napríklad, aby anténa fungovala čo najefektívnejšie, musí mať čo najväčší povrch. No a na riešenie tohto problému sú fraktály ako stvorené. Stačí si zvoliť nejaký vhodný fraktál a počet iterácii a máme perfektný tvar pre anténu. Fraktály sa ďalej používajú na generovanie imaginárnych svetov a máp, ktoré sa potom používajú vo filmoch alebo počítačových hrách.


©2003 Vlado Tomeček