next up previous contents
Next: Vytváření IFS kódu Up: Systém iterovaných funkcí IFS Previous: Typy transformací v systému

Využití IFS v praxi

Systémy iterovaných funkcí tvoří velmi důležitou skupinu lineárních deterministických fraktálů. Jejich nejdůležitější aplikací je v současné době takzvaná fraktální komprese dat. Jak už bylo dříve řečeno, první publikace o IFS publikoval Demko v roce 1985 a Barnsley v roce 1987. V obou publikacích autoři předkládají praktický návod, jak používat IFS pro generování textur. IFS se skutečně používají pro tuto činnost a to i v běžných aplikacích, jako jsou například počítačové hry. Později se metoda IFS ukázala jako mimořádně výhodná pro kompresi dat, jelikož jedna transformace je v tomto případě zapsána pouze pomocí osmi čísel (šest čísel na zapsání transformace a dvě čísla na změnu kontrastu a jasu). Metodu IFS využívá mimo jiné i grafický formát FIF. V porovnání s ostatními grafickými formáty dosahuje většinou lepších výsledků, nebo výsledků alespoň srovnatelných se ztrátovou metodou JPEG (komprese pomocí IFS je také ztrátová metoda). Tento grafický formát se bohužel moc nerozšířil, protože algoritmus komprese je patentovaný. Způsob komprese v grafickém formátu typu FIF je patentovaný firmou Iteration Systems, která také dodává hardwarové akcelerátory ve formě zásuvných karet do počítačů. Dekompresní algoritmy jsou dostatečně rychlé pro programovou implementaci a jsou volně dostupné. Například pro HTML prohlížeč Netscape existuje plug-in modul pro zobrazování obrázků typu FIF. Velkou výhodou tohoto formátu je možnost zobrazení obrázku ve velkém zvětšení bez viditelné ztráty kvality. Měl jsem možnost vyzkoušet program na kompresi pomocí IFS vyvinutý pro studijní účely (šlo o diplomovou práci jednoho italského studenta), a mohu tvrdit, že komprese je při dobře nastavených parametrech až 1:100. Obrázek o velikosti 256x256 pixelů v 256 odstínech šedi se komprimoval asi 15 minut na počítači vybaveném procesorem 486DX2 na 66Mhz se zabudovaným matematickým koprocesorem. Při hardwarové akceleraci se čas komprese pohybuje řádově v sekundách. Třetí možností, kde lze využít IFS, je konstrukce trojdimenzionálních objektů, například stromů či rostlin, s následnou možností vizualizace. V této oblasti se využívá jak systém IFS tak i L-systémy. Každý z těchto systémů se hodí k něčemu jinému. Pomocí L-systémů lze vytvářet polygonové objekty pro možnost dalšího zpracování v CAD systému. IFS naopak tvoří jednotlivé body, proto je vhodný například pro programy, které podporují složitější entity, jako jsou například koule či bloby (příkladem takového programu může být například raytracer POVRay). Souřadnice bodů vygenerovaných pomocí IFS je potom použita jako střed zobrazované koule. Zde je opět vidět pěkné využití fraktálů v počítačové grafice, jelikož ruční modelování stromu v CAD systému by bylo nesmírně pracné a dosažené výsledky by většinou neodpovídaly námaze. Jednotlivé body vygenerované pomocí IFS lze také použít jako generující body pro systémy částic (particles), kde umožňují například simulaci růstu rostlin.
 
Figure: Trojrozměrná IFS koláž
\begin{figure}\hspace{5cm} \special{em:graph 3d_ifs.pcx}
\vspace{8cm}
\end{figure}


next up previous contents
Next: Vytváření IFS kódu Up: Systém iterovaných funkcí IFS Previous: Typy transformací v systému
Tisnovsky Pavel
1999-05-30