Aggregazione / diffusione

Riporto solo i contenuti essenziali della tesina del 1997: Alcuni frattali realizzati al computer.


AGGREGAZIONE

Il modello di frattale del quale ci occupiamo è molto vicino al mondo reale ed è quello che ha origine dalla crescita per aggregazione.

Questo fenomeno genera delle forme assimilabili ad una pianta, ad una radice, all’espandersi di un liquido.

Il principio sul quale si base è quello della passeggiata casuale seguita dall’aggregazione.

Supponiamo di trovarci sul bordo di una scacchiera molto grande e di muoverci facendo un passo alla volta in una delle caselle adiacenti nelle quattro direzioni. I movimenti devono essere casuali, cioè imprevedibili.
Vedi: Moto browniano, Camminata dell’ubriacone.

Aggiungiamo una regola alla passeggiata: se incontriamo qualcuno in una casella adiacente allora ci fermiamo e diventiamo parte integrante della struttura costituita da tutte le persone che partecipano al gioco.
È necessario che almeno una persona inizi il gioco scegliendo per sé una posizione (non ha speranza di incontrare alcuno).

L’analogo in natura del gioco precedente può essere l’accrescimento di una radice che venendo a contatto con gocce d’acqua si prolunga nella loro direzione.
La radice cresce in modo casuale nelle direzioni dove trova il nutrimento che si distribuisce nel terreno in modo casuale.

La cosa sorprendente è che cambiando di poco le regole del gioco riusciamo ad ottenere delle immagini che possono essere associate a quasi tutti i fenomeni naturali citati in precedenza.

SIMULAZIONI AL COMPUTER

La nostra simulazione utilizza come scacchiera di gioco lo schermo, inizialmente di colore blu con un cerchio bianco al centro; le passeggiate sono rappresentate da un puntino (pixel) che parte da uno dei quattro lati e saltella tracciando una certa traiettoria (di colore ogni volta diverso) finché non incontra un altro pixel di colore bianco. 
A questo punto si ferma diventando esso stesso bianco.

La crescita è molto lenta se la singola passeggiata genera soltanto un pixel ma è una buona idealizzazione, per esempio, della deposizione di un metallo da una soluzione elettrolitica di ioni.

Per velocizzare la simulazione e per ottenere delle forme più verosimili il programma genera dei cerchi con raggio decrescente.

Nella figura seguente sono riconoscibili cinque grossi cerchi centrali, dieci medi, un certo numero di piccoli ed infine tantissimi minuscoli che rappresentano fedelmente lo spirito della simulazione.

Image17

Dal centro verso i bordi si riconoscono delle strutture diverse, dovute alla discontinuità dei parametri, che risultano verosimili se confrontate con delle radici.

Per ottenere una passeggiata casuale, cioè perché gli spostamenti del pixel siano imprevedibili usiamo il generatore di numeri casuali del linguaggio di programmazione che ci suggerirà, volta per volta, una delle quattro direzioni.

Per evitare l’eccessivo allontanamento dal centro possiamo introdurre un parametro che indichi quante volte il pixel deve scontrarsi con la figura prima di generare un cerchio, cioè simuliamo un certo numero di rimbalzi sulla superficie dell’aggregato. Anche questa regola è una semplice rappresentazione di una delle complicazioni che possono verificarsi nella realtà.

Image18

Effettivamente i cerchi di raggio minimo hanno seguito il profilo della figura ricoprendola in alcune zone con una struttura simile a quella delle alghe!

Image19Se però utilizziamo questo principio dall’inizio utilizzando un raggio costante minimo il tutto si risolve in un ispessimento dei rami senza una variazione significativa nella struttura generale.

Quest’ultima immagine ricorda il fenomeno delle eruzioni solari!

DIFFUSIONE

Una variante del modello di crescita precedente è quella che chiameremo crescita per diffusione.
Le particelle partono dall’interno della figura piuttosto che dall’esterno.
Questo rende il fenomeno forse più familiare se pensiamo alla diffusione di un liquido, come l’acqua, da una sorgente nello spazio circostante.

Le immagini che si ottengono risentono di questa variazione e risultano più compatte delle precedenti ma i fenomeni alla base sono identici e una scelta appropriata dei parametri può rendere i risultati simili.

Per aumentare la possibilità per il pixel di allontanarsi dal centro aumentiamo il numero di scontri necessari perché esso possa generare un cerchio sperando così che vada ad inserirsi in una protuberanza.

Image20

Questa immagine risulta troppo simmetrica rispetto alle sue diagonali per essere accettata come casuale ma è comunque notevole perché ricorda, nella forma, una razza!

PIANTA

L’aggregazione, con qualche modifica nelle regole, porta alla generazione di immagini molto simili a cespugli, radici o alberi.

Consideriamo il pixel come una goccia d’acqua che cade dall’alto con una traiettoria quasi verticale, piuttosto che tramite la solita passeggiata casuale in tutte le direzioni, ed il cerchio iniziale posizionato in basso piuttosto che al centro.
Le immagini che si ottengono hanno una crescita verso l’alto molto naturale.

Image21

Cambiando i parametri in modo da avere meno cerchi con raggio intermedio possiamo ottenere una patata non più commestibile!

Image22

I PROGRAMMI

I tre meccanismi di crescita differiscono per pochi particolari, come abbiamo visto, quindi è sufficiente realizzare il primo programma e poi ottenere gli altri variando poche istruzioni.

ESERCIZI

Esercizio 1

Utilizzare come fattore di aggregazione il singolo pixel piuttosto che i cerchi con raggio decrescente.
Si ottiene il frattale simile alla deposizione di un metallo.

Esercizio 2

Utilizzare una scacchiera di forma circolare piuttosto che rettangolare.
In questo modo dovrebbero scomparire alcune somiglianze nelle immagini dovute all’asimmetria delle passeggiate.

Esercizio 3

Introdurre un meccanismo per variare il colore dei cerchi in modo da avere informazioni sulla crescita in senso cronologico.

Esercizio 4

Utilizzare un generatore di numeri casuali con periodo più grande possibile (altrimenti le traiettorie del pixel sono riconoscibili!).