Per un certo periodo ho collaborato con una rivista di matematica per ragazzi molto bella (Per La Tangente) e ho realizzato diverso materiale. Questa pagina si proponeva, partendo da un articolo riguardante la curva chiamata "clotoide", di incoraggiare l'analisi delle curve spiraliformi.

Leggendo l'articolo sulla clotoide mi sono chiesto se sia possibile disegnare una qualsiasi spirale con programmi di geometria dinamica come Cabrì e GeoGebra? Se sì, come?
Sì, è possibile. Prima di tutto occorre definire che cosa sia una spirale nel piano.
Per far ciò può essere opportuno adottare le coordinate polari. Impiegando questo tipo di coordinate per individuare un punto P, anzichè utilizzare un'ascissa x ed un'ordinata y, si utilizzano una distanza r e un angolo θ. Il punto P si trova ruotando il punto di coordinate cartesiane (r,0) dell'angolo θ attorno all'origine in senso antiorario. Per meglio comprendere quanto detto, prima di passare oltre, sarà bene fare un po' di esperienza con i due diversi sistemi di coordinate utilizzando le seguenti applet.

Coordinate Cartesiane

Sorry, the GeoGebra Applet could not be started. Please make sure that Java 1.4.2 (or later) is installed and active in your browser (Click here to install Java now)

Coordinate Polari

