At My Fingertips

Rotating snakes

Le illusioni ottiche sono fenomeni affascinanti che giocano con la nostra percezione visiva, creando una realtà ingannevole o distorta. Queste illusioni ottiche possono essere affascinanti da osservare e studiare, tuttavia ci ricordano anche che la nostra percezione del mondo non è sempre accurata e oggettiva. La nostra mente è suscettibile alle influenze esterne e può essere facilmente ingannata. Le illusioni ottiche ci invitano a esplorare e comprendere meglio il funzionamento complesso della nostra visione e della nostra mente.

Illusioni di movimento

L'obiettivo di questa attività e costruire e visualizzare un illusione di movimento: Rotating Snakes by Akiyoshi Kitaoka (2003).

Squama

Implementa una funzione di nome squama che prende come argomento la larghezza della squama del serpente e restituisca la seguente grafica:

squama

Nota bene: la grafica è composta da un quadrato e due ellissi. Il valore per l'altezza di entrambe le ellisse è la metà della larghezza.

Loading...

Squama traslata

Adesso implementa una seconda funzione di nome squama_traslata che accetti come argomento il raggio di un cerchio e ritorna una grafica composta da un rettangolo trasparente con accanto sull'estremo destro la grafica della tacca creata precedentemente, come riportato nella grafica qui sottostante. Inoltre, il punto di riferimento è spostato al centro_sinistro.

squama traslata

Nota bene: il valore della larghezza della squama corrisponde al 20% del raggio.

Loading...

Squame perimetro

Bene! Ora implementa una funzione di nome squame_perimetro che prenda come argomento il raggio del cerchio e ritorna la grafica seguente. La grafica è composta da 20 squame.

squame perimetro

Loading...

Serpente

Adesso puoi implementare una funzione chiamata serpente che prende come argomento il raggio esterno del cerchio e ritorna la grafica seguente. Prova ad implementare un ciclo while che continua fino a quando il raggio del cerchio è maggiore di 1. Ad ogni interazione viene chiamata la funzione squame_perimetro con il valore del parametro raggio decrementato del 20%.

serpente

Loading...

Serpenti

In fine implementa una funzione chiamata serpenti che accetti il raggio di un singolo serpente e ritorna una grafica con 5 serpenti, come riportato nella grafica qui sottostante.

serpenti

Loading...

Cosa hai imparato

Attraverso questa attività hai potuto acquisire le seguiti competenze:

  • Decomposizione del problema. Questo approccio ti ha permesso di implementare e testare separatamente ogni aspetto del problema.
  • Funzioni. L'utilizzo di funzioni ti ha permesso di impiegare più volte la medesima sequenza di istruzioni, semplificando il codice.
  • Cicli. L'uso appropriato dei cicli ti ha permesso di gestire in modo efficiente situazioni in cui era necessario ripetere un'azione per un numero variabile di volte.

This activity has been created by Dal Pian and is licensed under CC BY-SA 4.0.

Rotating snakes

Logo of PyTamaro

PyTamaro is a project created by the Lugano Computing Education Research Lab at the Software Institute of USI

Privacy PolicyPlatform Version b744b47 (Tue, 08 Oct 2024 16:30:14 GMT)