At My Fingertips
Rapid Playground
L'obiettivo di questo esercizio è provare a costruire e visualizzare l'illusione ottica dei piedi che camminano (stepping feet illusion), come rappresentato nella GIF qui sottostante:
La GIF mostra una sequenza di immagini dove due piedi di colore giallo e blu si muovono su uno sfondo a bade di colore nero e bianco. I piedi sembrano muoversi alternativamente, come dei piedi che fanno tip-tap-tip-tap... in realtà il loro movimento è sempre simultaneo.
Completa il corpo delle seguenti funzioni e verifiche se la GIF dei piedi che camminano è veramente un illusione ottica.
Implementa una funzione di nome sfondo
che prende come argomento il numero di bande nere e restituisca la seguente grafica:
Implementa una funzione di nome piedi
che restituisca la grafica qui sottostante. Lo spazio tra i due piedi può essere implementato creando un rettangolo trasparente.
Implementa una funzione di nome lista_piedi
che prende come argomento la larghezza della finestra in cui i piedi si muovono e restituisca una lista di grafiche. La lista ritornata dalla funzione contiene a indice 0 una grafica con i piedi posizionati sul lato sinistra rispetto alla finestra in cui si muovono. A indice 1 la lista contiene una grafica con i piedi traslati a destra di 1 pixel. A indice 2 la lista contiene una grafica con i piedi traslati a destra di 2 pixel. Così fino all'estremo opposto della finestra (lato destro). Le dimensioni di ogni elemento grafico rimangono sempre costanti e sono pari alla lunghezza della finestra e all'altezza della grafica dei piedi. Il colore della finestra è trasparente. Questo permette di sovrapporre in seguito ogni elemento della lista sullo sfondo a bande nere e bianche. Di seguito sono riportate le prime 10 grafiche contenute nella lista ritornata dalla funzione lista_piedi
:
L'ultimo elemento della lista è una grafica con nuovamente i piedi posizionati sul lato sinistro.
Suggerimento: per creare la finestra e traslare i piedi dal lato sinistro al lato destro puoi utilizzare dei rettangoli trasparente accanto alla grafica dei piedi. La lunghezza del rettangolo trasparente a sinistra dei piedi aumenta di 1 pixel ad ogni elemento successivo della lista. Al contrario, la lunghezza del rettangolo trasparente a destra dei piedi diminuisce di 1 pixel. Lo stesso principio vale per ottenere lo spostamento dal lato desto al lato sinistro.
In Python, puoi utilizzare l'operatore +
per aggiungere elementi a una lista concatenandola con un'altra lista o con un singolo elemento. L'operatore +
restituisce una nuova lista contenente gli elementi combinati delle due liste concatenate. Ecco un esempio
# Definire una lista
lista_numeri = [1, 2, 3]
# Aggiungere elementi alla lista usando l'operatore +
elemento = 4
lista_numeri = lista_numeri + [elemento]
Al termine del programma la lista di nome lista_numeri
contiene i seguenti elementi: [1,2,3,4]
Prova ora ad eseguire le seguenti righe di codice!
Se hai implementato correttamente la funzione lista_piedi
dovresti ottenere la seguente animazione:
Bene! A questo punto non ti rimane altro che aggiungere lo sfondo e vedere cosa accade...
In questa attività ti sei esercitato a definire funzioni che ritornano delle liste. Ti sei esercitato a utilizzare gli elementi contenuti in una lista. Inoltre, hai imparato a concatenare liste con l'operatore +
.
Infine hai potuto impiegare la funzione visualizza_animazione
importata dalla libreria PyTamaro per creare delle animazioni grafiche.
This activity has been created by Dal Pian and is licensed under CC BY-SA 4.0.
Stepping feet
PyTamaro is a project created by the Lugano Computing Education Research Lab at the Software Institute of USI
Privacy Policy • Platform Version c08406b (Wed, 20 Nov 2024 12:30:00 GMT)