Fractalia - Terra dei Frattali

Fractalia - Cosa sono i frattali?

Abbiamo visto, molto alla carlona, come usare le formule che abbiamo a disposizione. Adesso, invece, vedremo come crearle. Questo tutorial sarà un poco antipatico a chi no ha mai programmato, perché le formule che si scriveranno possono essere assimilate a dei programmi, in pratica, e per chi non l'ha mai fatto potrà risultare, quindi, un pochino ostico. Comunque, sono cose che si imparano con dieci minuti, e anche meno, d'attenzione.

    Prima di tutto dovrete creare un nuovo file formula. Per fare questo, cliccate sul menù File: dopo, su Fractal Formula File. Vedrete che si creerà una nuova finestra, simile al blocco note di Windows. Questo è l'editor di formule: Prima di creare la vostra formula, copiate questa qua sotto, e commentiamola assieme:

    Dopo averla copiata, salvate il file (vi consiglio di salvarlo come Tutorial-ufm nella cartella MyFormulas, per non confonderla con la cartella Public), e apritelo come se vorreste aprire una nuova immagine: ALLELUIA, abbiamo creato il frattale di Mandelbrot!!!

 

    Dopo che vi siete ripresi, riaprite la formula col compilatore (andate su Open, e come tipo di file scegliete UFM, ovvero fractal formula), ed analizziamola.

    Prima di tutto, potete vedere che il file si divide in sei sezioni principali:

global:
init:
loop:
bailout:
default:
switch:

 

Analizziamole.

global:

    Qua vengono effettuate tutte le operazioni che ci servono soltanto una volta, come ad esempio, nel nostro caso, l'assegnazione di una valore a una variabile, o l'inizializzazione della matrice d'immagine (potete ignorare quest'ultima, dato che solo in pochi riescono a gestirla, e io non sono fra questi...). Dato che ormai sapete come si crea un frattale, sapete che per essere visualizzato ogni singolo punto (pixel nel caso di uno schermo) deve essere soggetto ad una serie di operazioni. In questa sezione, invece, vengono effettuate le operazioni che devono essere calcolate soltanto una singola volta per tutta la formula. Vedremo qualche altro esempio più avanti.

 

init:

    Qui vengono effetuate le operazioni che servono all'inizio dell'iterazione di un singolo pixel, come ad esempio dare un valore ad una variabile, che però cambia a seconda del pixel che prendiamo in considerazione. Nel nostro caso, assegnamo al valore complesso z il valore 0. Per come l'abbiamo scritto rappresenta lo 0 del piano complesso: non preoccuparti di questo, per ora; vedremo i tipi di variabile più avanti.

 

loop:

    Questa è probabilmente la parte più importante della formula. E' qua che scriviamo la formula principale che serve al programma. Nel nostro caso, abbiamo la formula che è z^2+c, dove c rappresenta, ogni punto, il valore del punto. Per questo, al posto di c andiamo a mettere il valore #pixel.

#pixel è un simbolo predefinito del compilatore, e rappresenta il numero immaginario del pixel che stiamo iterando. Ci sono molti altri simboli, come #pi o #e, oppure ancora #center, ma li vedremo più avanti.

 

bailout:

    Rappresenta la condizione di bailout. Come sapete, un punto appartiene o non appartiene ad un frattale se, durante l'iterazione, il suo modulo supera quello del valore di bailout. Questa sezione si occupa di questo: dopo ogni ciclo di loop viene verificata questa condizione. Se è vera, allora si procede al loop successivo, altrimenti smette. questo, ovviamente, non può durare all'infinito. Quando il punto raggiunge il limite massimo di iterazionidefinito nel Formula Tab, il loop viene comunque sospeso.

 

default:

    Qui non si effettuano operazioni, ma si danno indicazioni sui valori standard della funzione: nel nostro caso, abbiamo cambiato, mediante il comando center, la locazione del frattale, ed abbiamo aggiunto dei comandi per poter modificare il valore di n (che sarebbe la potenza della formula). Qui si mettono tutti i parametri che poi si possono personalizzare nella formula.

 

switch:

    Questa sezione si occupa, come avrete intuito, dello switching, ovvero del passaggio fra due formule. Quando passiamo con lo switch dall'insieme di Mandelbrot a quello di Julia, portiamo in causa questa sezione. Se non si intende usare formule con lo switching, potete anche non considerare questa sezione.

 

    Dopo aver letto tutto quanto, sarete ancora più incasinati di prima: è naturale. Ci sono passato anch'io, ed effettivamente non è facilissimo muovere i primi passi nella compilazione di formule. Una volta capito il meccanismo, però, vi verranno in mente un  sacco di formule da provare!!!

    Va bene, dopo aver visto questa rapida panoramica delle sezioni, intrufoliamoci più a fondo.

 

Immagine che si ottiene con la formula nel riquadro.

Per creare una nuova formula, usate il tasto

Scegliete un nome, e il tipo di simmetria
(di solito non si usa simmetria)

Fate sempre prima delle annotazioni su carta
della formula che volete fare:
iniziare senza avere idee in testa crea soltanto
spazzatura.
Non scoraggiatevi le prime volte:
se avete anche qualche volta provato
a scrivere programmi in C, Basic,
Pascal etc sapete bene che è
quasi impossibile creare programmi
(nel nostro caso, formule) che
funzionino al primo colpo, anche se si è esperti.