SATERIALE RAFFAELA MARIA SATERIALE E I FRATTALI

Nuova pagina 2

FRATTALI NON FRATTALI

I MIEI FRATTALI NON FRATTALI

I MIEI FRATTALI NON FRATTALI

 

FRATTALI 1, 2007

FRATTALI 2

Introduzione ai frattali

Introduzione ai frattali

di Mandelbrot e di Julia

di Davide Bucci

 

 

Spesso, soprattutto in questi ultimi anni, capita di imbattersi nelle elaborate e sicuramente affascinanti immagini chiamate, con un nome un po' curioso, frattali. Osservando queste immagini, viene da chiedersi quale misterioso segreto matematico esse racchiudano e quali siano le loro caratteristiche. Questo documento è stato elaborato allo scopo di spiegare, anche se non in maniera eccessivamente approfondita, due delle principali famiglie di frattali che possono venire rappresentati, ovvero gli insiemi di Julia e l'insieme di Mandelbrot. Per la lettura di questo documento, è consigliabile avere una conoscenza anche approssimativa della matematica complessa (che, in fondo, per quel che serve a noi, non è affatto tale!).

 

 

Cos'è un "frattale"?

 

Per essere riconosciuto come tale, un frattale deve possedere alcune caratteristiche fondamentali:

 

Autosomiglianza: se dettagli vengono osservati a scale differenti, si nota sempre una certa somiglianza approssimativa con il frattale originale.

Risoluzione indefinita: non è possibile definire in modo netto ed assoluto i confini dell'insieme (i bordi dell'immagine)

La geometria frattale è di recente concezione (i primi studi sono quelli di G. Julia all’inizio di questo secolo) e, solo con l’avvento dei calcolatori, che hanno offerto la necessaria potenza di calcolo, si è potuti giungere alle  affascinanti immagini generate dalle formule. Negli anni ottanta, si è spesso tentato di vedere in tutte le cose un frattale (uno dei libri più importanti sui frattali si intitola appunto The Fractal Geometry of Nature, la geometria frattale della natura, di Benoit Mandelbrot pubblicato nel 1982). Si è sviluppata quindi una branca della geometria frattale che studia i cosiddetti frattali biomorfi, cioè simili ad oggetti presenti in natura. I risultati a volte sono stati stupefacenti. Uno dei frattali biomorfi infatti più riusciti è la foglia di felce i cui dettagli, detti autosimili, riproducono sempre la stessa figura. Nell’autorevole rivista “Le Scienze” si possono trovare interessanti articoli proprio sui frattali biomorfi che spiegano meglio gli aspetti più matematici dell’analisi delle forme. Uno dei principali limiti dell’applicazione dei frattali allo studio della natura è che, seppure essi descrivano in modo soddisfacente la struttura globale, non possono essere precisi fino al dettaglio; “un ago di pino è strutturalmente diverso dai rami e dal tronco dello stesso albero” scrive Giorgio Meini  in un articolo apparso su Computer Programming n°42 (Dicembre 1995). Insomma, lo studio delle affinità fra la natura ed i frattali può rivelare curiose analogie, ma spesso soltanto casuali.

I principi dei frattali

 

Iniziamo ora ad addentrarci un poco più approfonditamente nel mondo della matematica dei frattali. Una caratteristica comune alle due famiglie di frattali che analizzeremo (esistono molti tipi diversi di frattali) è che sono degli insiemi di punti che soddisfano determinati requisiti, come vedremo in seguito. Poichè abbiamo parlato di punti, sorge naturale il quesito di dove questi punti vengano presi, se su di una retta, su di un piano o su di uno spazio ad n dimensioni, ovvero, rispetto a quale sistema di coordinate essi vengano riferiti. In teoria, i frattali in questione non sono affatto vincolati ad essere rappresentati su di un piano e possono benissimo essere estrapolati per un qualsiasi numero di dimensioni; il fatto che essi siano solitamente tracciati bidimensionalmente è semplicemente dovuto a comodità di rappresentazione. Personalmente, trovo estrememente interessante la possibilità di calcolare frattali a tre dimensioni, magari accoppiati con un convincente motore 3D! Ma procediamo con calma! Per i nostri frattali, useremo come formula generatrice la seguente:  Z=z*z+c; chi mastica un po' di analisi si renderà subito conto che si tratta di una parabola traslata rispetto all'origine in base al termine noto c. Quello che interessa a noi tuttavia non è la solita rappresentazione sul piano cartesiano (ovvero secondo un incremento della variabile indipendente), ma come si comporta, dato un punto di partenza, reimpostando nell'equazione i risultati della elaborazione precedente (z=Z) e proseguendo generando una successione di numeri reali il cui comportamento dipende dalla scelta del punto di partenza, nonchè di c. E' proprio questo che genera l'indefinitezza che è una delle caratteristiche peculiari di tali costruzioni matematiche, ovvero la possibilità di iterare virtualmente all'infinito per ciascun punto prima di passare al succesivo. Ecco cosa si intende:

 

      f(f(f(f(...))))

 

E' necessario un esempio, perchè gran parte della difficoltà iniziale che si incontra avvicinandosi ai frattali sta in questo. Più o meno tutti, nella nostra vita, abbiamo pasticciato un po' battendo a caso i tasti di una calcolatrice tascabile ed abbiamo potuto constatare come, battendo un numero anche molto grande, premendo un certo numero di volte il tasto della radice quadrata, si pervenga sempre al risultato 1 (in realtà vi si giunge anche perchè la precisione di macchina della calcolatrice non può essere infinita). La funzione radice quadrata dunque iterativamente si concentra avvicinandosi asintoticamente all'unità. Allo stesso modo, l'elevazione a potenza tende all'infinito impostando un numero >1, a zero impostando un numero <1 e con 1, il risultato rimane costante sull'unità. Dunque, data una condizione di partenza, possiamo analizzare sotto questo aspetto come si comporta, ovvero se tende all'infinito, se tende a zero, o se rimane stabile. Dalla determinazione delle condizioni di partenza, dipendono le differenze fra gli insiemi di Julia e l'insieme di Mandelbrot.

 

Una vista sul piano complesso

 

Abbiamo precisato che i frattali vengono usualmente rappresentati su di un piano ed è ora di chiarire un poco meglio la natura e le caratteristiche di esso, nonchè il sistema cartesiano utilizzato come riferimento.

