Alcuni frattali realizzati al computer

UNIVERSITÀ DEGLI STUDI DI UDINE – SEDE DI PORDENONE – Anno 1996/97

CORSO DI PERFEZIONAMENTO PER INSEGNANTI DELLE SCUOLE SECONDARIE
INDIRIZZO SCIENTIFICO – ORIENTAMENTO MATEMATICA

RELATORE: Prof. Fabio Zanolin
PERFEZIONANDO: Dott. Valentino Condoluci

Alcuni frattali realizzati al computer

  1. INTRODUZIONE
  2. FRATTALI
  3. AGGREGAZIONE – Simulazioni al computer – Diffusione – Pianta
  4. I PROGRAMMI – I files *.fra – Usare i programmi – Utilizzare le immagini – Esercizi
  5. BIBLIOGRAFIA

INTRODUZIONE

Questo breve lavoro si inserisce nel contesto dei MODELLI MATEMATICI PER LA BIOLOGIA, il modulo didattico di riferimento, per la sorprendente somiglianza delle immagini che si ottengono al computer con le forme riscontrabili soprattutto nel mondo vegetale.

Le forme che si ottengono sono dei frattali, oggetti che compaiono sempre più spesso negli ambiti più disparati.

Anche la biologia non è rimasta fuori da questa commistione tra formule complicatissime, previsioni apparentemente impossibili e grafici affascinanti che sembrano dare una risposta a tutto.

Tra i tanti frattali che possono rappresentare il fenomeno della crescita, ho evitato di trattare quelli più famosi (Koch, Sierpinski, Mandelbrot, Julia, ecc.) perché per la loro natura astratta non si prestano ad essere manipolati facilmente da studenti della scuola media superiore.


FRATTALI

IImage16l termine frattale è stato coniato da Mandelbrot nel 1975 che si è rifatto al latino fractus, frantumato, irregolare.

I frattali sono delle figure geometriche che sono irregolari in ogni loro parte ed il livello di irregolarità è uniforme a tutte le scale.
Questo significa che un frattale non cambia aspetto se viene osservato da vicino; se viene ingrandito a piacere vengono alla luce dettagli che si ripetono identici.
Un frattale è una figura geometrica autosimilare.

In natura abbiamo esempi evidenti di forme frattali in ambiti completamente diversi:

  • felci, cavolfiori, broccoli, …
  • nuvole, montagne, linee costiere, fulmini, galassie, …
  • neuroni, vasi sanguigni, …

Il frattale forse più famoso è l’insieme di Mandelbrot (chiamato da qualcuno uomo di marzapane) che si ottiene da un’equazione relativamente semplice che iterata al computer genera dei grafici di notevole complessità e altrettanto fascino.
In Italia è noto anche per il suo utilizzo nelle sigle di Quark.

Altri frattali derivano da entità matematiche già esistenti da decenni (in alcuni casi da qualche secolo) che sono risorte a nuova vita quando hanno originato grafici sorprendenti sullo schermo di un computer (per esempio l’insieme di Julia).


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.
    Questa è la cosiddetta camminata dell’ubriacone (argomento di un Teorema di Calcolo delle Probabilità…).
  • 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

Naturalmente anche noi preferiamo utilizzare il calcolatore per ottenere delle simulazioni accettabili di un fenomeno senza ricorrere ad esperimenti di laboratorio!

La nostra simulazione utilizza come scacchiera di gioco lo schermo con dimensione 640x480 VGAHi 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 (Turbo Pascal 6.0) che ci suggerirà, volta per volta, una delle quattro direzioni.

In realtà si rivela un cattivo suggeritore perché dopo qualche tempo riusciamo a riconoscere le traiettorie del pixel sullo schermo ed addirittura una certa somiglianza anche nella struttura di figure ottenute con parametri completamente diversi.

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.

Non è prevista un‘interfaccia interattiva per elaborare le immagini quindi bisogna usare gli accorgimenti descritti successivamente.

L’ambiente di programmazione utilizzato è quello del Turbo Pascal 6.0 che produce programmi eseguibili in ambiente DOS.

AGGREGAZ.PAS – TRAMITE PASSEGGIATE CASUALI REALIZZA L’AGGREGAZIONE FRATTALE

DIFFUSIO.PAS – TRAMITE PASSEGGIATE CASUALI REALIZZA LA DIFFUSIONE FRATTALE

Rispetto al programma AGGREGAZ.PAS cambiano pochi passi:

I colori per le traiettorie sono Light piuttosto che Dark per semplificare la trasformazione in Bianco e Nero tramite MS Paint

Le passeggiate casuali partono dal centro dello schermo piuttosto che dai lati quindi scompare il blocco case Random(4) of ... end che diventa

Lo scontro avviene quando la passeggiata casuale incontra il Blue invece che il White

PIANTA.PAS – TRAMITE PASSEGGIATE CASUALI “SBILANCIATE” REALIZZA L’AGGREGAZIONE FRATTALE SIMULANDO LA CRESCITA DI UNA PIANTA

Rispetto al programma AGGREGAZ.PAS cambiano alcuni passi:

Le passeggiate casuali partono dal bordo destro dello schermo piuttosto che dall’alto per sfruttare meglio le dimensioni del monitor, quindi le piante crescono da sinistra verso destra.

