Negli anni ’90 i computer venivano messi alla frusta da un programma che faceva trascorrere ore ed ore di delizia ai suoi utenti. Incredibilmente, non stiamo parlando di un videogioco, ma di Fractint. Era un programma gratuito che riusciva a calcolare i frattali in modo incredibilmente veloce e poi con i tasti +, – e <spazio> partiva uno spettacolo psichedelico in cui le straordinarie forme venivano animate da colori mozzafiato, realizzando un trip degno di viaggi … di altro tipo.
Il fatto, poi, che i frattali nascessero da formule nel campo dei numeri complessi … beh a quel punto mancava solo l’istituzione di un ordine monastico dei matematici frattisti e avremmo chiuso il cerchio.
Le straordinarie forme dell’insieme di Mandelbrot o di Julia infatti sono generati da una formula iterativa semplicissima:
La domanda fondamentale è: come possono forme così ricche derivare da una formula semplicissima? Il segreto sta, naturalmente, nell’iterazione che spiega anche la ripetizione di motivi all’interno delle strutture del frattale, come se fossero variazioni musicali di un tema o elaborazioni di decorazioni di un tempio. In pratica, realizzando una sequenza di trasformazioni affini contrattive (IFS), si possono produrre frattali di qualsiasi forma.
Concentriamoci sull’insieme di Julia: per ogni punto del piano complesso, calcoliamo e poi aggiungiamo una costante fissa per tutti i punti. Il numero che otterremo sarà il punto di partenza per un’altra iterazione. Il comportamento di questa successione è molto variabile: può esplodere verso numeri molto grandi, oppure rimanere contenuto, diciamo entro un raggio dall’origine. Se dopo un certo numero fissato di iterazioni la successione non diverge, affermiamo che il punto appartiene al frattale.
Come ulteriore finezza, possiamo assegnare una sfumatura di colore in base al valore della successione al termine dei calcoli.
Uno dei possibili risultati (che dipendono dalla scelta di ) è il seguente, ottenuto con ed un limite di 50 iterazioni:
Dopo aver presentato i frattali “metodo classico”, vogliamo raggiungere un obiettivo a metà strada tra l’assurdo e l’inutile, ma con la prospettiva di poter finalmente comprendere le caratteristiche dei frattali. Vogliamo eliminare i numeri complessi dai frattali, trasformandoli in operazioni vettoriali e quindi potenzialmente applicabili nella realtà, ad esempio su un foglio di carta.
Come già detto, se vogliamo vettorializzare correttamente un numero complesso, lo dobbiamo moltiplicare per la base che per noi individua la direzione dell’asse reale (diciamo ):
Quindi la formula del frattale di Julia in forma vettoriale diventerà:
che è equivalente (moltiplicando a destra per ) e considerando che all’equazione:
che esprime un fatto geometrico: il vettore successivo è pari alla riflessione della base rispetto al vettore precedente a cui si somma il vettore costante .
Allora possiamo generare il frattale di Julia in questo modo: per ogni punto del piano rappresentato dal vettore specchiamo la base su questo vettore, lo scaliamo di un fattore e poi sommiamo . Il vettore risultante sarà sottoposto alle stesse operazioni fino a raggiungere il limite di iterazioni fissato.
Se il risultato è limitato (diciamo interno al cerchio di raggio 2), allora il punto iniziale appartiene all’insieme di Julia.
Guardiamo il risultato complessivo: alcuni punti di una forma che all’inizio del processo non conosciamo (infatti, solamente alla fine delle iterazioni sappiamo se il punto appartiene o no all’insieme) si mappano nel cerchio di raggio 2. Allora facciamoci furbi: per generare l’insieme di Julia partiamo dal cerchio di raggio 2 e invertiamo il processo!
Il nuovo processo sarà quindi: partiamo dal cerchio di raggio 2, lo trasliamo in direzione opposta rispetto a e a questo punto applichiamo la trasformazione inversa: il nuovo vettore sarà sulla bisettrice tra il vecchio vettore ed ed il modulo sarà la radice quadrata.
Il fatto straordinario non è solo che abbiamo prodotto un frattale senza ricorrere ai numeri complessi, ma anche il fatto che – come già detto – l’AG scala di dimensione senza difficoltà ed infatti possiamo applicare la medesima formula in 3D ed otteniamo un frattale di Julia 3D, senza ulteriori fatiche.
Che sia bello, poi, è un altro paio di maniche…