Interpolazioni oscillanti
Per evitare salti nell'interpolazione è possibile intervenire sulla variabile di controllo t
facendo in modo che il valore torni gradualmente a 0.0 anziché di colpo.
// height=100 lines=auto
let t = 0;
let tVel = 0.02;
let rosso; // colore iniziale
let verde; // colore finale
function setup() {
rosso = color( 255,0,0 );
verde = color( 0,255,0 );
}
function draw() {
let interpolato = lerpColor( rosso, verde, t );
background( interpolato );
t += tVel;
if (t < 0 || t > 1.0001) {
tVel = -tVel;
t += tVel * 2;
}
}
if (t < 0 || t > 1.0001) {
tVel = -tVel;
La velocità (tVel
) viene invertita se t
esce dai limiti minimo o massimo (inferiore a 0 o maggiore di 1.0001). Con tVel
negativo l'interpolazione scenderà da 1.0 a 0.0.
t += tVel * 2;
Fa tornare indietro il valore di t
di due volte in modo che rientri nei propri limiti senza mantenere però la posizione avuta prima di uscire.