Oscillazione lineare fra due colori

    let t = 0;          // posizione fra i due colori, da 0 a 1
let passo = 0.01;   // variazione di t a ogni fotogramma
let blu, giallo;

function setup() {
    createCanvas( 670, 100 );
    colorMode( OKLCH );
    blu = color( 50, 35, 264 );
    giallo = color( 90, 35, 100 );
}

function draw() {
    background( lerpColor( blu, giallo, t ) );

    t = t + passo;
    if (t < 0 || t > 1) {
        passo = -passo;   // fuori dai limiti la direzione si inverte
    }
}
  

  

A ogni fotogramma t aumenta, o diminuisce, di passo.


  

Quando t esce dall’intervallo fra 0 e 1 (|| significa “oppure”), passo cambia segno e il colore torna indietro gradualmente, senza salti.

Cambiare il valore di passo (0.01) per rendere l’oscillazione più lenta o più veloce, ad esempio con 0.005 o 0.02.