Interpolazioni con la funzione lerp()
Le interpolazioni si potrebbero ottenere con la funzione map()
ma p5.js mette a disposizione alcune funzioni con cui è sufficiente indicare il valore inziale, quello finale e la variabile di controllo.
// height=100 lines=auto
let t = 0;
let tVel = 0.02;
function draw() {
let x = lerp( 0, 99, t );
let y = lerp( 30, 70, t );
background( 200 );
circle( x, y, 18 );
t += tVel;
if (t > 1.0001) {
t = 0;
}
}
let x = lerp( 0, 99, t );
let y = lerp( 30, 70, t );
La funzione lerp()
può calcolare l'interpolazione di un solo valore, da quello del 1° parametro (quando t
è uguale a 0.0) fino a quello del 2° (quando t
arriva a 1.0).
if (t > 1.0001) {
Dovrebbe essere 1 ma JavaScript può dare qualche problema di precisione nelle operazioni con i valori decimali.
Provare a modificare il valore di tVel
o i primi due parametri delle funzioni lerp()
.