XaoS
-=-=-=
The difference between art and science is that science is what we
understand well enough to explain to a computer. Art is everything else.
-- Donald Knuth, "Discover"
Jan Hubička, 6. ledna 1998
Když jsem byl předminulé prázdniny v Americe, můj přítel
Thomas mi ukazoval jeho prohlížeč Mandelbrotovy množiny. Abych
ho rozzlobil, řekl jsem mu, že je to pomalé a pokud to negeneruje
plynulé animace, nemá to smysl. Thomas mi ale vysvětlil, že to není
možné. Začalo mě to zajímat a uvažoval jsem nad tím, jestli by to
přece jenom nějak nešlo.
Obrázek
Časem jsem přišel na algoritmus, který vezme původní obrázek
a vygeneruje o trochu zvětšený tak, že některé body posune a dopočte
jenom několik nových detailů. Tím se ušetří většina (90%) výpočtů.
Přes noc jsem to potom naprogramoval. Přestože animace byla pořád
dost pomalá, Thomasovi se to moc líbilo. A tak místo objevování
Ameriky jsme několik dalších dnů programovali a do týdne byla
hotová první verze XaoSe. Přidali jsme několik dalších množin
a optimalizací (hlavně to, že pokud program počítá nový pixel
uprostřed jednolité oblasti, předpokládá, že pixel bude mít stejnou
barvu).
Postupem času se k vývoji přidalo několik dalších programátorů
a tak v poslední verzi 3.0 (kterou hodlám pustit do světa co
nejdříve) už toho XaoS umí docela hodně - 10 různých množin,
22 obarvovacích módu, přehrávání animací, truecolor atd. Podporuje
SVGAlib, X11, DOS, plan9, AA, curses, BeOS, OS/2 a Macintosh.
Distribuce také obsahuje úvod do fraktálů, příklady atd. Základem
je pořád stejný algoritmus ale přidali jsme ještě unrolling smyček,
periodicity checking, boundary detection a další algoritmy, a tak je
XaoS přibližně dvakrát rychlejší, než předchozí verze. Doufám, že se
Vám bude líbit.
Domácí stránka je na adrese:
http://www.paru.cas.cz/hubicka/XaoS a vývojové verze 3.0 najdete
na ftp://ftp.ta.jcu.cz/pub/linux/hubicka/XaoS/experimental.
výheň