Interpolazioni oscillanti

// height=100 lines=auto
var t = 0;
var tVel = 0.005;
var rosso; // colore iniziale
var verde; // colore finale
function setup() {
rosso = color( 255,0,0 );
verde = color( 0,255,0 );
}
function draw() {
var 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 (0) o massimo (1.0001). Con tVel negativo l'interpolazione andrà da 1 a 0.
t += tVel*2;
Fa tornare indietro il valore di t in modo che rientri nei propri limiti senza assumere la posizione avuta prima di uscire.