Andamenti elementari con la funzione sin()

Uno dei modi più semplici per ottenere interpolazioni che oscillano rallentando verso i valori estremi è quello di usare la funzione sin():

// height=100 lines=auto
let t = 0;
let tVel = 0.02;

function draw() {

    let s = sin(t*TWO_PI)*0.5+0.5;
    let y = lerp( 10, 90, s );

    background(200);
    circle( 50, y, 10 );

    t += tVel;
    if (t > 1.0001) {
        t = 0;
    }
}
let s = sin(t*TWO_PI)*0.5+0.5;
let y = lerp( 20, 80, s );

Il valore dell'angolo del seno andrà da 0 (0*TWO_PI) a TWO_PI (1*TWO_PI) in modo da compiere un ciclo completo.
Il valore di s non andrà da -1 a 1 ma da 0.0 (-1*0.5+0.5) a 1.0 (1*0.5+0.5).