next up previous contents
Next: Úprava algoritmu pro náhodnou Up: Deterministický algoritmus Previous: Deterministický algoritmus

Zápis deterministického algoritmu pro generování IFS koláží

Stejně jako v minulém případě, i zde použijeme zápis algoritmu pomocí pseudokódu:

1. vyber inicializační množinu bodů
X0
2. for i=1 to (maximální počet iterací) do
3. for k=1 to N do
4. pro každý bod
$x\in X_{i-1}$ do
5.
$X_i=X_i \cup w_k(x)$
6. endfor k
7. endfor i
8. end.
V prvním bodě náhodně vybereme množinu bodů. Bod může být jeden, protože po první aplikaci transformací se tato množina zvětší. Druhý bod představuje smyčku, která se provede tolikrát, kolik je zadaných iterací. Zde poznamenejme, že počet iterací v tomto algoritmu může být menší než počet iterací v předchozím algoritmu. Zatímco v předchozím algoritmu se s každou iterací vygeneroval pouze jeden bod, v tomto algoritmu se bodů vygeneruje více a jejich počet dokonce exponenciálně stoupá. V třetím bodu je smyčka, která se provede pro každou transformaci, které tvoří IFS systém. Tato smyčka, na rozdíl od předchozího algoritmu, je deterministická, proto je celý algoritmus deterministický. Ve čtvrtém a pátém bodu se na každý bod z množiny aplikují všechny transformace. Nové body se vloží do nové množiny, zatímco stará množina se zruší. Tento algoritmus generuje výsledný fraktál rychleji, protože pro vykreslení potřebuje méně iterací než je tomu u předchozího algoritmu. Velkou nevýhodou je spotřeba paměti. Pro každou iteraci se generuje nová množina bodů. Tato množina se s každou iterací exponenciálně zvětšuje. Jestliže má IFS systém pouze dvě transformace a začínáme s jedním počátečním bodem, budou potom v množině po první iteraci body dva, po druhé iteraci body čtyři atd. Pro větší počet transformací je samozřejmě tento růst ještě prudčí. Tato vlastnost se musí obejít buď tím, že nastavíme relativně malý počet iterací, nebo omezíme velikost množiny Xi.
next up previous contents
Next: Úprava algoritmu pro náhodnou Up: Deterministický algoritmus Previous: Deterministický algoritmus
Tisnovsky Pavel
1999-05-30