Expressions/Interpolation/Interpolation Linéaire
Interpolation linéaire
La méthode d'interpolation linear()
permet de convertir une valeur qui varie dans un certain
intervalle en une nouvelle valeur qui varie dans un intervalle différent.
Le plus simple est de voir cela sur quelques exemples. Supposons que l'on veuille animer la position d'un calque de telle sorte que lorsque le temps varie de 1 à 3 secondes, la position passe d'un point A à un point B. On écrira l'expression suivante
pointA = [40,60]; pointB = [120,60]; linear(time,1,2,pointA,pointB);
time
est un mot-clé qui désigne le temps courant dans la fenêtre de
montage. Cette expression va positionner le calque au point A entre 0 et 1 seconde, puis va lui
attribuer une position intermédiaire entre 1 et 2 secondes et finalement placer le calque au point B à partir de 2 secondes.
L'animation produira donc un déplacement linéaire du point A au point B entre les temps 1 et 2 secondes (comme si deux
images clés avaient été créées manuellement). En prévisualisant on obtient ceci

Essayons maintenant autre chose, appliquons la méthode linear()
sur un effet.
On souhaiterait que le calque devienne flou lorsque sa taille diminue et que le flou s'annule lorsque le
calque est à sa taille maximale. On crée d'abord trois clés d'animation sur l'échelle (échelle horizontale
et verticale pour conserver les proportions du calque), clé1:200, clé2:100, clé3:200. Appliquons l'effet
"Flou gaussien" et ajoutons l'expression suivante sur la propriété d'intensité
x = scale[0]; linear(x,100,200,20,0);
La première instruction déclare une variable x
et lui affecte la valeur de l'échelle
horizontale du calque. La deuxième instruction a pour effet d'affecter à l'intensité du "Flou gaussien" une valeur
de 20 lorsque l'échelle du calque est inférieure à 100%, une valeur de 0 lorsque l'échelle est supérieure à 200%
et une combinaison linéaire de ces deux valeurs dans les autres cas. En d'autres termes, quand le calque va rétrécir
le flou va augmenter et à l'inverse quand il grossira le flou diminuera. La fenêtre de montage ressemble à cela
Flou relié à l'échelle
et l'animation correspondante est la suivante

Remarque
La méthode linear()
s'utilise souvent, comme dans l'exemple précédent, pour
"remapper" une valeur dans un intervalle qui serait plus approprié. On peut mentionner le cas de l'amplitude
audio par exemple. Si l'on souhaite faire varier un paramètre en fonction de l'audio, mais que ce dernier a une
amplitude qui n'oscille qu'entre 0 et 20 par exemple, on peut la ramener à un intervalle de 0 à 100, ou tout autre
intervalle qui conviendrait davantage à la propriété à laquelle on appliquerait l'expression.