Una spirale nasce da un gesto semplice: ruotare sempre di uguale misura e avanzare un po’ di più a ogni passo. Da questo schema elementare emergono spirali triangolari, quadrate, dodecagonali, fino alla spirale di Archimede, dove la linea poligonale si fa curva.
Cominciamo con un quadrato
Disegniamo un quadrato di lato 150 unità con il codice seguente. Usiamo la penna color cioccolato.
home clearscreen pensize 1 pencolor “chocolate” lato=150 repeat 4 [ forward lato right 90 ]
Nota. Ricordo che in LibreLogo l’unità di misura standard delle lunghezze è il punto tipografico (pt), quando il disegno è stampato su carta. Invece a schermo, dipende dalle dimensioni dello schermo.
1pt = 1/72 di pollice = 0,35 mm (circa).

Trasformiamo il quadrato in una spirale quadrata
Per trasformare il quadrato in una spirale, usiamo lo stesso angolo di rotazione di 90°, e aumentiamo la lunghezza del lato a ogni passaggio. Iniziamo con lato = 5 e lo incrementiamo di 5 unità a ogni ripetizione nel ciclo.
Inoltre dobbiamo impostare il numero di ripetizioni in base a quanti giri vogliamo che compia la spirale.
Per esempio, con 40 ripetizioni otteniamo una spirale quadrata di 40/4 = 10 giri completi.
home clearscreen pensize 1 pencolor “chocolate” lato=5 repeat 40 [ forward lato right 90 lato=lato+5 ]
Come funziona. Nel ciclo repeat, la variabile lato cresce costantemente, trasformando la forma di un quadrato chiuso in una spirale ad angoli retti.

Disegniamo una spirale ottagonale
Aumentando il numero dei lati e riducendo l’angolo di rotazione a 45° (360/8), la spirale assume un aspetto piu arrotondato.
Con 40 ripetizioni otteniamo una spirale ottagonale di 40/8 = 5 giri.
Bastano due piccole modifiche al programma:
- angolo di rotazione = 45°
- incremento del lato = 2 unità, per contenere le dimensioni della spirale.
home clearscreen pensize 1 pencolor “chocolate” lato=5 repeat 40 [ forward lato right 45 lato = lato+2 ]

Variazioni sul tema
Provate a cambiare alcuni parametri del programma per esplorare cosa succede.
Esempi.
- Impostare l’angolo di rotazione a 120° (360/3) per ottenere una spirale triangolare.
- Usare left al posto di right nella rotazione e vedere cosa succede.
- Ridurre l’incremento del lato e aumentare le ripetizioni del ciclo.
- Modificare leggermente l’angolo, per esempio 91° oppure 89°.
- Ridurre l’angolo di rotazione e la lunghezza del lato per ottenere una spirale sempre più rotonda.
Dovreste ottenere figure come quelle seguenti.
lato=20 repeat 12 [ forward lato left 120 lato = lato+20 ]
Nota. Usando left si ottiene una spirale avvolta in senso antiorario.

lato=1 repeat 90 [ forward lato right 60 lato = lato+1 ]

lato=2 repeat 92 [ forward lato right 91 lato=lato+2 ]

lato=1 repeat 60 [ forward lato right 30 lato=lato+1 ]

La spirale di Archimede
La spirale archimedea è definita matematicamente in coordinate polari dalla legge
r = a · θ
La sua caratteristica principale è che la distanza tra spire consecutive rimane sempre costante. Per approssimare questa curva con la grafica della tartaruga:
- riduciamo l’angolo di rotazione a un valore basso, per esempio 5°;
- incrementiamo la lunghezza del lato di una quantità piccolissima, per esempio 0.02 unità.
Grazie alla successione di micro-segmenti, l’occhio percepisce una curva invece di una linea poligonale.
home clearscreen pensize 1 pencolor “chocolate” lato=0.02 repeat 360 [ forward lato right 5 lato=lato+0.02 ]

Cambiando right 5 con left 5 si ottiene una spirale archimedea antioraria.
home clearscreen pensize 1 pencolor “chocolate” lato=0.02 repeat 360 [ forward lato left 5 lato=lato+0.02 ]

Una curiosità: spirali con l'angolo aureo
L’angolo aureo è il minore dei due angoli al centro ottenuti suddividendo la circonferenza (C) secondo la sezione aurea.
Angolo aureo = 137.507764…° (è un numero irrazionale).
Cosa succede se disegniamo una spirale impostando l’angolo di rotazione uguale all’angolo aureo?
Se tracciamo pochi segmenti, la figura sembra irregolare, quasi caotica. In realtà non è caos ma stiamo entrando nel territorio dell’angolo aureo.
home clearscreen pensize 1 pencolor “chocolate” lato=1 repeat 50 [ forward lato left 137.51 lato=lato+5 ]

Aumentiamo notevolmente il numero di segmenti e diminuiamo l’incremento di lunghezza.
Inoltre disegniamo un punto (point) di grandezza crescente in ogni vertice della poligonale.
Nella figura si percepiscono varie spirali, sia orarie sia antiorarie. Sono pattern emergenti, non programmati.
home clearscreen pencolor “chocolate” lato=1 repeat 250 [ pensize 0 forward lato pensize lato/25 point left 137.51 lato=lato+1 ]

Se eliminiamo i segmenti e lasciamo solo i punti, regolando meglio la loro dimensione, otteniamo la seguente figura.
Vi ricorda qualcosa? Percepite numerose spirali sia orarie sia antiorarie?
Assomiglia molto alla disposizione dei fiorellini nelle asteracee, come la Margherita comune.
Riprenderemo questo argomento nel prossimo articolo dedicato alle spirali botaniche e ai numeri di Fibonacci.

Crediti
Contenuti originali di Gianfranco Bo, rilasciati nel pubblico dominio (CC0).
LibreOffice è un marchio registrato di The Document Foundation. Gli screenshot dell’interfaccia provengono dal software LibreOffice (v.26.2).
Pace e bene a tutti
GfBo
Foto cover: Bankrx / Shutterstock

