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

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.