Onde radiali oscillanti
Facendo oscillare il raggio si possono ottenere ondulazioni visualizzate radialmente, attorno a un centro, come se la lunghezza del raggio fosse la coordinata y di un punto che si sposta su un asse delle ‘x’ circolare. Se anche l’ampiezza delle onde oscilla nel tempo, le onde si alzano e si abbassano senza spostarsi lungo il cerchio, come quelle di una corda che vibra.
Algoritmo
a ogni fotogramma: draw()
calcolare l'ampiezza delle onde, che oscilla nel tempo sin()
per ogni angolo, da 0 a un giro completo: for()
calcolare un'oscillazione, moltiplicata per l'ampiezza sin()
trasformarla in un raggio, fra 40 e 80 pixel map()
trovare il punto con quell'angolo e quel raggio cos()
disegnare un piccolo cerchio
Istruzioni
Con lo stesso angolo, cos() e sin() restituiscono le coordinate di un punto su un cerchio di raggio 1: moltiplicate per raggio e sommate al centro della tela, 335, 120, danno un punto del cerchio di quel raggio. Mentre l’angolo cresce da 0 a TWO_PI, il punto fa un giro completo.
Va da -1 a 1 e torna indietro in circa due secondi, ed è la stessa per tutti i punti del giro.
Lungo il giro l’oscillazione fa 10 onde complete. Moltiplicate per l’ampiezza, le onde si appiattiscono quando l’ampiezza vale 0 e si capovolgono quando diventa negativa: le creste diventano avvallamenti, e gli avvallamenti creste, mentre le onde restano ferme.
Trasforma l’oscillazione in un raggio, fra 40 e 80 pixel: i punti si allontanano e si avvicinano al centro seguendo le onde, e quando l’ampiezza vale 0 formano un cerchio di raggio 60.
Variazioni
Con un valore più grande l’ampiezza cambia più in fretta, e le onde vibrano più velocemente:
Il moltiplicatore decide quante onde compaiono lungo il giro. Con un valore non intero, come 5.5, l’ultima onda non si chiude e resta un salto:
Con un intervallo più ampio le onde diventano più profonde: