FraktályLenka Eslerová
Závěr výletů do světa nádherných obrázků, žijících v mezeře mezi přímkou a
rovinou Minule jsme si povídali o tom, jak vznikají fraktály založené na komplexních
číslech, například známá Mandelbrotova množina. Jistěji nikdo z vás nechce
konstruovat ručně, mnozí z vás také nechtějí psát program na kreslení fraktálů -
to ale nevadí, neboť několik hezkých prográmků (a také dost velkých, rozsáhlých
a schopných programů) můžete najít na Aminetu. O některých z nich si dnes něco
povíme. Chaos Pro
Začátkem února se objevila nová verze programu Chaos Pro určeného pro
generování fraktálů. Tento produkt má oproti obdobným nezvykle mnoho parametrů -
nezkušeným možná bude jeho ovládání činit trochu potíže; avšak pro ty, kteří to
již někdy zkoušeli, je to učiněný ráj. A navíc: autor (Martin Pfingstl) tento
nádherný program uvolnil jako PD!
Jaké jsou požadavky programu? OS 2.0 nebo vyšší, procesor 68020 nebo vyšší plus
matematický koprocesor
a minimálně 2 MB paměti.
Chaos otevírá nové okno pro každý zpracovávaný fraktál a používá multitasking -
můžete tedy generovat několik fraktálů najednou. Ovládání je přitom logické,
snadno se také jedním kliknutím můžete zbavit všech oken patřících k některému
fraktálu, který vás už přestal bavit - dle mého názoru je tato možnost velmi
prozíravá, nebol k některým fraktálům lze otevřít několik oken s parametry, okno
pro 2D a okno pro 3D podobu fraktálu zkuste se v nich pak rychle zorientovat.
Průzkumníci světa fraktálů také jistě ocení snadné zadání zoomu, majitelé
graficky zdatnějších sestav zase možnost ukládání fraktálů ve 24-bitovém
formátu.
Hravým doporučuji vyzkoušet množství různých palet, a také cyklování barev.
Skutečnou lahůdkou je potom možnost animací - zvolíte si například Juliovu
množinu, necháte průběžně měnit její parametr c, a zároveň velikost výřezu.
Výsledný efekt: noříte se do měnící se množiny!
V okně Fractal Pictures si můžete vybrat některý z fraktálů, které program zná
(například 28 fraktálů založených na komplexních číslech) - všechny potřebné
parametry pro jeho výpočet budou správně nastaveny. Chaos samozřejmě jako snad
všechny programy tohoto typu nabízí výpočet Mandelbrotovy a Juliovy množiny
(troška teorie na toto téma se najde v minulém čísle Amiga Review), tím však
jeho možnosti nekončí. O dalších typech fraktálů, s nimiž Chaos počítá, se
zmíním dále.
Program také umožňuje zkoušet vaše vlastní vzorce - k tomu vám nabízí velmi
chytrý editor vzorců; pokud jste četli předchozí díly tohoto seriálu, jistě si
domyslíte, že zadat rozumné parametry nebude jednoduché - proto je editor dosti
složitý. Je možné dokonce počítat i takové fraktály, jejichž vzorce se během
výpočtu mění! Ve vzorcích je možno použít běžné funkce algebraické,
goniometrické, cyklometrické, hyperbolické, logaritmické, exponenciální, logické
a relační operátory... (hmm, zajímalo by mě, kolik z vás tuší, o čem právě teď
šla řeč).
Ke každému fraktálu můžete nastavit spoustu parametrů, například velikost
výřezu; počet iterací při výpočtu (to jest maximální počet opakování výpočtu pro
každý bod, po němž rozhodnu, do jaké kategorie daný bod patří, a jak ho tedy
obarvím); velikost rotace obrázku; způsob vybarvení vnitřku a vnějšku množiny
atd. Proč nejde přesně předpovídat počasí
V prvním díle jsem slíbila prozradit něco o tom, jak fraktály souvisí s
předpovídáním počasí. Tak tedy: v roce 1961 meteorolog Edward Lorenz sestavil
systém diferenciálních rovnic, které měly popisovat vývoj počasí (diferenciální
rovnice zde slouží k tomu, abychom ze znalosti aktuální hodnoty nějakých veličin
- zde například teploty, tlaku, směru a síly větru apod. - určili, jaký bude
stav těchto veličin za chvíli). Po nějaké době experimentování s těmito
rovnicemi zjistil, že výsledek silně závisí na tom, s jakou numerickou přesností
se výpočty prováděly (tj. vlastně na míře zaokrouhlování); maličká změna
počátečních hodnot totiž vedla k naprosto odlišným výsledkům. Tak tento pán
dospěl ke slavnému poznatku: "Mávnutí křídel motýla v Brazílii může vyvolat
hurikán v Texasu." Potom Lorenz zadal určité konkrétní hodnoty parametru ve
svých rovnicích a zkoušel různé počáteční hodnoty. Kupodivu zjistil, že i při
velmi odlišných hodnotách dostává stále stejný obrázek, který měl velmi
komplikovanou strukturu - skládal se z nekonečně mnoha smyček a vypadal podivně,
skoro jako motýl. Tento obrázek měl tedy fraktální strukturu a byl pojmenován
"podivný atraktor" (slovo "atraktor" je příbuzné slovu "atraktivní", což znamená
přibližně totéž jako přitažlivý, jak jistě víte).
Mnozí vědci tohle všechno považovali za "hračičky", které nejsou k ničemu dobré,
protože za to všechno určitě mohou zaokrouhlovací chyby v počítači. Je ale známo
z mnoha fyzikálních zákonů, že příroda také leckde počítá jen s celými čísly, a
proto se rovněž musí dopouštět zaokrouhlovacích chyb. Proto vlastně může počítač
skvěle napodobit skutečnou přírodu, svět kolem nás...
K předpovídání počasí se tedy (kromě lidových pranostik, které zahrnují
tisícileté zkušenosti pozorovatelů) užívají Lorenzovy rovnice. Jenže jak jsem
již uvedla, závisí výsledek dost značně na přesnosti, včetně přesnosti zadání
počátečních hodnot. A zde je právě zásadní problém: my totiž nemůžeme tlak,
teplotu ani další veličiny změřit naprosto přesně - vždy jen na nějaký (ale
pevně daný) počet desetinných míst. Proto jsou výsledky výpočtů vždy nějakým
způsobem zkreslené: proto je pravděpodobné, že zítra bude takové počasí, jaké
dnes hlásili, v předpovědi počasí - ale jak bude za týden, za měsíc (nebo
dokonce za rok) - nuže, to lze jen přibližně odhadovat a skutečnost se může
hodně, hodně lišit. Pokud jste četli pozorně, víte teď také, že v tomhle nám
nepomohou ani daleko rychlejší a výkonnější počítače. Takže jestliže vám
začátkem prázdnin meteorologové předpovědí, že po celý červenec bude krásně a
teplíčko, vy odjedete na dva týdny na dovolenou a celý druhý týden bude pršet,
nemějte jim to za zlé, oni za to nemohou. To se jenom příroda vydala po vedlejší
smyčce...
Fraktály tohoto typu vám Chaos Pro nabízí také, a to pod názvem Dynamic System.
Chaos Pro 3.0 |
Hodnocení: 9,0 z 10 |
Autor: M.
Pfingstl |
Cena: - |
Typ: PD |
+ |
generování fraktálů v
multitaskingu, velmi schopný editor vzorců, další typy fraktálů (nejen v
komplexních číslech |
- |
větší nároky na hardware |
Další a další fraktály
Fraktály typu Bifurcation přibližně popisují vývoj populace - asi takto:
vím, kolik králíků mi v nějakém údolí (odkud nemohou utéct) žilo letos, vím,
kolik tam mají potravy. Kolik jich tam bude za rok, za dva roky atd.? Při
určitém množství potravy se počet králíků po několika letech ustálí, při jiném
se budou střídat 2, 4 nebo 8 nebo více hodnot, při dalších bude počet králíků v
jednotlivých letech víceméně náhodný. Tuto závislost zachycuje příslušný
fraktál. Vývoj lze samozřejmě vztáhnout i na jiné živočichy.
Na podobném principu jsou založeny fraktály typu Lyapunov Space: i zde se
simuluje vývoj populace, zkoumá se však, jestli při daných hodnotách dojde k
ustálení hodnot, nebo se nějaký počet hodnot bude pořád dokola opakovat, nebo
jestli vznikne úplný chaos. Podle toho se pak bodům přiřadí barvy.
Fraktály Plasma napodobují neuspořádaný Brownův pohyb můžeme se pohybovat v
určitém prostoru různými směry, vzdálenost, u níž se pohneme v každém kroku se
určí náhodně: přitom však malé vzdálenosti padnou častěji než velké. To je
stručný popis, ale podrobněji by to bylo dost složité.
Diffusion fraktály pro změnu (nečekaně?) simulují difúzi dvou kapalin a podobné
jevy.
Na některých obrázcích kolem tohoto článku jsem se pokusila představit vám různé
typy fraktálů, které Chaos "umí". Vezmete-li si lupu (bystrozrací nemusí), snad
na lištách jednotlivých oken zjistíte, o jaký typ zrovna jde, a uděláte si tak
obrázek o tom, co se zase skrývá za vší tou teorií, do které vás stále tahám.
A jen tak mimochodem, autor Chaosu má dobrý smysl pro humor: někde za tímto
článkem byste měli najít pár perliček, opsaných z nápovědy. FU neboli FractalUniverse
Program FU je shareware, za Poplatek 20 DM obdržíte od autora keyfile.
Omezení demoverze: nelze ukládat hotové obrázky a nastavení, po spuštění
demoverze se po dlouhou dobu objevují různé informace o Programu a jeho tvůrcích
(totéž po volbě položky About...) a teprve po skončení této "show" můžete s
programem pracovat. Demoverze, kterou jsem zkoušela, byla z poloviny minulého
roku.
FU má sice hezkou nápovědu, ale přečtou si ji jen ti, kdo ovládají němčinu
(myslím, že znalost angličtiny je mezi uživateli počítačů lepší). Program v
současné době nabízí 68 připravených vzorců pro fraktály typu Mandelbrot, Julia,
Newton-R, interferenční a magnetické. Vestavěný je rovněž interprety vzorců,
který vám umožní vlastní umělecký rozlet. Zajímavostí je Inspect-mód - viz dále.
Podobně jako Chaos Pro má i FU podporu ARexxu a umožňuje vytváření fraktálních
animací.
K provozování FU potřebujete systém 2.0 nebo vyšší, doporučuje se výkonnější
procesor nebo turbokarta (kolem fraktálů se vždy musí provádět velké množství
výpočtů).
Zvláštností FU je způsob generování barevné palety - pro červenou, zelenou a
modrou složku barev nadefinujete prostě nějaký průběh (nechť je to například
určitá část sinusovky pro červenou, trojúhelníkový průběh pro zelenou a ořezané
trojúhelníky pro modrou) - tyto funkce jsou spojité, čímž dostaneme takovou
paletu, že barvy se mění plynule, jakoby duhově. Pro vylepšení vzhledu fraktálů
nabízí FU 12 možností vybarvení vnitřku a 18 vybarvení vnějšku dané množiny.
Také u FU lze poměrně snadno volit výřez pro zoom, zde však musím poznamenat, že
u okna pro nastavení parametr pro zoom (i u dalších) se program nedokáže
vyrovnat se změnou velikostí fontu: máte-li v systému nastaven větší font, než
program očekává, budou okna větší a vylezou vám z obrazovky.
FractalUniverse používá dvě obrazovky - jednu pro řízení a komunikaci s
programem, na druhé se pak vykresluje vlastní fraktál. Postup práce je
následující: po případném nastavení preferencí navolíte typ fraktálu a vzorec,
který chcete vykreslit (v okně Formula), stiskem tlačítka Render pak spustíte
výpočet.
Zmínila jsem se o funkci Inspect. Chcete-li vykreslovat detaily fraktálů,
obvykle musíte "naslepo" zvolit nějaký výřez, nechat ho napočítat, podívat se,
co vyšlo, a pokud to není Právě to, co jste chtěli, opakovat celý postup. Funkce
Inspect tohle všechno dost zjednoduší - po její volbě stačí kliknout někam do
vykresleného obrázku; dokud držíte stisknuté tlačítko myši, můžete libovolně
přejíždět po obrázku a v malém okně se vám ukazuje struktura fraktálu v daném
místě, tj. přibližný tvar obrázku, který byste dostali pomocí zoom v daném
místě. Takto lze snadno odhalit různé spirály, hvězdy a podobné půvabné tvary ve
zkoumaném fraktálu. Tato funkce opravdu u jiných podobných programů nemá obdoby. Nejen zábava
Jak jste se mohli přesvědčit, svět fraktálů je nejen krásný, ale i složitý.
Někteří z vás si teď možná říkají: no, pěkné to je, ale co s tím, je to k něčemu
užitečné? Odpověd zní - ano.
Fraktály (konkrétně iterační systémy funkcí) jsou základem některých metod
používaných ke kompresi obrázků. Pokud jste si někdy pohrávali s různými
kreslícími programy (teď mám na mysli zvláště různé programy určené hlavně pro
profesionální grafiku) a se softwarem pro zpracování fotografií, jistě jste si
všimli, že výsledky vaší práce (mnohobarevné obrázky a obrázky ve vyšších
rozlišeních) zabírají strašně moc místa; je tedy potřeba je komprimovat. Zvláště
v případě fotografií jde obvykle o různé záběry s přírodními motivy nebo
texturami, o nichž jsme si řekli jednu důležitou typickou věc: jejich motivy se
stále opakují v menších a menších detailech.
Princip komprese pak můžeme zjednodušeně popsat takto: vezmeme obrázek, nějak ho
natočíme a zmenšíme tak, aby výsledek "pasoval" na některou část původního
obrázku. Toto opakujeme tak dlouho, až celý obrázek Pokryjeme zmenšenými kopiemi
sebe sama (v různých velikostech a polohách). Ty zaznamenáme a matematicky - to
jest nějakými vzorečky - popíšeme způsob, jakým jsme je zmenšovali, natáčeli a
umísťovali. Při dekomprimaci si naopak vezmeme zmíněné vzorečky, napočítáme
potřebné údaje (podobá se to konstrukci Mandelbrotovy množiny, viz minulé číslo)
a do správných pozic naskládáme body. Zde sc využívá jedna milá vlastnost IFS:
nejenže z rovnic můžeme napočítat obrázek, ale také z obrázku lze zrekonstruovat
původní systém rovnic. Takže se předpokládá, že daný obrázek je výsledek
nějakých rovnic, tyto rovnice najdeme a zaznamenáme. Obrázek pak lze znovu
kdykoliv rekonstruovat.
Pro úplnost - takto lze komprimovat samozřejmě pouze černobílé obrázky (jak bylo
řečeno, fraktály jsou vlastně černobílé obrázky, kde barva bodu znamená, zda
daný bod patří nebo nepatří do nějaké množiny; všechny ty další barvičky jsou
vlastně jen pro efekt...) - co s tím? V praxi se to řeší tak, že z jednoho
barevného obrázku se udělají čtyři černobílé; jeden z nich zachytí intenzitu (to
jest: jak byl který bod světlý), další pak červenou, zelenou a modrou složku
obrázku (jistě víte, že třeba i obraz v televizi se skládá ze tří takto
barevných paprsků - a co různých barev z toho jde vykouzlit!). Jednotlivé
obrázky se potom popsaným způsobem zkomprimují.
Většinou je možno zvolit, jak moc chcete obrázky komprimovat. Pokud vám nevadí,
že ztratíte nejdrobnější detaily, lze ušetřit opravdu hodně místa. Algoritmy
jsou dnes již tak propracovaně, že jen těžko rozlišíte originál a obrázek po
komprimaci a dekomprimaci. Znovu připomínám, že metoda je založena na opakování
vzorů - například stereogramy typu SIRDS (viz jiný článek v tomto a minulém
čísle) prakticky vůbec komprimovat nejdou; je to totiž skutečně naprosto
neuspořádané seskupení náhodných bodů.
Fractal Universe 1.6 |
Hodnocení: 8,0 z 10 |
Autor: Stefan
Kost |
Cena: DM 20,- |
Typ: shareware |
+ |
Inspect mód, editace palety |
- |
při použití většího fontu se
okna nevejdou na obrazovku |
Vytlačiť článok
Pozn.: články boli naskenované ako text a preto obsahujú aj zopár chýb. Taktiež neručíme za zdrojové kódy (Asm, C, Arexx, AmigaGuide, Html) a odkazy na web. Dúfame, že napriek tomu vám táto databáza dobre poslúži.
Žiadna časť nesmie byť reprodukovaná alebo inak šírená bez písomného povolenia vydavatela © ATLANTIDA Publishing
none
|