Per fare ciò è necessario presentare alcune informazioni sui numeri immaginari e complessi e come questi ultimi possano essere rappresentati su di un piano. I numeri immaginari e complessi nascono dalla necessità di possedere un qualche modo per esprimere le radici quadrate di numeri negativi, oggetti che non possiedono "diritto di cittadinanza" all'interno di R, l'insieme dei numeri reali.

Per numero immaginario si intende l' unità immaginaria moltiplicata per un coefficente, detto appunto coefficente immaginario. Per unità immaginaria (di solito rappresentata con la lettera i), si intende la radice quadrata di -1.

Un binomio formato da un coefficente reale sommato algebricamente ad un numero immaginario forma un binomio complesso che è formato da due parti chiamate appunto parte reale e  parte immaginaria.

Per esempio:

  5+2i

è un numero complesso la cui parte reale è 5 e la cui parte immaginaria è 2i.

E' possibile effettuare pressochè qualsiasi tipo di operazione su tali binomi applicando semplici calcoli algebrici.

Per cui:

  (a+bi)+(c+di)=(a+c)+(b+d)i

  (a+bi)(c+di)=ac-bd+(ad+bc)i

si ricordi che i*i=-1 !

... e via dicendo.

 

In quanto binomio, ciascun numero complesso può essere considerato come una coppia ordinata, tranquillamente rappresentabile su di un piano cartesiano, previa scelta di un'origine e di unità di misura. Tale rappresentazione ha il nome di piano di Gauss (o di Argand) ed ha interessantissime applicazioni in un sacco di campi differenti della matematica e della fisica che usano in maniera massiccia i numeri complessi, dalla teoria dei circuiti elettronici alla meccanica quantistica.

E' consigliabile raggiungere una buona manualità con i numeri complessi prima di proseguire nell'introduzione: si provi per esempio a calcolare in sequenza le potenze di i, a rappresentare numeri diversi sul piano complesso ed altro. Ogni corso universitario di geometria dedica una parte del programma ai numeri complessi!

 

Gli insiemi di Julia

 

Possiamo adesso entrare un poco più in dettaglio ed affrontare i principi di determinazione dei frattali della famiglia di Julia, che si presentano molto diversamente a seconda della scelta del tremine noto c.

 

Si supponga considerare una piccola porzione attorno all'origine di un piano complesso di intervallo (-2,-2)-(2,2).

Si scelga un binomio complesso c assegnando valori del tutto arbitrari alla parte reale ad alla parte immaginaria.

Si sostituiscano, per ogni punto considerato, le corrispondenti coordinate complesse alla variabile z, nell'equazione Z=z*z+c.

Si calcoli il valore di Z.

Se si trova che la distanza di Z dall'origine è maggiore di due, si salti al passo 7. Per calcolare tale distanza, si adotta il teorema di pitagora nel seguente modo: dato Z=a+bi, il quadrato della distanza d dall' origine sarà d2=a2+b2.

Se no, si incrementi di 1 un contatore e si torni al passo 4, se il contatore ha un valore inferiore al numero di iterazioni massime prefissato, dopo aver posto z=Z.

Si colori il punto di un colore diverso a seconda del valore del contatore.

Si azzeri il contatore e si ritorni al passo 3 per calcolare il colore del prossimo punto.

Il procedimento avrà termine quando tutti i punti interessati saranno stati processati nel suddetto modo.

N. B. Il numero di iterazioni massime determina la precisione da adottare per la rappresentazione dell'insieme.

Buoni risultati si ottengono assegnando a c dei coefficenti reali ed immaginari compresi fra -2 e 2.

Vi sono infiniti insiemi di Julia poichè la scelta di c non deve sottostare a nessuna restrizione.

 

Se avete un browser che supporta Java, è possibile giocare con i frattali di Julia nella pagina Frattali in Java.

 

L'insieme di Mandelbrot

 

 

 

L'insieme di Mandelbrot si presenta come un otto disposto in orizzontale sfrangiato e simmetrico rispetto all'asse delle ascisse.

 

 

 

Si supponga considerare una piccola porzione attorno all'origine di un piano complesso di intervallo (-2,-2)-(2,2).

Si sostituiscano, per ogni punto considerato, le corrispondenti coordinate complesse al termine noto c, nell'equazione Z=z*z+c, ponendo inizialmente z=0+0i.

Si calcoli il valore di Z.

Se si trova che la distanza di Z dall'origine è maggiore di due, si salti al passo 6. Per calcolare tale distanza, si adotta il teorema di pitagora nel seguente modo: dato Z=a+bi, il quadrato della distanza d dall' origine sarà d2=a2+b2.

Se no, si incrementi di 1 un contatore e si torni al passo 3, se il contatore ha un valore inferiore al numero di iterazioni massime prefissato, dopo aver posto z=Z.

Si colori il punto di un colore diverso a seconda del valore del contatore.

Si azzeri il contatore e si ritorni al passo 2, per calcolare il colore del prossimo punto.

Il procedimento avrà termine quando tutti i punti interessati saranno stati processati nel suddetto modo.

N. B. Il numero di iterazioni massime determina la precisione da adottare per la rappresentazione dell'insieme.

La differenza fra l'insieme di Mandelbrot e gli insiemi di Julia è che le coordinate complesse del punto del piano vengono sostituite non a z, inizialmente sempre azzerato, ma a c, che non è più una costante definita all'inizio dell'elaborazione.

 

 

Se avete un browser che supporta Java, è possibile avere una vista dell'insieme di Mandelbrot nella pagina Frattali in Java.

 

Nella sezione link del sito si trova una lista di pagine interessanti da consultare relative ai frattali.

 

 

Copyright 1998-2004 Davide Bucci

 

http://www.geocities.com/leibowitz.geo/fract_it.html

I Frattali e il caos

  I Frattali e il caos

 

E' straordinario il fatto che i frattali dedotti da algoritmi cosi' semplici, mostrino delle forme cosi' complesse e cosi' somiglianti a cio' che vediamo in natura.

 

Tutto questo e' solo un caso o c'e' qualcosa di piu' profondo?

 

Una possibile spiegazione e' che la Natura si comporti come un computer, con delle leggi che non sono altro se non l'esecuzione di algoritmi. Inoltre, tra gli infiniti algoritmi possibili,sono preferiti quelli piu' semplici simili a quelli che producono i frattali.

 

Dicendo che la Natura e' un computer, non vogliamo dire altro se non qualcosa di risaputo e cioe' che le leggi della natura sono leggi matematiche. Infatti i programmi di computer non sono che matematica in azione.

 

