Istruzioni 3

Rotazioni
Imputiamo ora le seguenti istruzioni: to rettangolo
repeat 2 [fd 60 rt 90 fd 100 rt 90]endto RuotaRettangolorepeat 12 [rettangolo rt 30]end
Mettendo in esecuzione la procedura RuotaRettangolo otteniamo la schermata della figura 4. La procedura rettangolo traccia un rettangolo di altezza 60 e di base 100. La procedura RuotaRettangolo usa al suo interno la procedura rettangolo, precedentemente definita, come una qualsiasi altra istruzione. La procedura RuotaRettangolo ripete 12 volte le due istruzioni rettangolo e rt 30: viene tracciato un primo rettangolo (evidenziato in rosso), poi la tartaruga ruota di 30° e quindi traccia il secondo rettangolo (evidenziato in blu) partendo in una nuova direzione, di nuovo ruota di 30° e traccia il terzo rettangolo e così via fino a completare il giro (vengono eseguite 12 rotazioni di 30° per un totale di 360°).

Costruire poligoni regolari
Cominciamo a tracciare con il Logo un triangolo equilatero. La tartaruga deve compiere tre rotazioni di 120° (non dimenticando che gli angoli di rotazione della tartaruga sono angoli esterni). Ecco allora la procedura:
to TriangoloEquilatero :LATO
repeat 3 [fd :LATO rt 120]
end
Se volessimo ottenere un triangolo con un lato orizzontale dovremmo modificare la procedura nel modo seguente
to TriangoloEquilatero :
LATOrt 30repeat 3 [fd :LATO rt 120]lt 30end
La prima istruzione rt 30 fa ruotare la tartaruga di 30° verso destra, alla fine per riorientare la tartaruga verso nord è opportuno dare l'istruzione lt 30 che la fa ruotare a sinistra di 30° (lt sta per left, sinistra).
Dunque,per tracciare un poligono regolare di n lati la tartaruga dovrà:
- Eseguire n avanzamenti tutti uguali (cioè di uno stesso numero di passi).
- Eseguire n rotazioni tutte uguali. Poiché alla fine della costruzione la tartaruga deve ritornare con l'orientamento iniziale (all'inizio la tartaruga è orientata verso nord, alla fine del suo cammino è di nuovo orientata verso nord), la rotazione complessiva eseguita deve essere di un giro completo, cioè di 360°. Ma le rotazioni, si è detto, sono tutte uguali quindi ciascuna di esse è pari a 360/n gradi.
E' allora facile scrivere la procedura, indicando con N il numero dei lati e con LATO la misura del lato del poligono regolare:
to PoligonoRegolare :N :LATO
repeat :N [fd :LATO rt 360/:N]
end:LATO rt 360/:N]
end
Nella figura 5 si possono osservare alcuni poligoni regolari tracciati con questa procedura (dal triangolo equilatero al dodecagono regolare).
Vuoi scoprire di più?