Facebook RSS feed
Zveme vás v pátek na sraz komunity itnetwork.

IFS fraktály

Zpět do sekce Matematické algoritmy


Na rozdíl fraktálů diskutovaných v předchozích dvou odděleních se nejedná o polynomické fraktály. Zatímco polynomické fraktály jsou definovány jednou rovnicí (pravidlem), IFS mohou vznikat na základě více pravidel. Přesto se jedná mnohdy o velice jednoduché útvary. Jejich konstrukce, která se provádí stochastickou cestou, se dá obecně popsat tak, že na nějaký počáteční bod aplikujeme transformační pravidla w1,w2, … wns určitou pravděpodobností. Součet pravděpodobností se rovná 1. Po jedné iteraci získáme nový počáteční bod či jejich soustavu a iterativně na nich aplikujeme onen soubor pravidel. Tento způsob se někdy nazývá chaotická hra. Pro dosažení kýženého výsledku musíme provést několik tisíc iterací, ale u některých fraktálů vidíme hrubý obrys výsledku už od prvních iterací. Příkladem může být Cantorovo mračno.

Cantorovo mračno (diskontinuum)

Jedná se patrně o nejjednodušší fraktál vůbec a asi pro vás nebude těžké uhádnout, že je to iterační funkční systém. Vychází z úsečky. Na ni iterativně aplikujeme jen jedno pravidlo - rozdělíme úsečku na tři části a vyjmeme tu prostřední.
Cantorovo mračno po několika iteracích

Díky Cantorovu mračnu prý B. Mandelbrot odstranil šum na telekomunikačních linkách firmy IBM. Tehdy patrně ještě netušil že DH=log(2)/log­(3)=0.6309.

Sierpinského trojúhelník

Toto je pro změnu jakýsi reprezentant všech IFS fraktálů. Výchozí bod zde představuje trojúhelník (nejlépe rovno- stranný či ramenný). Může se vytvářet několika způsoby, nejnázornější je tento: máme tedy trojúhelník a rozdělíme jej na 4 stejné části (podle středních příček). Prostřední části vyjmeme. Toto pravidlo aplikujeme na zbylé 3 trojúhelníky, pak na zbylých 9, 27, 81 (co přijde asi pak?). Výhoda této metody je jak už jsem uvedl v názornosti (už od začátku vidíme stále se zpřesňující torzo výsledku), ale bohužel se nejedná o chaotickou hru. Jak na ní? U trojúhelníku máme pochopitelně tři vrcholy ABC a ještě potřebujeme náhodně zvolený bod Z na obvodu trojúhelníka. Od tohoto bodu vedeme pomyslnou úsečku k náhodně zvolenému vrcholu. Úsečku nezakreslujeme, ale v jejím středu zakreslíme bod Z1. Od něho znovu vedeme úsečku k náhodnému vrcholu a opět zakreslíme jen její střed. Po několika tisících iteracích se nám začne z bodů skládat výsledek:

Sierpinského trojúhelník

Jeden můj kamarád vlastnící programovatelnou kalkulačku úspěšně implementoval chaotickou hru. Na tom není nic divného, ale podobný výsledek dostal i tehdy, když bod vykreslil na třetině, čtvrtině,pětině... úsečky. Podobný obrázek dostal dokonce i tehdy, když vykreslil bod úplně mimo úsečku (ale podle neměnných pravidel)! Počáteční bod nemusel dokonce ležet ani na obvodu trojúhelníka, mohl se nacházet úplně mimo! Pak se prvních pár bodů sice vykreslilo jinde, ale pak systém rychle konvergoval. Podobné experimenty dokazují, že ač je tento postup hrou na chaos, je neobyčejně stabilní, i když do něj kopeme kanadama.Dále se nabízí možnost aplikovat chaotickou hru na čtverec či n-úhelníky.
Mezi Pascalovým a Sierpinského trojúhelníkem si vnímavější jedinci povšimnou až znepokojující podobnosti

 

                      1                        
                      1   1                      
                    1   2   1                    
                  1   3   3   1                  
                1   4   6   4   1                
              1   5   10   10   5   1              
            1   6   15   20   15   6   1            
          1   7   21   35   35   21   7   1          
        1   8   28   56   70   56   28   8   1        
      1   9   36   84   126 126 84   36   9   1      
    1   10   45   120 210 252 210 120 45   10   1    
  1   11   55   165 330 462 462 330 165 55   11   1  
1   12   66   220 495 792 924 792 495 220 66   12   1