Sorry, the GeoGebra Applet could not be started. Please make sure that Java 1.4.2 (or later) is installed and active in your browser (Click here to install Java no
Una volta presa dimestichezza  con le coordinate polari è possibile comprendere la seguente definizione di spirale:
Una curva r=f(θ) è detta spirale quando il raggio r è funzione continua e monotona dell'angolo θ.

E' necessario precisare che esistono diversi tipi di spirale. Ecco le spirali più celebri seguite dalla propria equazione.

SPIRALI ARCHIMEDEE (r = a + b*θ1/c)
La spirale di Archimede: r = a + b*θ
La spirale quadratica: r = θ2
La spirale di Fermat: r = θ1/2
La spirale iperbolica: r = a/θ
Il lituo:  r = 1/θ1/2
       
SPIRALI LOGARITMICHE
La spirale logaritmica: r = a*bθ

Un caso a parte è rappresentato dalla spirale di Cornu o clotoide (sulla cui definizione e rappresentazione ritorneremo più avanti).

Per rappresentare le curve utilizziamo l'ultima versione di GeoGebra (scaricabile gratuitamente all'indirizzo http://www.geogebra.org/webstart/dev/geogebra-pre_java15.jnlp )

Prima di iniziare le varie costruzioni è necessario spiegare che in GeoGebra è possibile definire variabili numeriche libere (indipendenti) assegnandone direttamente il valore, o variabili dipendenti (come misure di grandezze geometriche).
Per esempio posso assegnare il valore 3 alla variabile a digitando a=3.

Non è possibile invece assegnare direttamente il dominio a una variabile. Indirettamente posso però farlo riferendomi alla misura di un elemento geometrico.
Ad esempio è possibile definire un angolo variabile tra 0 e 2π disegnando un punto su un segmento lungo 2π,  e assegnando all'angolo la misura della distanza tra un estremo del segmento e il punto stesso. A questo punto è possibile assegnare tutti i valori dell'intervallo all'angolo definendo un qualsiasi luogo geometrico funzione della posizione del punto sul segmento.

Ciò premesso possiamo analizzare la costruzione della spirale di Archimede commentando il protocollo di costruzione realizzato da GeoGebra.  (La tabella è prodotta automaticamente dal programma una volta effettuata la costruzione)

No. Nome Definizione Comando
Definiamo una variabile θ1 che possa variare tra 0 e +infinito come distanza dall'origine di un punto sul semiasse positivo delle ascisse (assegneremo tale valore all'ampiezza dell'angolo θ):
1 Punto O Punto di intersezione asseX, asseY Intersezione[asseX, asseY]
2 Punto S Punto su asseX Punto[asseX]
3 Semiretta s Semiretta per O, S Semiretta[O, S]
4 Punto A Punto su s Punto[s]
5 Numero θ1 Distanza tra O e A Distanza[O, A]
Definiamo le variabili a e b presenti nella definizione di spirale di Archimede con valori arbitrari:
6 Numero a    
7 Numero b    
Definiamo il raggio r secondo la definizione di spirale di Archimede:
8 Numero r a + b θ1 a + b θ1
Individuiamo i punti della spirale come l'intersezione P tra
 la circonferenza di centro O e raggio r (definita al punto 9) e
 la direzione data da θ rispetto a s in senso antiorario (definita ai punti 10, 11 e 12).
9 Circonferenza c Circonferenza con centro O e Raggio r Circonferenza[O, r]
10 Punto B S ruota di un angolo θ1 intorno O Ruota[S, θ1, O]
11 Angolo θ Angolo tra S, O, B Angolo[S, O, B]
12 Semiretta d Semiretta per O, B Semiretta[O, B]
13 Punto P Punto di intersezione c, d Intersezione[c, d]
Definiamo la spirale come il luogo dei punti descritto da P al variare di A.
14 Luogo spirale Luogo[P, A] Luogo[P, A]

Ecco il risultato dei nostri sforzi (l'applet java è dinamica: è possibile modificare la posizione dei punti e il valore delle variabili; la rotellina del mouse consente di variare lo  zoom e il click destro dà accesso al menu)

La spirale di Archimede

Sorry, the GeoGebra Applet could not be started. Please make sure that Java 1.4.2 (or later) is installed and active in your browser (Click here to install Java now)


A questo punto sarà sufficiente definire il parametro c e ridefinire r secondo le equazioni delle diverse spirali... ed ecco qui il risultato:
 

Spirali Archimedee

Sorry, the GeoGebra Applet could not be started. Please make sure that Java 1.4.2 (or later) is installed and active in your browser (Click here to install Java now)


E' interessante notare come la spirale si modifichi al variare dei parametri a, b e c. Da un unica equazione è possibile ottenere spirali tanto diverse tra loro.
 
Modificando l'equazione è possibile ottenere le spirali logaritmiche:

Spirali Logaritmiche

Sorry, the GeoGebra Applet could not be started. Please make sure that Java 1.4.2 (or later) is installed and active in your browser (Click here to install Java now)


E' interessante avvicinarsi con ingrandimenti sempre maggiori all'origine. La spirale arriverà a toccarla? Come varierà la  sua forma nell'avvicinarsi?

E la clotoide? Come è definita? Il metodo forse più semplice per descriverla è a partire dalle sue coordinate cartesiane.
Per i suoi punti l'ascissa e l'ordinata sono definite come segue:
coordinate cartesiane dei punti della clotoide

La difficoltà nella rappresentzione consiste nel definire la variabile t necessaria al calcolo degli integrali. Ciò è possibile seguendo un procedimento analogo a quello impiegato per far variare l'angolo θ nella rappresentazione delle spirali appena presentate.

Analizziamo la costruzione della clotoide commentando il protocollo di costruzione realizzato con GeoGebra.

No. Nome Definizione Comando
Anzichè far variare t tra 0 e +infinito restringiamo il suo dominio all'intervallo [0,estremosuperioremassimo]
per evitare che l'eccessivo uso di memoria renda inutilizzabile l'applet.
Definiamo un segmento di estremi (0,0) e (estremosuperioremassimo,0) e su questo un punto B. Definiamo quindi
t come la distanza tra O e B.
1 Numero estremosuperioremassimo    
2 Punto O Punto di intersezione asseX, asseY Intersezione[asseX, asseY]
3 Punto B (estremosuperioremassimo, 0) (estremosuperioremassimo, 0)
4 Segmento segmentoOB Segmento[O, B] Segmento[O, B]
5 Punto estremodiintegrazione Punto su segmentoOB Punto[segmentoOB]
6 Numero t Distanza tra O e estremodiintegrazione Distanza[O, estremodiintegrazione]
Definiamo quindi le due funzioni integrali e rappresentiamone il valore con due rette la cui intersezione sarà un punto della clotoide.
7 Numero yc Integrale di sin(π / 2 x²)(x) da 0 a t Integrale[sin(π / 2 x²), 0, t]
8 Retta ordinata y = yc y = yc
9 Numero xc Integrale di cos(π / 2 x²)(x) da 0 a t Integrale[cos(π / 2 x²), 0, t]
10 Retta ascissa x = xc x = xc
11 Punto P Punto di intersezione ordinata, ascissa Intersezione[ordinata, ascissa]
12 Luogo clotoide Luogo[P, estremodiintegrazione] Luogo[P, estremodiintegrazione]
Definiamo infine la curva simmetrica rispetto all'origine
13 Punto P' P simmetrico rispetto a O Simmetrico[P, O]
14 Luogo clotoide' Luogo[P', estremodiintegrazione] Luogo[P', estremodiintegrazione]

Ecco il risultato.

La clotoide

Sorry, the GeoGebra Applet could not be started. Please make sure that Java 1.4.2 (or later) is installed and active in your browser (Click here to install Java now)