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).