di Alfonso D’Ambrosio

L’ambiente di programmazione Scratch, ed ancor prima Logo, offrono una serie di possibilità per studiare il comportamento degli animali “matematici”.

 

Il movimento

Il primo modello di comportamento più semplice riguarda il movimento.

Vedremo prima come simulare un semplice movimento e poi come studiare il movimento tra più animali interagenti.

Il movimento più semplice da eseguire consiste ne far muovere il gattino in avanti e a destra e sinistra utilizzando un generatore di numeri casuali: è il  random walk (tanto caro a noi fisici…).

https://scratch.mit.edu/projects/184175090/

 

Un movimento di questo tipo pone già spunti interessanti.

Se la rotazione avviene con numeri casuali tra -180 e 180 ci aspettiamo che il gattino segua una linea dritta?

e se invece invece la rotazione è tra 0 e 90? è facile aspettarsi che il suo cammino somiglierà a delle circonferenze.

Se l’angolo di rotazione è tra 0 ed un numero piccolo (esempio tra 0 e 20 a destra) allora le circonferenze sono più distinte e grandi, ma se la rotazione è equamente distribuita tra destra e sinistra allora il moto sarà lungo una linea retta.

Può essere interessante stabilire le relazioni tra rotazioni e distanza iniziale.

Supponiamo di ripetere un movimento per 200 volte e di variare le rotazioni in maniera casuale, quale relazioni tra distanza del punto iniziale e finale in relazione agli angoli di rotazione?

E’ interessante creare una lista delle posizioni finali rispetto a quella iniziale e studiare la distanza percorsa in relazione agli angoli di rotazione. Quali condizioni determinano il cammino che porta più lontano dalla distanza iniziale?

https://scratch.mit.edu/projects/184177330/

 

Cosa cambia se invece della rotazione tra -50 e 50, si eseguono due blocchi distinti prima tra -50 e 0 e poi tra 0 e 50?

https://scratch.mit.edu/projects/184179352/#editor

Nel primo caso i numeri vengono selezionati con uguale probabilità, nel secondo caso i numeri tendono a dare media zero (quindi linea diritta). L’uscita 0 nel primo caso si uò verificare una volta su 100, nel secondo caso ogni qualvolta escono due numeri uguali!

 

Può capitare che il gattino esca fuori dallo schermo e pertanto occorre stabilire delle regole per far si che quando tocchi lo schermo esso cambi direzione.

Il modo più semplice è quelli di far cambiare la direzione ruotando di 180 gradi appena tocco il bordo.

Ecco la programmazione:

https://scratch.mit.edu/projects/184180037/#editor

 

Un’altra procedura consiste nel far ruotare il gattino un poco alla volta fino a quando non esce fuori dal bordo.

Ecco il codice:

https://scratch.mit.edu/projects/184180589/#editor

In quest’ultimo movimento si vede che il gattino passa la maggior parte del tempo vicino alla parete. E’ un fenomeno che capita agli insetti, come le mosche che passano il tempo vicino alla parete, quasi come se volessero cercare una via di uscita. Siamo davvero certi che sia così? è bastato una modifica di alcuni blocchi di codice per rendere l’insetto intelligente?

 

Nelle prossime puntate simuleremo l’olfatto e la vista per poi passare all’interazione tra più oggetti

Buona sperimentazione

alfonsodambrosio@yahoo.it

 

Vai alla barra degli strumenti