Andamenti complessi con bezierPoint()
Una particolare possibilità può essere l'uso della funzione bezierPoint()
che permette di modificare le accelerazioni e le decelerazioni, anche se in modo poco intuitivo.
// height=100 lines=auto
let t = 0;
let tVel = 0.02;
function draw()
{
let b = bezierPoint( 1, -0.25, -0.25, 1, t );
let y = lerp( 10, 90, b );
background(200);
circle( 50, y, 10 );
t += tVel;
if (t > 1.0001) {
t = 0;
}
}
let b = bezierPoint( 1, -0.25, -0.25, 1, t );
let y = lerp( 10, 90, b );
La variabile b
passerà dal valore del 1° parametro a quello del 4° con accelerazioni e decelerazioni determinate dal 2° e dal 3° parametro.
Per capire meglio gli effetti della variazione dei 4 parametri è possibile provare a interagire con questo sketch su OpenProcessing attraverso i tasti freccia.