7.5. Moviment aleatori
En temes anteriors, hem utilitzat el mètode random() per obtenir valors aleatoris. Podem usar aquests valors per canviar a cada frame les coordenades en les quals dibuixem alguna de les nostres figures. Vegem-ne un exemple:
Font: elaboració pròpia.
Font: elaboració pròpia.
Random walk
Una d’aquestes tècniques és el random walk: passeig aleatori. En aquesta, en lloc d’utilitzar els valors de random() directament per establir la posició de la figura que volem moure, tindrem una posició inicial a la qual sumarem un petit valor aleatori a cada frame. Vegem-ho en acció:

Font: elaboració pròpia.
Partint des del centre del canvas, a cada frame sumem una petita quantitat, definida en aquest cas amb la variable offset, a la posició del cercle tant a l’eix x com al y. D’aquesta manera, el nostre cercle es mourà entre –2 i 2 píxels en totes dues direccions cada vegada que s’executa el draw().
Noise
Una altra de les tècniques per obtenir un moviment aleatori més orgànic és utilitzant el mètode de P5 noise(). Aquest mètode ens retorna valors pseudoaleatoris entre 0 i 1 utilitzant una funció de soroll Perlin (Perlin noise). Aquesta funció, creada per Ken Perlin per generar les textures de la pel·lícula Tron de 1982, és àmpliament utilitzada en molts àmbits de la creació gràfica digital, des de per a la creació d’efectes de fum o foc fins per a la distribució dels diferents paisatges del videojoc Minecraft. L’avantatge que noise() ens ofereix respecte a random() és que ens atorga una aleatorietat amb continuïtat, sense salts bruscos. A continuació, podem veure un exemple de la funció de soroll.

Font: elaboració pròpia.
A noise() li passem un paràmetre que equival a la coordenada x de la funció de soroll i ens retorna el valor de la coordenada y (entre 0 i 1). A l’exemple de la figura anterior, si li passem el valor noise(3), ens retornarà un valor pròxim a 0,75. Si li anem passant a noise() valors pròxims, els que ens retorni ho seran també. Vegem com podem utilitzar-lo en P5.
Font: elaboració pròpia.
Font: elaboració pròpia.
De la mateixa manera que anteriorment hem utilitzat els valors animats no únicament per a la posició de les figures en el canvas sinó també per a la seva mida, color o altres paràmetres, podem utilitzar també les animacions aleatòries per al propòsit que considerem oportú. Creem un parell de sorolls més per aplicar-los a la mida i al color del cercle:
Font: elaboració pròpia.