Next: Vytváření IFS kódu
Up: Systém iterovaných funkcí IFS
Previous: Typy transformací v systému
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áž
|
Next: Vytváření IFS kódu
Up: Systém iterovaných funkcí IFS
Previous: Typy transformací v systému
Tisnovsky Pavel
1999-05-30