Possiamo pensare allo scienziato come qualcuno che fa delle misure e poi cerca di trovare degli algoritmi che riproducono queste misure e permettono di prevedere il risultato di misure future.

 

Ora in natura si ritrovano assieme numerose simmetrie e il caos. Ma finora gli scienziati non sapevano dare ragioni valide per tutto questo.

 

Se ci riferiamo alle leggi di natura come programmi di computer la cosa si "spiega". Sembrerebbe che se ci sono due programmi possibili per regolare un certo fenomeno, il padreterno come quasi tutti i programmatori preferisce il programma piu' corto.(Chi e' programmatore sa che per tenere piccolo un programma bisogna usare dei cicli e che un ciclo puo' essere a sua volta realizzato da una procedura ricorsiva.)

 

I programmi piu' corti possibili sono quelli contenenti procedure ricorsive. Sono queste procedure ricorsive a generare delle simmetrie spaziali.

 

Vedi per esempio la costruzione di un albero.

 

Un albero e' definito disegnando il tronco; girandosi a destra e disegnando un altro albero piu' piccolo, poi a sinistra e disegnando un secondo albero uguale.

 

Certo direte non e' un albero realistico. Eppure con un algoritmo solo poco piu' complicato, sono riusciti a sintetizzare numerose piante in 3D uguali a quelle reali.

 

Insomma simmetrie spaziali e frattali (che sono simmetrici rispetto al cambiamento di scala) si presentano ogni volta uno vuole risparmiare sull'algoritmo usando una procedura ricorsiva.

 

Che dire del caos?

 

Se ci riferiamo a fenomeni fisici nel tempo (cioe' al loro andamento temporale) essi saranno descritti da una o piu' variabili. Per non complicare le cose, usiamo una sola variabile x. Il piu' semplice algoritmo che descrive l'andamento temporale di questa variabile e' come al solito una procedura ricorsiva ma questa volta in termini temporali: x(t+1) = f(x(t)).

 

Questa e' quella che in gergo viene chiamata iterazione.

 

Per modellare fenomeni naturali siamo interessati a iterazioni non banali come quelle che fanno diventare x costante, ne' impossibili come quelle che fanno diventare x infinito.

 

La piu' semplice iterazione non banale e' x = c*x*(1-x).

 

L'andamento di questa iterazione varia al variare del valore iniziale x0.Il diagramma di Feigenbaum, da a colpo d'occhio cosa succede al variare di x0.  Prima si stabilizza su un unico valore, poi comincia a ciclare tra 2, poi 4, 8,16, e infine infiniti valori, cioe' diventa caotica!

 

Cioe' la necessita' di avere un programma piccolo ha come conseguenza delle leggi realizzate da iterazioni, e queste presentano un andamento caotico.

 

Forse bisognerebbe spiegare meglio da dove viene questo andamento caotico.

 

In matematica esiste questa astrazione che sono i numeri reali:astrazione perche' essi hanno precisione e informazione infinita e percio' sono impossibili da realizzare nella vita reale.

 

Infatti i numeri risultato di misurazioni, sono di necessita' finiti come lo sono i numeri cosiddetti reali nel calcolatore.

 

I matematici e i fisici, non si erano resi conto che questa piccola differenza puo' provocare il caos.

 

Da notare che questo tipo di caos prodotto da algoritmi semplici non va confuso col caso dove non esistono algoritmi per riprodurre i risultati osservati:ad esempio i risultati del lotto. Per distinguere i due casi si parla di caos deterministico quando esso e' prodotto da leggi semplici e di "caso" quando l'unico algoritmo possibile e' quello di enumerare tutti i risultati ottenuti senza che sia possibile prevedere quelli futuri.

 

Il fatto che il caos sia possibile con leggi semplici e' stata una grande scoperta ed ha fatto sperare che alcuni fenomeni finora considerati casuali (cioe' impossibili da descrivere se non con leggi statistiche) siano in effetti dovuti a leggi semplici (ad esempio l'andamento della Borsa).

 

Ce ne siamo resi conto col calcolatore che usa numeri approssimati come la realta'.

 

Ma cosa succede con esattezza?

 

Supponiamo prima di usare numeri ideali . A ogni numero reale di partenza per l'iterazione corrisponde una sequenza di numeri ideali e questi formano la sua orbita.

 

Immaginiamo di conoscere tutte queste orbite.

 

Ora uso il mio limitato calcolatore (o le misure reali) e dopo il primo passo, il risultato e' gia' un'approssimazione e quindi invece di continuare sull'orbita di partenza salto per cosi' dire su un'altra orbita. Cosi' a ogni passo.

 

Se l'iterazione si comporta bene posso finire vicino a dove sarei finito nel caso ideale, ma nel caso del caos, vado a finire da tutt'altra parte!

 

In effetti la firma del caos e' nel fatto che prendendo un certo numero di punti di partenza molto vicini, si vede che questi dopo un po' di tempo si sono sparpagliati per tutta una regione dello spazio, che' e' l'attrattore strano per quella iterazione.

 

Di solito un attrattore strano e' un frattale. Per cui il modo piu' semplice per disegnare un frattale e' attraverso un'iterazione di 1,2,3 o piu' parametri.

 

Ad esempio l'attrattore di Lorentz e' creato da una iterazione a 3 parametri, che doveva servire a modellare il tempo atmosferico.

 

I fenomeni nonlineari o con feedback in natura, sono quindi dovuti alla "necessita'" di dover usare algoritmi semplici e percio' ricorsivi.

 

Da notare che molto prima della scoperta del caos deterministico , si usava il computer per generare "numeri a caso"(in realta' sequenze periodiche molto lunghe perche' prima o poi gli stessi numeri devono ripetersi) con iterazioni. La piu' usata e'

 

x = resto della divisione di (x*m+p) e q.

ma nessuno aveva pensato che questo potesse avere un significato cosi' profondo.

 

Gli insiemi di Julia e Mandelbrot sono legati alle iterazioni nel modo seguente.

 

Volendo approfondire lo studio matematico delle iterazioni conviene passare da iterazioni reali come la x = c*x*(1-x) a iterazioni complesse z = c*z*(1-z) dove c e z sono complessi.

 

Nel campo complesso si vede che esiste un'iterazione ancora piu' semplice z = z^2 + c che e' caotica! percio' conviene cominciare da questa.

 

Volendo studiare questa iterazione, vediamo che dipende da quattro parametri: due x0,y0 sono il punto di partenza,gli altri c1,c2 sono la costante.

 

Possiamo tenere c1 e c2 costanti, facendo variare x0,y0 e rappresentando il fatto che l'iterazione va o meno all'infinito:questo e' l'insieme di Julia.

 

Per ogni c si ha un diverso insieme.

 

Viceversa possiamo tenere x0,y0 costante e uguale a 0, e variare c, ottenendo l'insieme di Mandelbrot. (Anche qui potremmo avere piu' insiemi ma in effetti gli insiemi per x0,y0 diverso da 0, sono identici a quello a 0 a parte delle deformazioni.)

 

