Oscillazione sinusoidale di parametri

Il valore di un parametro può essere fatto oscillare da un limite minimo a uno massimo attraverso le funzioni sin() e map().

    function draw() {
    background(220);

    let oscillazione = sin( frameCount * 0.05 );
    let y = map( oscillazione,  -1, 1,  0, height );

    circle( 50, y, 10 );
}
  
    

Calcola il seno dell’angolo corrispondente al 5% di frameCount. Fotogramma dopo fotogramma il risultato oscillerà ciclicamente fra -1 e 1 con una velocità determinata dal moltiplicando di frameCount.

    

Ottiene il valore di y mappando il valore di oscillazione sull’intervallo da 0 all’altezza del canvas (height).

Provare ad accelerare l’oscillazione modificando il moltiplicatore di frameCount.

Provare a modificare i valori minimo e massimo di y agendo sugli ultimi due parametri della funzione map().

A differenza dell’andamento lineare (con incrementi costanti) che si ottiene con la variabile frameCount, la funzione sin() porta a un andamento non lineare, con un rallentamento (easing) verso i valori estremi (-1 e 1).