Le regole per i singoli passi sono diverse perché l’eventuale contatto del pixel con il bordo superiore, sinistro o inferiore porta all’interruzione della passeggiata che riparte dal bordo destro; per esempio

La procedure PosizioneDiPartenza è stata introdotta per chiarezza per evitare di ripetere le tre istruzioni:

Il passo verso destra è sfavorito nel blocco case...of dandogli una sola etichetta su sette piuttosto che le due delle altre direzioni:

I FILE *.FRA

I files *.FRA, contenenti i parametri di ciascuna simulazione, sono stati introdotti per evitare di realizzare un’interfaccia utente con troppe richieste.

I parametri possono essere modificati, volta per volta, con un editor prima di lanciare le simulazioni per ottenere immagini più o meno realistiche.

Ogni file *.FRA deve essere presente nella stessa directory del corrispondente *.EXE e può essere modificato a condizione di rispettare la sua organizzazione.

Le prime sei righe iniziano con dati numerici obbligatori seguiti da commenti ininfluenti:

PrimoRaggio
Range1 Raggio1 Scontri1
Range2 Raggio2 Scontri2
Range3 Raggio3 Scontri3
Range4 Raggio4 Scontri4
Range5 Raggio5 Scontri5

PrimoRaggio è il raggio del cerchio iniziale. Le triple successive specificano a partire da quale cerchio, Range, si usa un certo Raggioaspettando, prima di disegnarlo, un certo numero di Scontri. Dopo che il cerchio Range5-esimo è stato disegnato le caratteristiche dei cerchi rimangono costanti.

Inoltre:

  • Scontri1..Scontri5 >= 1 (almeno uno scontro perché appaia un cerchio)
  • Range1 = 1 (non è modificabile…)
  • Se il raggio viene ridotto a 1 i cerchi diventano dei segni + con un effetto ombra.

I cinque livelli di intervento sui parametri sono risultati più che sufficienti.

USARE I PROGRAMMI

I programmi prevedono l’intervento dell’utente soltanto per terminare: premendo il tasto Esc la simulazione si interrompe ed appare il messaggio “Premi INVIO” in basso a destra.

In PIANTA.EXE la crescita avviene in orizzontale, da sinistra verso destra, piuttosto che in verticale per utilizzare al meglio le dimensioni dello schermo. L’immagine finale può essere ruotata con PAINT successivamente.

UTILIZZARE LE IMMAGINI

Quando l’immagine a video è soddisfacente può essere memorizzata premendo il tasto STAMP in alto a destra sulla tastiera; l’immagine attuale viene inserita negli Appunti di Windows è può essere elaborata successivamente, per esempio, con PAINT; il programma continua nella simulazione attuale in attesa del tasto Esc.

Se si utilizza MS PAINT, con

MODIFICA / INCOLLA

si ottiene l’ultima immagine salvata con STAMP.

I colori possono essere modificati a piacere oppure eliminati, come in questo lavoro, trasformando l’immagine in bianco e nero.
A questo scopo basta utilizzare le sequenze di comandi di menu:

IMMAGINE / INVERTI COLORI IMMAGINE / ATTRIBUTI / BIANCO E NERO.

Nel caso delle immagini ottenute con PIANTA.EXE è necessaria una rotazione di 270°.
Si ottiene con la sequenza:

IMMAGINE / ATTRIBUTI / 640 / 640
IMMAGINE / CAPOVOLGI-RUOTA / ROTAZIONE / 270
IMMAGINE / ATTRIBUTI / 480 / 640

Adesso l’immagine è pronta per essere salvata, modificata o stampata a piacere.

In alcuni casi l’immagine negli appunti è risultata danneggiata se altre applicazioni (il lettore di CD-ROM, Word, il salvaschermo) interferivano durante l’esecuzione.
È consigliabile chiudere tutte le applicazioni aperte prima di usare questi programmi se si intende catturare le immagini con STAMP.

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 alcunesomiglianze 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!).

BIBLIOGRAFIA

I testi che riguardano i frattali in modo divulgativo, o quasi, sono tantissimi per un certo effetto moda che c’è stato qualche anno fa.

I seguenti sono sufficienti per destare perlomeno la curiosità in chiunque:

  1. Benoit Mandelbrot
    GLI OGGETTI FRATTALI – FORMA, CASO E DIMENSIONE
    Einaudi Paperbacks Scienza – 1987

    Un testo storico (1975) nel quale sono anticipati molti temi della geometria dei frattali.
  2. Leonard M. Sander
    L’ACCRESCIMENTO DEI FRATTALI
    Illustra il fenomeno della crescita per aggregazione.
    In
    Giulio Casati (a cura di)
    IL CAOS – LE LEGGI DEL DISORDINE
    Le scienze S.p.A. – 1991
    Una raccolta di articoli molto interessanti pubblicati sulla rivista Le Scienze. Belle le illustrazioni a colori.
  3. Benoit Mandelbrot
    I FRATTALI: UNA GEOMETRIA DELLA NATURA
    In
    Nina Hall (a cura di)
    CAOS – UNA SCIENZA PER IL MONDO REALE
    Muzzio Scienze – 1992
    Una raccolta di articoli pubblicati sulla rivista New Scientist. Applicazioni nella realtà della teoria del caos.

È possibile inoltre trovare facilmente dei programmi freeware o shareware (FractInt, per esempio) che realizzano i frattali più disparati.