Fractari

Fractari je program pro generování Mandelbrotovy množiny na 8bitovém Atari. Výpočet probíhá až v 32bitové přesnosti, v pevné desetinné čárce, a používá nejrychlejší autorovi známé algoritmy.

Pro finální zobrazení je použit 8barevný režim, který používá změnu barev ob řádek, případně v kombinaci s blikáním.

Program podporuje PAL i NTSC.

Napsáno v MADS assembleru, s vydatnou pomocí emulátoru Altirra.

Spáchal R0ger, v červnu 2020. Dík PG za testování, náměty, a název!

Inspirováno Youtube videem "Guide to Exploring the Mandelbrot Set".

Stavová lišta:

Z - aktuální zoom. Možné hodnoty jsou 1-22. Přesnost výpočtu je pak následovná:

	1-6 - 16 bitů
	7-14 - 24 bitů
	15-22 - 32 bitů

Hodnoty I, S, O, R, P a M viz stejné klávesy v ovládání níže. Dále je zobrazen čas posledního výpočtu a průběh aktuálního výpočtu v procentech.

Ovládací prvky dostupné kdykoliv, tj. i během výpočtu:

Joystick - ovládání kurzoru, tlačítko provede Zoom-in
Backspace - Zoom out
Esc - přerušení výpočtu
Return - zopakování výpočtu
Mezerník - skrytí kurzoru a stavové lišty

M,shift+M - režim zobrazení během výpočtu. Po ukončení výpočtu se výsledný obrázek vždy zobrazí pomocí režimu 2.
0 - pouze stavová lišta, maximální rychlost
1 - Antic D, 4 barvy, mírné zpomalení (cca o 17 %)
2 - Antic E, kernel, 8 barev, výrazné zpomalení (více než 2x)

L - během výpočtu se zobrazuje naposled dokončený obrázek (za použití módu 2 a tedy výrazného zpomalení)

F - blikající mód - vhodný zejména pro LCD televize, prohazuje sudé a liché řádky každý snímek. Pouze pro režim 8 barev.

Ovládací prvky dostupné pouze po dokončení obrázku:

S, Shift+S - škálovaní barev. Tato hodnota určuje hustotu vrstevnic. Je vhodné ji zvětšit při větších zoomech pro lepší zobrazení detailů v hustých oblastech.

O, Shift+O - offset při škálování. Pokud je hodnota škálování větší než 1, je možné posouvat hranice mezi barvami Vhodné pro vyladění tvarů vrstevnic.

R, Shift+R - rotace palety. Posouvá barvy v paletě, aniž by byly ovlivněny tvary vrstevnic.

P, Shift+P - změna palety. Přepne na jednu z devíti předdefinovaných barevných palet.

Při změnách hodnot S, O, R a P se používají již vypočítané hloubky a obnovení obrázu je relativně rychlé.

I, Shift+I - změna počtu iterací. Tato hodnota přidává detaily uvnitř množiny (černá oblast). Zároveň ale může výrazně zpomalit výpočet.

	1 - 32 iterací
	2 - 64 iterací
	4 - 128 iterací
	8 - 256 iterací  

Změněná hodnota I se použije při dalším výpočtu, případně je možné použít klávesu Return pro přepočítání aktuální pozice.

C - zobrazení aktuálních souřadnic. Primárně určeno pro přenos pozice na jiný počítač. Shift+C - zadání nových souřadnic.

U - vrácení souřadnic naposled zadaných joystickem, např. po nechtěném

0-9 - předvolby přednastavených pozic. Uveden čas v režimu M:1. 
0 - 0:24 - počáteční pozice.
1 - 6:19 - zmenšená Mandelbrotova množina na relativně nízkém zvětšení.  
2 - 3:27 - sloní hlava. Černou oblast je možné vyplnit detaily zvětšením hodnoty I.
3 - 15:48 - zmenšené Mandelbrotovy množiny uvnitř sloních chobotů jsou zkosené.
4 - 4:52 - fjordy. Nízká hodnota I omezuje množství detailů na hranici černé oblasti, což ale může být taky zajímavé.   
5 - 16:10 - dvojitá spirála.
6 - 18:45 - jiná zmenšená Mandelbrotova množina. Tyto kopie mají vždy různé okolí, v závislosti na oblasti, kde se nacházejí. 
7 - 15:53 - dron. V okolí této zmenšeniny se nacházejí 4 oblasti připomínající vrtule.
8 - 15:15 - strom? Jaderný výbuch? Řez mozkem? Sandál?
9 - 63:46 - maximální zvětšení. Větší zvětšení mají typicky víc detailů, ale výpočet trvá déle. 

Tab - party mód - postupně počítá přednastavené pozice, počínaje naposledy použitou. Možné kombinovat s módem zobrazení posledního obrázku (klávesa L).

Program Fractari vyžaduje 64 KB RAM. Spustit jej lze z FLOP readeru, DOSu i QMEGu.