Come si vede questa e' una generalizzazione del diagramma di Feigenbaum, e non c'e' da meravigliarsi che siano cosi' complessi e cosi' simili a scenari naturali, perche' sono legati a iterazioni che descrivono fenomeni naturali.

 

Questi insiemi di julia, mandelbrot e il diagramma di Feigenbaum si possono definire per ogni possibile iterazioni, ed hanno di solito caratteristiche molto simili a quelli prototipici dell'equazione logistica e della mappa quadratica.

 

Tenuto conto della potenza delle funzioni ricorsive nel generare pattern naturali,ci si chiede se non sia possibile trovare un sistema generale per sintetizzare immagini naturali. Ebbene si, sono stati trovati almeno due metodi che partono ambedue dalle funzioni ricorsive.

 

Nel primo metodo, della grammatica di Lindemeyer, partiamo dalla constatazione che l'effetto finale di una chiamata ricorsiva e' di generare una stringa di move e turn che alla fine sono trasformati in disegno. Assegnamo a questi dei simboli che saranno quelli base nella nostra grammatica. Quindi definiamo dei simboli complessi e delle regole che ci dicono come i simboli complessi possono trasformarsi in simboli complessi e simboli base. Con questa grammatica, facciamo un certo numero di iterazioni,generando a partire da una stringa iniziale, una stringa finale. Questa sara' poi interpretata dalla tartaruga che disegnera' solo i simboli base. Questo approccio puo' essere esteso anche a 3 dimensioni con una tartaruga "3D" e porta a realistiche simulazioni di piante ma anche di altri oggetti.

 

Nel secondo metodo,si tiene conto del fatto che se, una procedura ricorsiva richiama se stessa ad esempio tre volte, quello che succede e' che dei punti di una figura, vengono sottoposti nelle diverse generazioni a 3 differenti trasformazioni che li trasformano in tre figure ruotate, scalate e translate. Si tratta in effetti di trasformazioni affini e un insieme di trasformazioni affini assieme a una figura di partenza e' equivalente al programma ricorsivo originale. Ma possiamo andare oltre e chiederci se esiste una iterazione che abbia come attrattore la figura originale. La risposta e' si. Basta usare il sistema nel modo seguente: si parte da un punto qualsiasi,poi a ogni iterazione si sceglie una trasfromazione affine a caso e la si applica. Questo e' il cosiddetto algoritmo del caos di Barnsley. Il risultato finale (dopo molte iterazioni) e' la figura originale!

 

Ci si chiede se non e' possibile in questo modo sintetizzare qualsiasi immagine. Ebbene anche qui la risposta e si'! Barnsley ha mostrato una procedura per ricostruire a partire da un'immagine il sistema che lo sintetizza. Non e' facile, ma se uno ci riesce puo' comprimere l'immagine originale rappresentandola coi pochi numeri del sistema. E' questo il metodo di compressione coi frattali.

 

Ora il cerchio e' chiuso! Siamo partiti dalla constatazione se la suggestiva somiglianza dei frattali con scene naturali non abbia qualche significato,e siamo giunti alla conclusione che sia possibile modellare la realta' o almeno la sua immagine con dei frattali.

 

 

 

--------------------------------------------------------------------------------

BACK to Fractals,chaos,symmetry,physical laws and computer programs

--------------------------------------------------------------------------------

Maintained by Giuseppe Zito :Giuseppe.Zito@cern.ch

 

Last modified : 09/26/2003 10:11:02

http://www.ba.infn.it/~zito/dba.html

Immagini frattali e Arte

di Federico Miorelli

Queste immagini rappresentano alcuni dei punti più suggestivi della rappresentazione grafica dei frattali.

Dettaglio di un insieme Julia
julia1.jpg (69029 byte)  >> sopra/top

Come già detto, gli insiemi di Julia possono assumere infinite conformazioni. Qui sotto vediamo quella ottenuta con il valore c=(0+1i). La struttura, dendritica, assomiglia molto alla forma di un fulmine
julia2.jpg (8526 byte) >> sopra/top

 Dettaglio di un Mandelbrot: la varietà di forme presenti in questo frattale è sorprendente, se si pensa che tutto ciò è generato da un'equazione semplicissima: Z=z^2 + c
mandel2.jpg (49874 byte) >> sopra/top

 Si notino le spirali logaritmiche e il continuo riprodursi della forma "a bulbo", tipica del Mandelbrot
mandel3.jpg (41601 byte) >> sopra/top

 Un dettaglio dei "bulbi"
mandelxaos.jpg (24559 byte) >> sopra/top

 Un altro esempio di ricorsività: ogni spirale logaritmica è in realtà composta da infinite altre spirali autosimili
spirali.gif (8005 byte) >> sopra/top

I frattali non sono solo oggetti matematici, privi di ogni attrattiva per chiunque non sia interessato alla materia, ma, grazie alla loro varietà e al loro piacevole aspetto grafico, possono diventare addirittura oggetto di "arte".
Non è difficile realizzare arte frattale, se attrezzati con il software adeguato: Tierazon, consente infatti di creare immagini "artistiche" partendo dai frattali. L'aspetto interessante di questo programma sta nel fatto che gli effetti che vengono applicati ai frattali non sono che funzioni matematiche che si "sovrappongono" alla creazione del frattale e fungono quasi da filtri grafici.
 

"Variazioni"
Variazioni (23 kbyte)  >> sopra/top

 "Morte Nera"
Morte Nera (29 kbyte)  >> sopra/top

 "Aurora"
Aurora (29 kbyte)  >> sopra/top

 "Corallo"
Corallo (28 kbyte)  >> sopra/top

 "Zorro"
Zorro (48 kbyte)  >> sopra/top

 "Birth Of A Rose"
Birth Of A Rose (51 kbyte)  >> sopra/top

 "Sea Life"
Sea Life (51 kbyte)  >> sopra/top

