Ecco il tappeto di Sierpinski realizzato con il metodo di Barnsley.
Si predispone un'urna con otto palline, una rossa, una verde, una blu, una gialla, una fucsia, una celeste, una rosa ed una verde acqua; ogni pallina contiene le istruzioni per una trasformazione.
Pallina rossa | (cella a11 dell'immagine a destra) | Contrazione di 1/3 |
![]() |
Pallina gialla | (cella a21 dell'immagine a destra) |
Contrazione di 1/3; traslazione verticale di 1/3 |
|
Pallina celeste | (cella a31 dell'immagine a destra) |
Contrazione di 1/3; traslazione verticale di 2/3 |
|
Pallina verde | (cella a12 dell'immagine a destra) |
Contrazione di1/3; traslazione orizzontale di 1/3 |
|
Pallina rosa carne | (cella a32 dell'immagine a destra) |
Contrazione di 1/3; traslazione orizzontale di 1/3; traslazione verticale di 2/3 |
|
Pallina blu | (cella a13 dell'immagine a destra) |
Contrazione di1/3; traslazione orizzontale di 2/3 |
|
Pallina fucsia | (cella a23 dell'immagine a destra) |
Contrazione di 1/3; traslazione orizzontale di 2/3; traslazione verticale di 1/3 |
|
Pallina verde acqua | (cella a33 dell'immagine a destra) |
Contrazione di 1/3; traslazione orizzontale di 2/3; traslazione verticale di 2/3 |
Ecco il listato del programma in linguaggio di progetto:
INIZIA k=1/3 x=1 y=1 | K è il rapporto di
contrazione; x ed y sono rispettivamente l'ascissa e l'ordinata del punto di partenza. | ||||||||||||||||||||||
Ripeti per 20000 volte: Estrai un numero a caso (di nomeT) minore di 1000 | Si inizia il ciclo: viene
estratto un numero casuale che ci permette di impostare la trasformazione a
seconda del suo valore
| SeT < 125 allora x1 = kx y1 = ky Scegli il colore rosso Ecco la prima trasformazione, applicata con probabilità del
12,5% | (Pallina rossa)
| Altrimenti seT < 250 allora x1 = kx y1 = ky + k Scegli il colore giallo Ecco la seconda trasformazione, applicata con probabilità del
12,5% | (Pallina gialla)
| Altrimenti seT < 375 allora x1 = kx y1 = ky + 2k Scegli il colore celeste Ecco la terza trasformazione, applicata con
probabilità del 12,5% | (Pallina celeste)
| Altrimenti seT < 500 allora x1 = kx + k y1 = ky Scegli il colore verde Ecco la quarta trasformazione, applicata con probabilità del
12,5% | (Pallina verde)
| Altrimenti seT < 625 allora x1 = kx + k y1 = ky + 2k Scegli il colore rosa Ecco la trasformazione, applicata con probabilità del
12,5% | (Pallina rosa)
| Altrimenti seT < 750 allora x1 = kx + 2k y1 = ky + 2k Ecco la sesta trasformazione, applicata con probabilità del
12,5% | (Pallina blu)
| Altrimenti seT < 875 allora x1 = k * x +2k y1 = k* y + k Scegli il colore fucsia Ecco la settima trasformazione, applicata con probabilità del
12,5% | (Pallina fucsia)
| Altrimenti x1 = k * x +2k y1 = k* y + k Scegli il colore verde acqua Ecco l'ottava trasformazione, applicata con probabilità del
12,5% | (Pallina verde acqua)
Fine se. | Se hai già fatto 20 ripetizioni allora Disegna sullo schermo il punto moltiplicando la sua ascissa per la larghezza e la sua ordinata per l'altezza dello schermo grafico.
x = x1 | y = y1
Le coordinate del
punto trasformato sostituiscono i valori iniziali e ad esse si applica la
prossima trasformazione. |
Fine ciclo
| FINE | |
©2007 www.webfract.it