[BASE Cinque - Appunti di Matematica ricreativa]

Turtle graphics #3. Spirali botaniche e numeri di Fibonacci

Un semplice modello matematico in poche righe di codice.

 

Sintesi. A volte basta fermarsi e osservare: una pigna, una cicoria, un cavolo rosso, una margherita. Tutte mostrano spirali.

In molte specie queste spirali compaiono in coppie di numeri di Fibonacci, come se la pianta seguisse una semplice regola per crescere.

Con la turtle graphics possiamo esplorare quella regola: un angolo costante, un passo regolare in poche righe di codice.

Queste attività di programmazione sono semplici, visive e immediate: funzionano già dalla scuola secondaria di primo grado.

Riprendiamo la spirale di Archimede

Il precedente articolo, dedicato alle spirali, si concludeva con la spirale archimedea e una strana spirale basata sull'angolo aureo.

Mettendo insieme queste due forme geometriche cercheremo di costruire un modello della fillotassi piana che vediamo nelle asteracee, come le margherite, e in altre piante.

Apriamo LibreLogo e digitiamo il programma seguente (oppure usiamo il copia e incolla).

Otteniamo una spirale archimedea.

Il passo (p) della spirale archimedea è costante. Ciò significa che la distanza tra due spire successive è sempre la stessa.

home clearscreen
pensize 1 pencolor “green”
lato=0.03
repeat 360 [
  forward lato
  left 3
  lato=lato+0.03
]

Spirale di Archimede

Figura. Spirale di Archimede antioraria di passo p (approssimazione poligonale)

 

La divergenza angolare

Ora vogliamo disporre dei punti sulla spirale tali che abbiano la stessa divergenza angolare fra loro.

Sfruttiamo proprio la definizione di spirale archimedea in cui la distanza dal centro (misura del raggio vettore) cresce in modo direttamente proporzionale all'angolo totale di rotazione.

In formula:

r(θ) = k · θ

Ecco il programma.

angolo=30
passo=10
n_giri=3
; Traccia la spirale puntinata
pencolor “black”
pensize 1
rot1=5
incr_r1=passo*rot1/360
n_punti1=n_giri*360/rot1
r1=0
home
repeat n_punti1 [
  pu forward r1
  pd pensize 1 point
  pu home
  left rot1*repcount
  r1=r1+incr_r1
]
; Traccia i punti più grandi a distanza angolare di 30°
angolo=30
pencolor “green”
rot=angolo
incr_r=passo*rot/360
n_punti=n_giri*360/rot
r=0
home
repeat n_punti [
  pd forward r
  pensize 5 point pensize 0
  pu home
  left rot*repcount
  r=r+incr_r
]

Otteniamo una spirale archimedea sulla quale sono segnati alcuni punti a intervalli angolari regolari. Nel nostro esempio, un punto ogni 30°.

Spirale di Archimede con punti a distanza angolare di 30°

Figura. Spirale di Archimede antioraria con punti a divergenza angolare di 30°

 

Cosa succede se impostiamo l'angolo di 29°, che non è sottomultiplo di 360?
Osserviamo che i punti riempiono meglio il piano e sembrano formare diverse spirali sia orarie, sia antiorarie.

Spirale di Archimede con punti ad angolo fisso di 29°

Figura. Spirale di Archimede antioraria con 10 avvolgimenti e punti con divergenza angolare di 29°

 

Una spirale con il passo decrescente

Immaginate ora una spirale di punti discreti e numerati disposti secondo una divergenza angolare fissa fra loro e tali che la distanza del punto n-esimo dal centro della spirale sia proporzionale alla radice quadrata di n.

 

 Spirale di Vogel per la fillotassi del capolino del girasole

Figura. Spirale in cui il raggio vettore è proporzionale alla radice quadrata dell'angolo totale.

 

Proviamo a scrivere un programma minimalista che disegni i punti di una spirale discreta di questo tipo, dati tre parametri:

La distanza r dell'n-esimo punto dal centro è proporzionale a alla radice quadrata di n secondo k

Nota sulla formula di Vogel.

La formula di Vogel, proposta dal fisico tedesco Helmut Vogel nel 1979, è il modello matematico che descrive la disposizione ottimale dei semi nel capolino del girasole, generando una spirale di punti discreti. Espressa in coordinate polari (rn, θn) per ogni seme n-esimo, la formula è:

θn = n · α

rn = kn

dove α è l'angolo di divergenza e k è un fattore di scala.

Il modello si basa su due principi fondamentali.

Dare un nome a una procedura

Quando una procedura è interessante, utile e consolidata, conviene darle un nome. In questo modo entra a far parte del linguaggio di programmazione e si può richiamare semplicemente scrivendo il suo nome seguito dai valori dei  parametri che deve usare.

Ecco il codice davvero minimalista per tracciare qualunque spirale discreta di Vogel.

to spiravogel :angolo :n_punti :k 
home ht cs
; Disegna il primo punto di colore rosso
pencolor “red” pensize 8 pd point pu

; Disegna i successivi n_punti-1 di colore verde
pencolor “green”
repeat :n_punti-1 [
n=repcount
r=:k*n**0.5
left :angolo*n
pu forward r
pd pensize 8 point pu
home
]
end

Richiamiamo la procedura con i tre parametri 55, 100, 10 ed ecco il risultato ottenuto.

 

Spirale di Vogel

Figura. Spirale discreta di Vogel formata da 100 punti con angolo di divergenza di 55° e fattore di ingrandimento 10

 

Nota sulla sintassi per definire una procedura con parametri e richiamarla.

L'angolo aureo

L’angolo aureo è il minore dei due angoli al centro ottenuti suddividendo la circonferenza (C) secondo la sezione aurea.