http://www.marcostefanelli.com/subliminale/frattaliart.htm

L'affascinante mondo dei frattali

L'affascinante mondo dei frattali

 

 

Quanto è lunga la costa della Sardegna?  La domanda può sembrare banale ma la risposta, se non avete mai sentito parlare dei frattali, vi sorprenderà: la sua lunghezza è infinita!  Come si può arrivare a giustificare una simile affermazione?  Beh, diciamo subito che si tratta solo di una estrapolazione matematica, tuttavia il risultato lascia senza parole.  Proverò a spiegarlo gradualmente iniziando con un esempio.

 

 

Un fiocco di neve frattale

  La figura a lato mostra come generare il cosiddetto fiocco di neve di von Koch: si prende un segmento (fig. 1a), lo si taglia in 3 parti e si sostituisce quella centrale con due segmentini uguali a quello eliminato (fig. 1b); ora si ripete l'operazione con ciascuno dei quattro segmenti così ottenuti (fig. 1c) e si continua a ripeterla per un numero infinito di volte.  La curva che si ottiene dopo un numero infinito di iterazioni è una curva frattale e come tutte le curve frattali è dotata di affascinanti proprietà matematiche, facili da intuire ma, spesso, difficili da dimostrare.

 

Se il nome "fiocco di neve" vi sembra poco appropriato per la curva di fig. 1, forse cambierete idea osservando ciò che si ottiene applicando il procedimento appena descritto ai lati di un triangolo.

  

Curva a fiocco di neve

 

 

Fiocco di neve di von Koch

 

  Frattale, cioè frammentato e irregolare

 

Dare una definizione soddisfacente di questi stranissimi enti matematici non è affatto facile: non ci è riuscito nemmeno il loro scopritore!  In prima approssimazione possiamo affermare che una curva si dice frattale se ha la proprietà dell'autosimilitudine: ingrandendo un qualsiasi tratto di curva si visualizza un insieme di particolari altrettanto ricco e complesso del precedente; questo procedimento di "zoom" può proseguire all'infinito.  Da ciò derivano due curiose caratteristiche delle curve frattali:

 

pur essendo continue non ammettono una tangente unica in alcun punto;

presi due punti della curva, anche vicinissimi tra loro, la distanza fra essi (misurata lungo la curva) è sempre infinita.

Quest'ultimo fatto lo possiamo facilmente verificare per il fiocco di neve appena visto.  Ad ogni iterazione la lunghezza della curva cresce di un fattore 4/3: se il segmento di partenza ha lunghezza pari a 1, il secondo misura 4/3, il terzo 16/9, il quarto 64/27 e così via.  Questa successione è chiaramente divergente, cioè tende ad assumere un valore infinito.  Ma non è tutto: ogni pezzo del fiocco di neve, anche piccolissimo, gode della proprietà dell'autosimilitudine cioè contiene in sé un'infinita ricchezza di particolari, di minuscoli fiocchi di neve, e quindi anch'esso è di lunghezza infinita.

 

 

Circondati dai frattali!

 

Torniamo ora alla nostra domanda iniziale: quanto è lunga la costa della Sardegna?  Ebbene, la risposta dipende dalla scala alla quale viene fatta la misurazione: una valutazione sommaria fornisce un risultato relativamente basso che però cresce a dismisura se si inizia a prendere in considerazione ogni più piccolo promontorio, ogni anfratto, ogni scoglio, ogni granello di sabbia.  Insomma un tratto di costa può essere visto come un tratto di curva frattale.

In realtà i frattali sono in grado di rappresentare egregiamente una gran varietà di oggetti e fenomeni della Natura: non solo un tratto di costa ma anche i rami o le radici di un albero, una nuvola, le ramificazioni di un fulmine e la dentellatura di una foglia ne sono alcuni esempi.

 

 

 

Rametti di felce frattale

 

 L'insieme di Mandelbrot

 

L'insieme di Mandelbrot (d'ora in poi indicato con M) è un luogo geometrico del piano complesso; più precisamente è l'insieme dei punti di tale piano che soddisfano la legge di Mandelbrot:

 

Un punto c del piano complesso appartiene all'insieme se la successione definita ricorsivamente dalla formula

z(n+1) = z(n)*z(n) + c

con z(0) = 0

non diverge.

Cosa ha di speciale questo insieme?  E' presto detto: la sua frontiera (cioè il suo perimetro) è una curva frattale, uno dei frattali più complessi che si conoscano.

 

  

L'insieme di Mandelbrot Figg. 6 e 7 - Dettagli dell'insieme di Mandelbrot

 

La figura 5 mostra M nella sua interezza: i punti dell'insieme sono quelli di colore nero all'interno della grossa cardioide mentre gli altri colori sono usati per indicare le diverse velocità con cui la successione diverge, come spiegato più avanti.  Grazie alla proprietà dell'autosimilitudine, la frontiera di M si presta ad una interminabile e sorprendente esplorazione (figg. 6 e 7).  Nel caso del fiocco di neve, zoomando su un piccolo tratto di curva si visualizza una nuova curva uguale a quella di partenza; con M, invece, le cose sono un po' diverse: la proprietà dell'autosimilitudine vale in senso lato, infatti la frontiera di M è disseminata di un'infinità di minuscole cardioidi somiglianti ma non uguali a quella di partenza e le immagini che si possono ottenere sono infinitamente varie.  La principale differenza tra la grossa cardioide di fig. 5 e quelle minuscole che la circondano sta nei sottili filamenti che uniscono queste ultime al corpo principale dell'insieme.  I filamenti, simili a fulmini (fig. 7), sono interamente costituiti da punti appartenenti ad M ed infatti è possibile dimostrare che M è un insieme connesso.

 

 

Un insieme di Mandelbrot fatto in casa

 

Prima di spingerci oltre nell'esplorazione di M, cerchiamo di capire meglio come si ottengono questi disegni.  Vi sembrerà strano, ma è possibile generarli con un programma di poche righe!

Iniziamo ricordando qualche formula matematica (chiedo venia):

 

Somma di due numeri complessi:

(a + ib) + (c + id) = (a + c) + i(b + d)