DH = log(3) / log(2) = 1.5850

Sierpinského kobereček

Sierpinsky se neomezil jenom na trojúhelník, ale experimentoval i s jinými útvary. V tomto případě se čtvercem. Způsob generování tohoto fraktálu je také velice jednoduchý. Jako počáteční bod si zvolíme čtverec. Na každé jeho straně vyznačíme jejich třetiny. Protilehlé body spojíme. Uprostřed původního čtverce tak vznikne nový čtverec - délka jeho strany se rovná třetině délky strany původního čtverce a nachází se uprostřed původní čtvercové plochy. Vyjmeme jej, zůstane nám tedy 8 těchto třetinových čtverců. Na ty aplikujeme stejné pravidlo.
Sierpinského kobereček DH= log(8) / log(3) = 1.8928

Kapradí

IFS fraktály se neomezují jen na jednoduché geometrické útvary. IFS fraktál můžete vytvořit prakticky z čeho chcete. Například z kapradí. Konečně se dostáváme k dvěma afinním transformacím. Jsou definovány jako parametrické rovnice:

xi + 1 = axi + byi + e
yi + 1 = cxi + dyi + f

kde parametry a,b,c,d,e,f,p jsou definovány takto:

Parametr a b c d e f p
  0 0 0 0,16 0 0 328
  0,2 -0,26 0,23 0,22 0 1,6 2621
  -0,15 0,28 0,26 0,24 0 0,44 4915
  0,755 0,04 -0,04 0,85 0 1,6 32767

Parametr p určuje pravděpodobnost jednotlivých transformací

Kapradí

Poznámka autora: Ve zdrojovém materiálu je u parametru p evidentně chyba či není dostatečně vystvětlen. Na odstranění tohoto nedostatku se pracuje.

Kochova vločka

Další dobře známý fraktál je také vzniká pomocí velmi jednoduchých transformací. Počáteční bod tvoří rovnostranný trojúhelník. Doprostřed každé stany přidáme další rovnostranný trojúhelník a tak pořád dokola.Výsledek vidíte na obrázku.

Kochova vločka

 

Závěr

IFS fraktály jsou velice user-friendly skupinou fraktálů - lehce se generují (samozžejmě existují i složité IFS), dobře vypadají a každý si může vymyslet ten svůj. V tomto textu jsou uvedeny čtyři druhy, ale lepší by bylo říci čtyři třídy fraktálů. Na většinu útvarů lze vymyslet nějakou tu afinní transformaci. Těžko ale vytvoříte IFS na základě kruhu. Jediná možnost je iterativně zmenšovat kruh, ale tím fraktál neuděláte. Z kruhu těžko vytvoříte kopie jeho samého. Dalším taktovýmto nevděčným objektem jsou křivky (např sinusoida). Tam ale toto tvrzení neplatí zcela a u některých křivek "bez rovných ploch" se vám může podařit vymyslet a aplikovat nějakou tu transformaci byť třeba složitou a nemusí být sama. Také většinu fraktálů (např přírodních objektů) nepůjde použít jako výchozí bod pro IFS. I když vyjímka potvrzuje pravidlo (a v matematice vyvrací). Nejjednoduší IFS vznikají z n(1 až nekonečno) rozměrných geometrických útvarů. Takže sedněte ke compu, vemte nadkrychli a vytvořte IFS (nadkrychle-4D objekt s krychlovou základnou).


 

Článek pro vás napsal Tomáš Sixta
Avatar
Jméno jeho jest Tomáš Sixta. Narodil se v roce 1987 krátce po výbuchu Černobylu v Kolíně u Veltrub. Vystudoval Základní školu ve Veltrubech a nyní studuje na gymnáziu Kolín.

Jak se vám líbí článek?
Ještě nikdo nehodnotil, buď první!


 


Předchozí článek
Mandelbrotova a Juliova množina
Fraktály a chaos - Mandelbrotova a Juliova množina, jejich popis a zdrojový kód generování těchto známých fraktálů.
Všechny články v sekci
Matematické algoritmy
Matematické algoritmy jako libovolné (n-té) mocniny a odmocniny, faktoriál nebo převody mezi číselnými soustavami a další funkce včetně zdrojových kódů
Další článek
Pojednání o chaosu
Fraktály a chaos - pojednání o chaosu a atraktorech.


 

 

Vaše komentáře:

 

Zatím nikdo nevložil komentář - buď první!



Přidat novou zprávu

Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlaš. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.