Dividiamo cioè la circonferenza in due archi tali che l'arco maggiore sia medio proporzionale tra l'arco minore e l'intera circonferenza.

Angolo aureo

Figura. Angolo aureo

 

a : b = b : C

ovvero:

a : b = b : (a+b)

Per calcolare l'ampiezza dell'angolo aureo basta dividere l'angolo giro per ϕ2, dove ϕ è il numero aureo, cioè (1+√5)/2.

In gradi sessadecimali:

Angolo aureo = 360° : ϕ2= 360° : ((3+√5)/2) = 137.507764...° (è un numero irrazionale).

Formula dell'angolo aureo

Simulare l'infiorescenza della margherita

Finalmente siamo arrivati alla creazione del nostro modello matematico!

Una spirale discreta di Vogel caratterizzata da un angolo aureo di divergenza fra i suoi punti e da un numero adeguato di punti è un buon modello dell'infiorescenza di molte asteracee, come la margherita, il girasole e alcuni cardi.

E può simulare molti altri casi di fillotassi.

Vediamo per esempio la distribuzione di 300 fiori con angolo di divergenza 137.51.

 

Modello infiorescenza margherita

Figura. Simulazione di fillotassi piana con angolo di 137.51°

 

L'angolo aureo è determinante per ottenere questa struttura.

Basta infatti modificarlo di pochissimo perché quel pattern si perda completamente.


Per esempio, con LEFT 137.20

Modello infiorescenza della margherita

Figura. Simulazione di fillotassi piana con angolo di 137.20°

 


Oppure con LEFT 139.90

 Modello infiorescenza della margherita

Figura. Simulazione di fillotassi piana con angolo di 139.90°

 

Simulare la crescita degli elementi

Per simulare la crescita degli elementi man mano che ci si allontana dal centro, possiamo rendere variabile la dimensione della penna che traccia i punti. Facciamo qualche prova per tentativi.

Fillotassi margherita con crescita

Figura. Simulazione di fillotassi piana con crescita degli elementi verso l'esterno

 

Simulare le scaglie di una pigna

Proviamo a disegnare cerchi con diametro crescente e cambiamo il colore di riempimento.

hideturtle
pensize 1
fillcolor "orange" filtransparency 10
repeat 100 [
  pendown circle 8 + repcount penup
  forward 12 + (repcount*2)
  right 137.51
] 

Spirali turtle graphics pigna

Figura. Simulazione di fillotassi piana con angolo di 137.51° e cerchi di diametro crescente

 

Dove sono i numeri di Fibonacci?

Ricordiamo la sequenza di Fibonacci:

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...

Osserviamo il modello della margherita.

Con un po' di pazienza, possiamo contare 21 spirali antiorarie e 34 spirali orarie. Sono due numeri di Fibonacci consecutivi!

sPIRALI MODELLO MARGHERITA

Figura. Spirali emergenti in numero di Fibonacci

 

Nel modello della pigna, invece, possiamo contare 13 spirali antiorarie e 8 spirali orarie. Ancora una volta due numeri di Fibonacci consecutivi.

Spirali Fibonacci nella pigna

Figura. Spirali emergenti in numero di Fibonacci

 

Esempi botanici

C'è una corrispondenza fra questi modelli matematici e le strutture naturali?

Assolutamente sì. Però la natura non sceglie l’angolo aureo: esso emerge da semplici regole locali di crescita.
A seconda della specie, si vedono spirali diverse.

Per dare l'idea, riporto alcuni esempi fotografici.


Nel cavolo rosso si vedono 3 spirali orarie.

Spirali nel cavolo rosso

Figura. Spirali nella fillotassi del cavolo rosso

 


La cicoria presenta 5 spirali antiorarie.

Spirali nella cicoria

Figura. Spirali nella fillotassi della cicoria

 


Nella pigna di pino si possono contare 8 spirali orarie e 13 spirali antiorarie.

spirali nella pigna

Figura. Spirali nella fillotassi della pigna

 


Nella margherita comune si possono contare 34 spirali orarie e 21 spirali antiorarie, esattamente come nel modello matematico.

Spirali nella margherita

Figura. Spirali nell'infiorescenza della margherita comune

 


Guardando una margherita più da vicino, si vede che i fiori del capolino hanno una struttura pentagonale ma si impacchettano in un reticolo quasi esagonale.

Il nostro modello semplificato cattura la geometria di fondo ma non riesce a cogliere le forme e le deformazioni dei singoli elementi. Un buon punto di partenza per futuri approfondimenti.

Spirali nella margherita

Figura. Dettaglio sull'infiorescenza della margherita comune

 

Fonti e approfondimenti bibliografici

Questo articolo e i relativi modelli geometrici si ispirano al testo fondamentale di Przemyslaw Prusinkiewicz e Aristid Lindenmayer, The Algorithmic Beauty of Plants, Springer, 2004.
Le pagine 99–109, in particolare, introducono la fillotassi piana e mostrano come modellarla attraverso gli L‑System.

Per la realizzazione di questa guida, il modello geometrico proposto dagli autori è stato tradotto nel linguaggio della turtle graphics, mantenendo la stessa idea di fondo: un angolo costante e una distanza dal centro che cresce con la radice quadrata dell’indice.
La formula utilizzata per disporre i punti è la celebre equazione introdotta da Helmut Vogel nel 1979 per descrivere la distribuzione ottimale dei fiori nel capolino del girasole.
Il modello assegna al seme di indice n una distanza dal centro proporzionale a √n e applica una rotazione costante pari all’angolo aureo, circa 137.508°..

 


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


Data creazione: maggio 2026

Ultimo aggiornamento: giugno 2026


Sito Web realizzato da Gianfranco Bo