Una stella nasce sul carapace di una tartaruga. Il coding e il Logo
Giuseppe Di Grande Aggiornato il 11/09/2024 08:00Le istruzioni del Linguaggio Logo per realizzare disegni a tartaruga sono degli strumenti molto interessanti per sviluppare algoritmi di Disegno Tattile. Nel Linguaggio di Grafica Tattile di Biblos qualche anno fa ho aggiunto cinque istruzioni per gestire i grafici a tartaruga.
In questi due esempi di coding, utilizzo le istruzioni di Disegno con la tartaruga per formare una stella. La stella è semplicemente una figura che viene formata facendo ruotare e muovere la tartaruga in avanti. Nel primo listato la tartaruga disegna una stella a cinque punte, le cui linee si intersecano. Nel secondo listato, leggermente più complesso del primo, la stessa stella viene disegnata in una linea continua, senza fare intersecare i suoi assi.
Il codice di ogni esempio può essere copiato e incollato su un nuovo Progetto di Grafica Tattile. Il primo esempio è commentato a sufficienza, per far comprendere la logica utilizzata.
// Nella variabile r memorizzo i gradi di rotazione della tartaruga
// Ricavo il valore dividendo 360 per 5 e moltiplicando il risultato per 2
// 360 sono i gradi dell'angolo giro
// 5 sono le punte che avrà la stella
// Moltiplicato per 2 per avere la rotazione corretta, affinché le linee della stella si intreccino
// Il valore che avrà r sarà 144
r = 360/5*2
// Nella variabile d memorizzo semplicemente la Dimensione della stella, cioè un diametro di 60 punti
d = 60
// Utilizzo l'Istruzione TurtlePos per posizionare la tartaruga sul piano
// width/2 è la coordinata x, ricavata dalla larghezza dell'area Grafica diviso 2
// height/2-(d/60) è la coordinata y, ricavata dall'altezza dell'area Grafica, meno il raggio della stella
// L'Orientamento iniziale della tartaruga viene calcolato aggiungendo alla rotazione r il risultato di
// 180 meno r (cioè 180 meno 144 uguale 36) diviso 2, con risultato finale di 18 gradi
// Questa ulteriore rotazione di 18 gradi è necessaria per ruotare correttamente il Disegno della stella
TurtlePos(width/2, height/2-(d/2), r+(180-r/2))
// Mi avvalgo di un ciclo For per ripetere 5 volte il Disegno delle linee della stella
For n = 1 to 5
// Faccio camminare in avanti la tartaruga di 60 passi
TurtleForward(d)
// Ruoto la tartaruga di r gradi, cioè di 144 gradi
TurtleRight(r)
EndFor
Nel secondo esempio mi avvalgo di due gradi di rotazione. Il primo, memorizzato nella variabile r1, si riferisce ai gradi di rotazione che utilizzerò per ruotare la tartaruga a sinistra, per farle evitare l'intreccio degli assi. Mentre nella variabile r2 ricavo lo stesso valore dell'esempio precedente, che utilizzerò nella rotazione a destra della tartaruga.
La tartaruga si muoverà cambiando Orientamento ogni 15 passi, così da farle evitare che le linee dei suoi assi si intersechino. Il ciclo For sarà sempre ripetuto 5 volte, ma al suo interno ci saranno due distinte rotazioni della tartaruga, anche se i passi che compierà di volta in volta saranno simili.
r1 = 360/5
r2 = r1*2
d = 60/4
TurtlePos(width/2, height/2-(d*2), r2+(180-r2/2))
For n = 1 to 5
TurtleForward(d)
TurtleLeft(r1)
TurtleForward(d)
TurtleRight(r2)
EndFor
Per ulteriore supporto ci si può iscrivere nel Gruppo di Biblos su Facebook o nel Canale di Biblos su Telegram.