Con poche righe di codice si apre un mondo di immagini sorprendenti!
Versione 1
Per disegnare una spirale
- Avanza di una certa distanza, disegnando un certo tratto
- Cambia direzione, in senso antiorario
- Cambia la lunghezza del tratto
- Ripeti i 3 passi precedenti finché la distanza dal centro si mantiene al di sotto di una certa soglia

import turtle
DISTANZA = 5 # La variabile per la lunghezza del passo
while(turtle.distance(0,0) < 400): # Non superare una certa distanza dal centro!
turtle.forward(DISTANZA
) # Avanza (e scrivi...)
turtle.left(45) # Cambia direzione
DISTANZA
+= 2 # Aumenta la lunghezza del passo
Il risultato dell’esecuzione del codice si presta a diverse critiche
- La finestra è troppo grande rispetto al risultato
- Lo sfondo (bianco) e il tratto (nero e sottile) non valorizzano il risultato
- La freccia che rappresenta la matita è anonima
- L’esecuzione è piuttosto lenta
- Ci sono dei numeri magici (400, 45, 2, …) sparsi all’interno del codice
- …
Versione 2
Il codice si complica ma diventa più facile realizzare figure originali
- La 1° parte del codice contiene un elenco di parametri (NOME = valore) che determinano il risultato finale
- La 2° imposta l’ambiente di esecuzione tenendo conto anche dei parametri precedenti
- La 3° contiene il codice effettivo

import turtle # ------------------------------ PARAMETRI WIDTH = 500 # Larghezza finestra grafica HEIGHT = 500 # Altezza finestra grafica DELTA_ANGOLO = 45 # CAMBIO DIREZIONE
= 5 # Tratto iniziale DELTA_
DISTANZA
= 2 # AUMENTO LUNGHEZZA TRATTO MAX_
DISTANZA
= 0.45*HEIGHT # Limite per la distanza dal centro PENSIZE = 2 # SPESSORE TRATTO
DISTANZA
TITOLO = "DELTA_ANG = " + str(DELTA_ANGOLO) \ + " DELTA_LUNG = " + str(DELTA_
LUNGHEZZA
) \ + " PENSIZE = " + str(PENSIZE) \# ------------------------------ IMPOSTAZIONI turtle.setup(WIDTH, HEIGHT) # Dimensione finestra grafica
turtle.title(TITOLO) # Testo barra del titolo turtle.shape("turtle") # Immagine della tartaruga turtle.pencolor("red") # Colore tratto turtle.bgcolor("pink") # Colore sfondo turtle.pensize(PENSIZE) # Spessore tratto turtle.speed(0) # Massima velocità # ------------------------------ ESECUZIONE while(turtle.distance(0,0) < MAX_
): turtle.forward(
DISTANZA
) turtle.left(DELTA_ANGOLO) DISTANZA += DELTA_DISTANZA
DISTANZA
Esperimenti
Prova a cambiare uno o due parametri (DELTA_ANG, DELT_DIST) per ottenere immagini originali
DELTA_ANGOLO=60

DELTA_ANGOLO=75

DELTA_ANGOLO=90

DELTA_ANGOLO=91

DELTA_ANGOLO=120 (DELTA_DISTANZA=5)

DELTA_ANGOLO=121

DELTA_ANGOLO=135

DELTA_ANGOLO=150

DELTA_ANGOLO=181
