Variabile di controllo delle interpolazioni
Per ottenere un valore di controllo che passi da 0.0 a 1.0 con l'avanzare dei fotogrammi è possibile utilizzare due variabili globali.
let t = 0; // variabile di controllo
let tVel = 0.02; // velocità d'interpolazione
function draw() {
calcolo parametro interpolato
istruzioni di disegno parametrizzato
t += tVel; // incrementa t
if (t > 1) { // interpolazione finita?
t = 0; // ricomincia daccapo
}
}
let tVel = 0.02;
Incremento di t
che fa durare l'interpolazione 50 fotogrammi.
Il valore è ottenuto con la divisione: 1.0 / 50.
t += tVel;
if (t > 1) {
t = 0;
}
La variabile di controllo viene reimpostata a 0 ogni volta che supera 1. Naturalmente l'if
può contenere qualsiasi istruzione si voglia far eseguire alla fine dell'interpolazione.
Il valore di t
potrebbe essere ricavato anche direttamente, all'interno del draw()
senza usare variabili globali, attraverso frameCount
. Ad esempio, con:
let t = ((frameCount-1) % 50) / 49;
si può ottenere una variazione ciclica di t
da 0.0 a 1.0 in 50 fotogrammi. Diventa però meno intuitivo resettare l'interpolazione o ottenere anche una variazione che torni a 0.0 gradualmente anziché di colpo.