Vediamo un algoritmo utile a disegnare poligoni regolari con Scratch.
L’obiettivo è quello di prendere il numero dei lati in input e in base alla risposta disegnare un poligono regolare.
Esempio:
Se prendo in input il numero 4 disegnerò un quadrato.
Se invece prendo in input il numero 6 disegnerò un esagono e così via.
Cosa utilizzeremo per disegnare i poligoni con Scratch?
Utilizzeremo lo strumento penna. Infatti, la penna è uno strumento utilissimo di Scratch se si vuole disegnare qualcosa.
Algoritmo per disegnare poligoni regolari con Scratch
Prepariamo la nostra scena scegliendo uno stage (io ho messo semplicemente del colore) e lo sprite (il gattino è lo sprite di default).
Dunque posizioniamo lo sprite in alto al centro in modo tale da avere lo spazio necessario per disegnare il nostro poligono regolare. Io ho messo come coordinate (x, y) 0 e 120.
Chiediamo quanti lati ha il nostro poligono e memorizziamo la risposta in una variabile che chiamiamo ad esempio lati.
Usiamo la penna giù (ricordiamo che di default la penna è sempre su, se vogliamo disegnare dobbiamo impostare penna giù) di un colore e spessore a nostra scelta per poter disegnare il nostro poligono.
Dopodiché realizziamo il nostro ciclo che permetterà al gattino di disegnare il poligono regolare. Il ciclo verrà ripetuto tante volte quanti sono i lati.
Ma di quanto dovrà ruotare il gattino?
Ricordiamo che i poligoni regolari hanno i lati uguali, gli angoli interni uguali e anche gli angoli esterni sono uguali.
La somma degli angoli esterni di un poligono regolare è un angolo giro ovvero 360 gradi.
Per cui l’angolo di rotazione della direzione di avanzamento, che il gattino deve eseguire, è pari a 360/lati.
La rotazione deve avvenire sempre con lo stesso angolo.
Quindi nel caso del quadrato dovrà ruotare di 360/4 ovvero 90 gradi. Nel caso di un esagono dovrà ruotare di 360/6 ovvero 60 gradi e così via.
I passi che dovrà compiere lo sprite sono sempre gli stessi proprio perché trattasi di un poligono regolare.
Ecco il semplice script che ho realizzato.
Chiaramente ci possono essere tanti altri modi per realizzare questo algoritmo, proponete pure la vostra nei commenti sotto.
Alcuni link utili
La successione di Fibonacci in Scratch
Massimo fra tre numeri in Scratch
Minimo tra 3 numeri in Scratch
Buongiorno, io ho lavorato aull’ampiezza degli angoli oltre che i lati
Pulisci
Penna
Ripeti x sempre (inserire il numero dei lati)
Fai x passi
Ruota a dx di …mettere i gradi delle figure
Esempio di un quadrato: ripeti 4 volte, fai 100 passi ruota a dx di 90.
Oppure un cerchio: ripeti 360 volte
Fai 1 passo
Ruota a dx di 1
Si va bene anche così, ma rappresenta solo un caso specifico. Ad esempio o solo il quadrato o solo il cerchio, ecc…
Inserendo 360/lati si rende l’algoritmo generale, ovvero adatto ad ogni poligono regolare.
In giro si trovano tanti tutorial ma questo é fatto proprio bene. Ottimo!
perchè sopra i 22 lati il poligono non viene più disegnato correttamente? ciò mi avviene anche con meno lati se aumento le dimensioni del lato o comunque se il poligono esce in parte dal campo visivo durante la costruzione. grazie…
Si è normale, non riconosce le dimensioni dello schermo. Andrebbe calcolata la misura per farlo rientrare.
Ciao! Ho trovato il tuo articolo su come disegnare poligoni regolari in Scratch molto interessante. Mi è piaciuto molto come hai spiegato passo per passo il processo e come hai reso il codice facile da seguire. Ho imparato molto leggendo il tuo tutorial e non vedo l’ora di provare a disegnare poligoni regolari con il mio progetto su Scratch. Grazie per la tua guida! Becky Gomez