Modulo di un numero complesso (ovvero distanza di un punto del piano dall'origine degli assi):

mod(a + ib) = sqrt(a*a + b*b)

Quadrato di un numero complesso:

(a + ib)2 = (a*a - b*b) + 2abi

Associamo ad ogni pixel un punto del piano complesso e determiniamo se esso appartiene all'insieme: in caso affermativo lo coloriamo in bianco, altrimenti in nero.  Abbiamo così ottenuto una rappresentazione in 2 colori dell'insieme.  Per rendere la cosa più gradevole dal punto di vista estetico, e per meglio comprendere il comportamento dei vari punti del piano rispetto alla legge di Mandelbrot, conviene usare più colori.  Si può allora decidere di indicare con colori diversi la velocità con cui la successione diverge: ad esempio, si colorano in blu i punti in cui la successione diverge alla prima iterazione, in verde quelli in cui diverge alla seconda, ecc.  Ma come si fa a stabilire se la successione diverge o no?  Guardiamo più attentamente la legge di Mandelbrot:

 

  z(n+1) = z(n)*z(n) + c  

 

In essa compare il quadrato di z.  Ebbene, secondo una proprietà dei numeri complessi, se un numero z ha modulo >=2, il suo quadrato avrà modulo ancora maggiore e quindi la successione sarà divergente.  Se invece la successione, dopo un certo numero massimo di iterazioni, non accenna a divergere, si dà per scontato che non divergerà mai, e si accetta il punto che la origina come membro dell'insieme.  La cosa non è corretta dal punto di vista teorico, ma, se il numero di iterazioni è abbastanza alto, la probabilità di commettere errori di attribuzione è ragionevolmente limitata.

Per quanto detto finora, l'algoritmo opera nel seguente modo: viene calcolato ripetutamente il valore di z mediante la formula sopra indicata, e, ogni volta, il modulo di z viene confrontato col valore 2.  Il procedimento si arresta quando la successione mostra di essere divergente (mod(z)>=2) oppure quando si giunge al numero massimo di iterazioni.  Infine viene attribuito il colore opportuno al pixel corrispondente al punto c considerato e si passa al punto, e al pixel, successivi.

Quanto appena detto è alla base delle poche righe di codice in linguaggio C, Pascal e QBasic che ho approntato.

Per velocizzare l'elaborazione ho adottato due semplici ma importanti accorgimenti.  Il primo è nella condizione di uscita del ciclo WHILE che applica iterativamente la legge di Mandelbrot: il numero complesso in esame (e cioè il modulo del valore corrente di z, pari a sqrt(a*a+b*b)) viene confrontato senza la radice con il valore 4 (anziché 2), risparmiando alla macchina l'inutile e dispendiosa operazione di radice.  Il secondo accorgimento si basa sulla constatazione che, per colorare un pixel appartenente all'insieme, è necessario un numero di calcoli molto maggiore che per gli altri pixel in quanto il ciclo WHILE viene eseguito MAXCONT volte (dove MAXCONT è il numero massimo di iterazioni prefissato).  Ho pensato, quindi, di individuare (per via empirica) un rettangolo di piano complesso tutto appartenente all'insieme: in questo modo è possibile evitare l'esecuzione del ciclo per tutti i pixel di questo rettangolo, che verranno immediatamente attribuiti all'insieme senza ulteriori calcoli.  L'istruzione IF..THEN posta subito prima del WHILE si occupa proprio di questo.

Per velocizzare ulteriormente il programma si potrebbe sfruttare la simmetria dell'insieme rispetto all'asse delle ascisse, ma ho preferito non seguire questa strada per non appesantire eccessivamente il listato.  In alternativa si potrebbe ridurre ulteriormente il valore della costante MAXCONT, ma questo andrebbe a scapito della precisione del disegno (il valore attuale è già molto basso).

Per "zoomare" su un particolare della figura basta modificare le costanti INFX, SUPX, INFY, SUPY e rilanciare il programma; queste costanti, infatti, definiscono il rettangolo di piano che deve essere visualizzato sullo schermo (sono le coordinate del primo e del quarto vertice).  Se i valori attribuiti a tali costanti sono tali che INFX>SUPX si ottiene un'immagine ribaltata attorno all'asse delle ordinate.  La capacità di ingrandimento del programma è limitata unicamente dalla precisione del tipo di dato in virgola mobile utilizzato.

 

 

Fractint

 

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.

 

 

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.

 

 

  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.

 

 

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

Fig. 14 - Immagine adatta al color cycling

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.

 

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!  ;-)

 

http://digilander.libero.it/pnavato/frattali

Matematica dei frattali

Matematica dei frattali

 

 

I frattali sono figure geometriche caratterizzate dal ripetersi sino all'infinito di uno stesso motivo su scala sempre più ridotta. Questa è la definizione più intuitiva che si possa dare di figure che in natura si presentano con una frequenza impressionante ma che non hanno ancora una definizione matematica precisa: l'atteggiamento corrente è quello di considerare frattale un insieme F che abbia proprietà simili alle quattro elencate qui di seguito:

1) Autosimilarità: F è unione di un numero di parti che, ingrandite di un certo fattore, riproducono tutto F; in altri termini F è unione di copie di se stesso a scale differenti.

2) Struttura fine: F rivela dettagli ad ogni ingrandimento.

3) Irregolarità: F non si può descrivere come luogo di punti che soddisfano semplici condizioni geometriche o analitiche. (la funzione è ricorsiva: F = {Z | Z = f(f(f(...)))}

4) Dimensioni di autosimilarità > della dimensione topologica

La caratteristica di queste figure, caratteristica dalla quale deriva il loro nome, è che, sebbene esse possano essere rappresentate (se non si pretende di rappresentare infinite iterazioni, cioè trasformazioni per le quali si conserva il particolare motivo geometrico) in uno spazio convenzionale a due o tre dimensioni, la loro dimensione non è intera. In effetti la lunghezza di un frattale "piano" non può essere misurata definitamene, ma dipende strettamente dal numero di iterazioni al quale si sottopone la figura iniziale.

 

