Fractint, un programma per
creare frattali
I programmini che ho realizzato sono soltanto degli
esempi: per le vostre esplorazioni vi raccomando l'ottimo programma
freeware Fractint che può essere certamente considerato il programma
DEFINITIVO sui frattali.
I suoi maggiori pregi sono:
l'elevatissima velocità di esecuzione, ottenuta,
tra l'altro, ricorrendo ad algoritmi che operano sugli interi anziché
sui reali (quando è possibile);
il vastissimo campionario di frattali visualizzabili;
la semplicità con cui è possibile zoomare e variare
i parametri di visualizzazione.
Tutte le immagini presenti in questa pagina sono
state create con Fractint.
I file GIF creati da Fractint hanno una importante
caratteristica:
oltre alla bitmap contengono al loro interno alcune
informazioni che Fractint stesso è in grado di riutilizzare;
queste informazioni sono etichettate come Application
Data Block nel pieno rispetto dello standard GIF89a, uno standard
estremamente versatile.
I programmi diversi da Fractint (compreso il vostro
browser) ignorano i data block di altre applicazioni e visualizzano
l'immagine senza problemi.
Provate a caricare una di queste immagini in Fractint
e noterete che il programma si riporta automaticamente nello stato
in cui si trovava quando l'immagine è stata creata:
tutti i parametri che controllano l'aspetto dell'immagine
vengono reimpostati e quindi è possibile riprendere l'esplorazione
dal punto esatto in cui era stata interrotta.
Le GIF di questa pagina si trovano ora nella cache
del browser.
Se non volete perdere tempo a cercarle, potete
facilmente salvarle in una directory a piacere:
cliccate su ciascuna di esse col tasto destro del
mouse e scegliete l'opzione Salva con nome o Save as.
Qui di seguito vi propongo qualche altro esempio
di ciò che si nasconde lungo la frontiera di M.
|
|
|
|
Fig 8-9; Particolari dell'insieme
di Mandelbrot
|
Volete sapere quali sono le coordinate della porzione
di piano visualizzata in fig. 8?
Basta caricare l'immagine in Fractint (tasto R)
e premere Tab.
Volete vedere in quale punto di M si trovano queste
coordinate?
Basta zoomare all'indietro (tasti Page Up e Ctrl-Enter)
fino a visualizzare l'intera cardioide: il punto che apparirà al
centro dello schermo sarà quello che sono andato ad esplorare.
Volete aumentare la risoluzione per vedere meglio
l'immagine?
Basta premere il tasto Del e scegliere uno dei tanti
modi video supportati: l'immagine verrà ricalcolata al volo (non
si tratta di un semplice ingrandimento della bitmap).
Le immagini di questa pagina sono state create in
modalità preview così da poterne regolare la risoluzione a piacere;
il preview può essere disattivato dal menu Preview Options (tasto
V).
Quando si esplora un particolare di M in profondità
è importante regolare opportunamente il valore del numero massimo
di iterazioni (quello che nei programmini dimostrativi era chiamato
MAXCONT).
Le figure seguenti mostrano chiaramente l'effetto
di un valore limite troppo basso.
|
|
|
|
Fig 10-11; Effetto di un
numero massimo di iterazioni insufficiente
|
Dalla fig. 10 si ha l'impressione di aver trovato
un sottoinsieme di M di forma approssimativamente circolare ma in
realtà questo "buco nero" non esiste:nei punti di colore nero la
successione diverge dopo un numero di iterazioni maggiore di quello
fissato e quindi questi punti vengono erroneamente attribuiti ad
M; è sufficiente raddoppiare il limite (da 1500 a 3000) per rendersi
conto di come stanno realmente le cose (fig. 11).
Per evitare di prendere abbagli bisogna ricordarsi
di aumentare progressivamente il numero limite di iterazioni al
crescere del fattore di zoom.
Nel farlo, però, bisogna anche tenere presente
che un limite troppo alto rallenta la generazione delle immagini,
in particolare di quelle che contengono molti punti appartenenti
ad M.
Nei piccoli sorgenti visti prima ho privilegiato
la velocità a scapito della precisione ponendo MAXCONT=61: si tratta
di un valore appena accettabile per ottenere una vista complessiva
di M ma risulta del tutto insufficiente non appena si inizia a zoomare.
In Fractint il numero limite di iterazioni può
essere modificato dal menu Basic Options (tasto X).
Come è facile immaginare, la scelta della palette
(la tavolozza dei colori) è determinante per la resa estetica dell'immagine;
per questo motivo Fractint fornisce numerose palette già pronte
(ce ne sono anche alcune ottimizzate per l'uso con occhiali stereoscopici!).
Le figg. 6 e 7 usano la palette BLUE.MAP mentre
la 8 e la 9 usano VOLCANO.MAP.
E' possibile applicare una nuova palette ad una
immagine premendo C e poi L.
La scelta di una buona palette, tuttavia, non è
sufficiente a garantire un buon risultato.
Le due immagini seguenti mostrano uno stesso particolare
di M e usano la stessa palette (BLUE.MAP), ciò che cambia è il modo
in cui i colori della palette vengono assegnati ai pixel.
|
|
|
|
Fig 12-13; Differenza tra
palette lineare e logaritmica
|
Nel primo caso ho utilizzato il criterio predefinito:
l'assegnazione lineare 1:1.
Questo criterio assegna a ciascun pixel il colore
N, dove N è il numero di iterazioni effettuate; se N è maggiore
del numero di colori disponibili si ricomincia a contare dal colore
0.
Il criterio lineare dà buoni risultati con immagini
poco ingrandite ma diventa subito inadeguato al crescere del fattore
di ingrandimento e del numero massimo di iterazioni.
Per la figura di destra, invece, ho usato il criterio
logaritmico ottenendo un migliore contrasto.
E' possibile scegliere il criterio di assegnazione
dal menu Basic Options (tasto X).
Un'altra interessante funzione riguardante la palette
è il color cycling ovvero una rotazione continua dei colori che
in alcuni casi (immagini dalla forma spiraleggiante) ha degli effetti
quasi ipnotici.
Il color cycling si attiva con il tasto C seguito
da "+" o "-" per scegliere il verso della rotazione; è anche possibile
modificarne la velocità con i tasti Up e Down.
Provatelo con l'immagine di fig. 14 che usa la
palette CHROMA.MAP.
|
|
|
Fig 14; Immagine adatta
al color cycling
|
L'eseguibile FRACTINT.EXE, di grosse dimensioni,
presenta al suo interno un ricco manuale consultabile a run-time;
è anche possibile estrarre il manuale ed ottenere così un testo
pronto per la stampa: basta lanciare il programma con il parametro
MAKEDOC.
La lettura del manuale vi permetterà di apprendere
tutte le altre interessanti funzionalità del programma (ad esempio
la possibilità di creare stereogrammi) e di sfruttarlo al meglio
per esplorare M e tutti gli altri frattali disponibili.
Buon viaggio!
;-)
potete trovare Fractint QUI
|