Oggi vedremo come disegnare poligoni regolari attraverso Scratch. Il nostro obiettivo sarà quello di chiedere quanti lati deve avere il nostro poligono ed il programma dovrà disegnarlo. In aggiunta dovrà calcolare l’apotema per trovare le coordinate dell’incentro del poligono e disegnare le linee che uniscono quest’ultimo ad ogni vertice.
Disegnare poligoni regolari con Scratch
Partiamo con la fase di inizializzazione, già in altri video ed articoli abbiamo visto come gestire l’estensione penna e disegnare figure geometriche con Scratch, si parte quindi con l’inserire lo Sprite matita (che deve essere opportunamente adattato), e lo sfondo con le coordinate.
Si parte con i blocchi, cliccando sulla bandierina si fa un test, posizioniamo lo Sprite in posizione 0, 0 in modo da verificare l’allineamento della punta della matita con il centro degli assi x ed y. Questo semplice programma utilizza delle variabili poiché deve ricordare alcuni dati, deve memorizzare la risposta al quesito sul numero dei lati, ed alcune informazioni sulla posizione.
Variabili
Passiamo alle impostazioni delle variabile, andiamo nella sezione e creiamole in modo da essere disponibili nel programma.
L’elenco delle variabili è il seguente:
- lati – memorizza il numero di lati del poligono, questo dato viene fuori dalla risposta alla domanda che il programma pone appena si avvia
- centrox – memorizza le coordinate del centro del poligono (la componente x)
- centroy – memorizza le coordinate del centro del poligono (la componente y)
- lamiax – memorizza la componente x delle coordinate cartesiane appena disegnate dello strumento matita
- lamiay – memorizza la componente y delle coordinate cartesiane appena disegnate dello strumento matita
- apotema – memorizza l’apotema del poligono
Apotema di un poligono regolare
Nelle variabili ho inserito il calcolo dell’apotema, vediamo di cosa si tratta e perché dobbiamo calcolarlo.
Definizione di apotema: l’apotema è il raggio della circonferenza inscritta nel poligono e corrisponde alla distanza fissa tra l’incentro e ciascuno dei lati.
L’immagine ci chiarisce di cosa si tratta. Il calcolo è abbastanza semplice e la formula vale per per tutti i poligoni regolari.
Questo elemento ci servirà per disegnare i segmenti che partono dal centro del poligono ed arrivano ad ogni suo vertice. Trovando l’apotema infatti, uno dei suoi vertici è proprio il centro del nostro poligono regolare.
Disegnare un poligono regolare
Si va avanti con la con lo sviluppo del programma e si passa alla fase di inizializzazione dello strumento penna. Si va a pulire lo schermo, si porta il colore del tratto a rosso e la dimensione a 5.
A questo punto poiché lavoriamo con i movimenti si punta in direzione 90 e si va alle coordinate 0, -100. Si mette la penna giù in modo da predisporre la scrittura sullo Stage.
Nella sezione controllo si prende un blocco ripeti, il numero di ripetizioni è pari al numero dei lati, farò fare 600/lati passi (poiché se lo imposto fisso a 100, per poligoni con molti lati il disegno esce fuori dallo Stage) e farò fare un rotazione di 360° diviso il numero dei lati.
Se ad esempio il numero di lati è 4 (disegneremo un rettangolo) il blocco ripeti verrà eseguito 4 volte:
- 150 passi (600 / 4)
- rotazione di 90 gradi (360/4)
La cosa interessante di questo semplice programma che il disegno avviene automatizzando, e funziona con qualsiasi poligono regolare a prescindere che sia un quadrato, un pentagono, un esagono, un ottagono, un decagono ma anche un semplice triangolo. Si può quindi disegnare senza alcun problema qualsiasi poligono, basta specificare il numero di lati.
Centro della figura
Dopo il calcolo dell’apotema e dopo aver disegnato il il poligono andiamo ad individuare il centro del poligono.
Trovare il centro del poligono è abbastanza semplice e viene fatto tutto in maniera grafica. Mi posiziono nel primo vertice del poligono (posizione 0, -100) a questo punto vado avanti per la metà del lato (300 / numero_lati – ricordiamo che il lato intero è 600 / numero_lati) poi punto in direzione 0 (mi sposto verso l’alto) e faccio un numero di passi pari all’apotema.
A questo punto recupero nelle variabili centrox e centroy le relative coordinate dell’incentro del nostro poligono regolare.
Disegnare i segmenti tra vertici e incentro
Siamo arrivati alla seconda parte del programma quella in cui vengono disegnati i segmenti che vanno a collegare l’incentro a ciascuno dei lati.
Si cambia a questo punto il colore e la dimensione del tratto, si mette una dimensione un po’ più sottile rispetto a quella del perimetro del poligono ed un colore nero.
Si mette la penna giù dopodiché si parte quindi dal primo vertice che l’avevamo posizionato con x=0 e y=-100.
L’ultima parte del programma scrive in automatico i segmenti che uniscono l’incentro ai vertici.
All’interno del loop che si ripete “numero lati” volte inseriamo:
- porta penna su – perché la matita si muove ma non deve scrivere nulla
- esegui 600 / lati passi – praticamente sta eseguendo la stessa cosa che abbiamo fatto prima, ossia disegnare il perimetro del poligono regolare
- memorizza la posizione x nella variabile lamiax
- memorizza la posizione y nella variabile lamiay
- metto la penna giù
- disegno il segmento sino all’incentro, tutto memorizzato nelle variabili centrox e centroy
- metto la penna su, non devo scrivere perché la penna si sposta ad un altro vertice
- la punta della matita si trova al centro del perimetro, torno al vertice precedente (memorizzato nella variabile lamiax, lamiay)
- effettuo una rotazione di 360 / “numero lati” gradi
Il programma che disegna poligoni regolari è terminato. Ci vediamo al prossimo progetto su Scratch.
[VIDEO]
Segui Digital Teacher anche sui canali social