Oscillazione di parametri: esempio

Per controllare meglio l'oscillazione, conviene separare concettualmente i calcoli in:

In questo modo è anche possibile condividere lo stesso "tempo" e/o lo stesso "valore" per sincronizzare più parametri fra loro.

// height=100 lines=auto
function draw() {
    background(220);

    let yt = frameCount * 0.5; // tempo
    let yv = sin( yt * 0.1 ) * 0.4; // valore
    let y = map( yv, -0.5, 0.5, 0, height ); // mappatura

    circle( 50, y, 10 );
}
let yt = frameCount * 0.5; // tempo

Tempo attuale dell'oscillazione di y basato su una velocità che è il 50% di quella del normale avanzamento di frameCount.

let yv = sin( yt * 0.1 ) * 0.4; // valore

Uso dell'espressione ricavata da "oscillation sandobox" sostituendo x con yt e aggiungendo uno "0" davanti ai numeri decimali (per evitare le avvertenze dell'editor).

let y = map( yv, -0.5, 0.5, 0, height ); // mappatura

Mappatura del valore ottenuto (da -0.5 a 0.5) sull'intera altezza del canvas (da 0 a height).

Usare un diverso calcolo del valore di base copia/incollando una delle altre espressioni presenti su oscillation sandbox e sostituendo x con yt.