Fino agli inizi di questo secolo la geometria ha considerato oggetti per la cui trattazione è sufficiente la definizione classica e intuitiva di dimensione (Dt = dimensione topologica), già presente almeno implicitamente in Euclide. In questa definizione, data compiutamente da Poincaré, si assegna ad un punto o a un insieme totalmente sconnesso di punti Dt = 0; per le rette, induttivamente, la Dt = 1 in quanto possono essere divise da elementi di Dt = 0 (o meglio, un insieme F ha dimensione 1 se ogni punto ha un intorno in F arbitrariamente piccolo con frontiera di dimensione zero); e in generale un oggetto si dice di dimensione Dt = Dt'; quando ogni punto dell'insieme ha un intorno in F con frontiera di dimensione Dt = (Dt'-1). La dimensione topologica è un numero intero.

Il concetto di dimensione ha però diverse connotazioni matematiche, in accordo con le seguenti proprietà:

Siano A e B insiemi di punti:

A = Âk Þ dim(A) = k

AÍB Þ dim(A) £ dim(B)

A Í Âk (A è aperto) Þ dim(A) = k

A numerabileÞ dim(A) = 0

dim(A) non varia se A è sottoposto a rotazioni, traslazioni, cambiamenti di scala (autosimilarità)

dim(A È B) = max{ dim(A), dim(B) }

A può essere diviso da una sottoclasse di punti Dt = (Dt'-1).

 

Per l'insieme di Cantor, si ha Dt(C) = 0. Tale definizione non distingue tra C e l'insieme dei razionali nell'intervallo [0,1]. Per questo B. B. Mandelbrot, autorevole matematico che ha dato l'impulso allo studio dei frattali, evidenziò come la dimensione topologica non sia opportuna per le figure frattali, e per questo nello studiare queste figure si fa riferimento alla definizione di dimensione data da Kolmogorov-Hausdorff.

 

 

http://www.miorelli.net/frattali/matematica.html

 

 

Si misuri un insieme di punti A con un'unità di misura h ogni volta più piccola e si chiami N(h) il minimo numero di segmenti (se il frattale è costituito da punti appartenenti ad una stessa retta) - o in generale di figure a k dimensioni se il frattale è costituito da punti tutti appartenenti ad uno spazio Âk - necessari per coprire per intero la figura, si definisce capacità di A:

 

Analizziamo ora la dimensione del frattale più classico e studiato: l'insieme C di Cantor.

 

Questo insieme è costituito dai punti che "rimangono" sul segmento [0, 1] dopo che da questo è stato asportato (prima iterazione, p = 1) il terzo centrale (1/3, 2/3), e da ognuno dei due segmenti risultanti [0, 1/3] e [2/3, 1] è stato asportato il terzo centrale, esclusi gli estremi, e così via per infinite iterazioni. Evidentemente per p ® ¥ l'insieme C è costituito dagli estremi dei segmenti che si formano ad ogni iterazione, quindi è costituito da infiniti punti. La lunghezza dei segmenti asportati, dopo la p-esima iterazione, è data dall'espressione

 

che è ovviamente uguale a 1 per p® ¥.

Si dimostra così che la lunghezza complessiva dell'insieme di Cantor è zero, e altresì che è costituito da infiniti punti. Quindi la definizione classica di dimensione è assolutamente inefficace.

Nel 1941, cioè prima che fosse data la definizione di Kolmogorov (1958), Courant e Robbins, forse non abituati né pronti all'idea di dimensione non intera, scrissero che la dimensione di C era zero. Evidentemente essi calcolarono solo la Dt, senza rendersi conto che questa è un dato sterile, che non permette di operare con questi insoliti oggetti matematici.

 

Oggi calcoliamo invece Df(C) prendendo inizialmente un segmento unitario, che, essendo della stessa lunghezza del segmento di partenza, lo copre al meglio; dopo la p = 1, i due segmenti rimanenti sono "misurati" da N(h) = 2 segmenti di h = 1/3; in generale, dopo p iterazioni, N(h) = 2p e h = 3-p. Da questo si ricava che

Df(C) = ln 2p / ln 1/3 -p = ln 2 / ln 3 » 0,6309...

 

Il fatto che la dimensione di C sia 0 < Df(C) < 1, fa immediatamente capire come l'insieme C non contenga segmenti continui, ma sia costituito da infiniti punti, che sono tutti di accumulazione per C stesso, infatti in ogni intorno U(x Î C, e) esistono infiniti punti derivanti dalle iterazioni successive, e quindi C è un insieme perfetto perchè non ci sono punti di accumulazione di C che non appartengano a C stesso (tutti gli estremi dei segmenti appartengono a C).

 

E' interessante osservare che questi infiniti punti hanno la potenza del continuo! Infatti a ogni numero x Î [0, 1], si può associare la rappresentazione ternaria della misura della distanza dallo zero, e si può scrivere nella forma: x = 0,a1a2...an, dove ai = 0 oppure 1 oppure 2. Tale rappresentazione non è unica: per esempio 1/3 = 0,1(0) ma anche 1/3 = 0,0(2); in simili casi decidiamo di scegliere la rappresentazione che contiene meno cifre "1"; in tal modo, ogni numero è rappresentato in modo univoco. Si può dimostrare che x appartiene all'insieme di Cantor se e solo se la sua rappresentazione (in base 3) non contiene la cifra 1.

 

Si osservi ora che le rappresentazioni composte con le cifre 0 e 2 sono tante quante quelle composte con le cifre 0 e 1 e di queste ultime ve ne è una infinità continua (cioè con la potenza del continuo), poichè ogni numero dell'intervallo [0, 1] si può rappresentare con una tale successione usando il sistema binario. In conclusione i punti di Cantor sono un'infinità continua.

 

 

http://www.miorelli.net/frattali/matematica.html

 

 

Inoltre, un aspetto interessante della matematica dei frattali è l'utilizzo di una numerazione in basi diverse da quella decimale in relazione alle caratteristiche del singolo motivo geometrico. Questo procedimento è utile soprattutto per l'elaborazione da parte di computer, che non sono legati a nessuna base (diversa da quella binaria) più che a quella decimale. In questo modo, per esempio, prendendo un segmento unitario e utilizzando la base 3, l'insieme di Cantor è semplicemente costituito da tutti quei punti xn per i quali la misura della distanza d(xn) dall'estremo che noi chiameremo zero (o origine del segmento) è espressa come una successione infinita di cifre ternarie 0,a1a2...an, dove il valore delle ai sia solamente zero o due. Infatti riscontriamo che, dopo la prima iterazione, i punti del primo terzo hanno 0 £ d(xprimo terzo) £ 0,1 e che i punti del terzo di segmento adiacente al secondo estremo hanno 0,2 £ d(xultimo terzo) £ 1. Per la proprietà di autosimilarità, questo ragionamento può essere esteso alla seconda iterazione, considerando la seconda cifra dello sviluppo ternario della misura della d(x) dei punti che appartengono all'insieme dopo la p = 1. Facilmente si capisce come anche il punto x | d(x) = 0,1 appartenga all'insieme, scegliendo opportunamente la rappresentazione di 0,1 = 0,0(2).

 

Altri frattali vengono creati da computer attraverso l'uso di basi numeriche non decimali. Consideriamo per esempio la curva di Von Koch, nata come esempio di curva priva di tangente in alcun punto.

 

p = 1

p = 2

p = 3

 

 

 

Per questa curva Df(K) = ln 4 / ln 3, per p ® ¥, mentre la sua lunghezza è evidentemente (4/3)p, cioè infinita: per disegnare perfettamente questa curva, anche supponendo di poterlo fare alla velocità della luce, sarebbe necessario un tempo infinito. Se prendiamo due punti appartenenti a K, con distanza euclidea e comunque piccola, la lunghezza della curva che porta dal primo al secondo (e viceversa) è infinita. Inoltre, se costruissimo una curva di Koch su ogni lato di un triangolo equilatero, la lunghezza del perimetro della figura così ottenuta sarebbe infinita come già visto, mentre la sua area, posta l'area iniziale del triangolo Ai = a,

 

Ora abbandoniamo i frattali "semplici", generati cioè da successive trasformazioni geometriche e consideriamo invece frattali F costituiti dai punti che soddisfano una funzione complessa  2 (anche se, teoricamente, non c'è un limite alla dimensione topologica di un frattale, per comodità di rappresentazione noi studieremo solo frattali Julia e Mandelbrot, che si rappresentano nel piano di Argand-Gauss, facendo quindi uso della matematica complessa) del tipo Z = f(z), dove zp = Zp-1, cioè una funzione nella quale per ogni iterazione, z assume il valore di Z ottenuto nell'iterazione precedente.

 

In altre parole, F = { Z | Z = f(f(f(f(...)))) }

 

E' proprio questo che genera l'indefinitezza che è una delle caratteristiche peculiari di tali costruzioni matematiche, ovvero la possibilità di iterare virtualmente all'infinito per ciascun punto prima di passare al successivo. Quindi, per "disegnare" un frattale attraverso un elaboratore, è necessario precisare il numero massimo di iterazioni: un tempo finito non basterebbe per calcolare un punto del frattale a infinite iterazioni.

 

http://www.miorelli.net/frattali/matematica.html

Volendo essere un po' più precisi, si può dire che un frattale non rappresenta altro che la "forma" del bacino di attrazione di una successione a valori complessi definita per ricorrenza, rappresentata sul piano di Argand-Gauss.

Utilizzando la funzione f(z): Z = z2 + c si ottengono i due tipi di frattali che noi studieremo principalmente: i famosi "Julia" e "Mandelbrot" (che sono generati dalla stessa equazione, ma con valori differenti per il parametro c).

L'equazione è quella che nella rappresentazione abituale genera una parabola (se z Î Â) traslata col vertice in (0, c); quello che interessa a noi, tuttavia, non è la solita rappresentazione sul piano cartesiano (ovvero secondo un incremento della variabile indipendente), ma come si comporta, dato un punto di partenza, reimpostando nell'equazione i risultati dell'elaborazione precedente (zp = Zp-1).

Con l'aiuto dei calcolatori e utilizzando opportunamente i colori è possibile ottenere immagini molto suggestive di questi frattali.

Dalla determinazione delle condizioni di partenza, dipendono le differenze tra gli insiemi di Julia e l'insieme di Mandelbrot. E' necessario un esempio, perchè gran parte della difficoltà iniziale che si incontra avvicinandosi ai frattali sta in questo.

L'insieme di Mandelbrot si presenta come un otto disposto in orizzontale sfrangiato e simmetrico rispetto all'asse delle ascisse.

Si supponga di considerare una piccola porzione attorno all'origine di un piano complesso di intervallo (-2, -2) - (2, 2).

Si sostituiscano, per ogni punto considerato, le corrispondenti coordinate complesse al termine noto c, nell'equazione Z = z2 + c, ponendo inizialmente z = 0 + 0i.

Si calcoli il valore di Z.

Se si trova che la distanza di Z dall'origine è maggiore di due, si salti al passo 6. Per calcolare tale distanza, si adotta il teorema di pitagora nel seguente modo: dato Z = a + bi, il quadrato della distanza d dall'origine sarà d2 = a2 + b2.

Se no, si incrementi di 1 un contatore e si torni al passo 3 se il contatore ha un valore inferiore al numero di iterazioni massime prefissato, dopo aver posto z = Z.

Si colori il punto di un colore diverso a seconda del valore del contatore.

Si azzeri il contatore e si ritorni al passo 2, per calcolare il colore del prossimo punto.

Il procedimento avrà termine quando tutti i punti interessati saranno stati processati nel suddetto modo.

Possiamo adesso entrare un poco più in dettaglio ed affrontare i principi di determinazione dei frattali della famiglia di Julia, che si presentano molto diversamente a seconda della scelta del termine noto c.

Si supponga considerare una piccola porzione attorno all'origine di un piano complesso di intervallo (-2, -2) - (2, 2).

Si scelga un binomio complesso c assegnando valori del tutto arbitrari alla parte reale ad alla parte immaginaria.

Si sostituiscano, per ogni punto considerato, le corrispondenti coordinate complesse alla variabile z, nell'equazione Z = z2 + c.

Si calcoli il valore di Z.

Se si trova che la distanza di Z dall'origine è maggiore di due, si salti al passo 7. Per calcolare tale distanza, si adotta il teorema di Pitagora come spiegato sopra.

Se no, si incrementi di 1 un contatore e si torni al passo 4 se il contatore ha un valore inferiore al numero di iterazioni massime prefissato, dopo aver posto z = Z.

Si colori il punto di un colore diverso a seconda del valore del contatore.

Si azzeri il contatore e si ritorni al passo 3 per calcolare il colore del prossimo punto.

Il procedimento avrà termine quando tutti i punti interessati saranno stati processati nel suddetto modo.

N. B. Il numero di iterazioni massime determina la precisione da adottare per la rappresentazione dell'insieme e per ottenere migliori risultati, è consigliabile che sia uguale o comunque inferiore al numero di colori disponibili.

Buoni risultati si ottengono assegnando a c dei coefficenti reali ed immaginari compresi fra 0 ed 1.

Vi sono infiniti insiemi di Julia poichè la scelta di c non deve sottostare a nessuna restrizione.

La differenza fra l'insieme di Mandelbrot e gli insiemi di Julia è che le coordinate complesse del punto del piano vengono sostituite non a z, inizialmente azzerato, ma a c, che non è più una costante definita all'inizio dell'elaborazione.

 

http://www.miorelli.net/frattali/matematica.html