SPIRALE FRATTALE IFS

Presentiamo il primo esempio di spirale costruita con il metodo IFS, o di Barnsley.

La matrice delle trasformazioni che ne permettono la costruzione e che è riportata nella seguente tabella:

 

a

b

c

d

e

f

p

I

0.728

-0.529

0.0

0.529

0.728

0.0

0.87

II

0.3

0.0

+ 0.7

0.0

0.3

+ 0.51

0.13

E' questo un metodo compatto per scrivere le equazioni delle trasformazioni lineari, cioè quelle in cui le variabili sono tutte al primo grado; invece che scrivere:

(x'= ax + by + c) AND (y'= dx + ey + f)

si dispongono in una stessa riga i coefficienti che fanno parte della stessa trasformazione, mentre l'ultima colonna rappresenta la probabilità con cui applicare la trasformazione.

Ad esempio, riferendoci alla I trasformazione, che si applica con probabilità del 90%, possiamo scrivere:

(x'= 0.728x -0.529y) AND (y'= 0.529x + 0.728y)

Non dimentichiamo che il nostro è un sistema di funzioni iterate, e dunque il risultato di ogni trasformazione deve diventare il numero in entrata per la prossima trasformazione, si tratta quindi di assegnare rispettivante ad x e a y x' e y'.

Ecco il listato del programma in linguaggio di progetto:


 INIZIA
 Parti da un punto iniziale, ad esempio l'origine (x=0; y=0) 
  Ripeti per 50000 volte: 
    Estrai un numero a caso (di nome T) minore di 1
 
    
Dopo aver scelto un punto di partenza si inizia il ciclo; viene estratto un numero casuale che ci permette di impostare la trasformazione a seconda del suo valore.

Se T < 0.87 allora
            xT =  0.728*x -0.529*y
            yT =  0.529*x  + 0.728*y
            Scegli un colore
            

Equazione della prima trasformazione, applicata con probabiltà del 90%.

Nella prima immagine a sinistra si vede la rappresentazione grafica della trasformazione applicata al quadrato di vertici A(1,1) B(1,-1) C(-1,-1) D(-1,1)

Nella seconda immagine a sinistra i tre quadrati rosso, verde e blu sono ognuno il trasformato del precedente nella stessa trasformazione.

     Altrimenti 
            xT = 0.3 * x + 0.7
            yT = 0.3 * y + 0.51
            Scegli un colore
              
Equazione della seconda trasformazione, applicata con probabiltà del 10%.

Nella prima immagine a sinistra si vede la rappresentazione grafica della trasformazione applicata al quadrato di vertici A(1,1) B(1,-1) C(-1,-1) D(-1,1)

Nella seconda immagine a sinistra i tre quadrati rosso, verde e blu sono ognuno il trasformato del precedente nella stessa trasformazione.

   Fine se

    Disegna sullo schermo il punto (xT,yT) moltiplicando le sue coordinate per 200 e con il colore scelto
  x = xT
  y = yT
  
La prossima trasformazione si applicherà al punto xT, yT precedentemente trovato.
   Fine ciclo
FINE

SCOPRI DI PIU': Prima trasformazione - Seconda trasformazione - Spirale passo per passo - Spirale passo per passo - Codice per costruire la spirale con HTML5 canvas e javascript


 

 

Introduzione
Definizione

Realizzazione

Tipi di frattali
Caratteristiche
Altri IFS
Indice
Home
Contatti

©2013 www.webfract.it