Expressions/Simulation/Exponentielle

Fonction exponentielle

Une fonction exponentielle est caractérisée par un accroissement extrêmement rapide. De la même façon que l'on a fait pour visualiser le comportement des fonctions trigonométriques, créons un calque d'effets, ajoutons lui un paramètre glissière avec l'expression "Math.exp(time)". Provenant également du JavaScript, la fonction exponentielle se note "Math.exp" (rappelons que l'ensemble des principales notations utilisées dans les expressions sont regroupées dans le menu du langage des expressions, l'icône en forme de petit triangle).

fonction exponentielle

Fonction exponentielle

La valeur retournée par la fonction exponentielle est toujours positive, c'est l'une de ses caractéristiques. Sa croissance est plutôt faible au départ mais s'accélère rapidement pour au bout de 10s retourner une valeur déjà supérieure à 20 000. Le calcul qu'elle effectue est d'éléver le nombre "e" (e = 2.718...) à une certaine puissance, cette puissance est le nombre passé en argument. Par exemple, on a Math.exp(3) = 2.718 * 2.718 * 2.718.

Pour simuler par exemple un décollage de fusée, une fonction de type exponentielle peut être envisagée. Créons un calque rectangulaire qui représentera ici la fusée et appliquons l'expression suivante sur la propriété de position:

accroi = 1.5; // facteur d'accroissement
position + [0,-Math.exp(accroi * time)];

Si l'on veut faire décoller la fusée vers le haut de la composition il faut mettre le signe moins "-" dans la deuxième composante pour la faire diminuer. La fusée va décoller lentement et accélérer très rapidement.

On va maintenant s'amuser à faire défiler des chiffres à l'écran. On souhaiterait que le défilement soit lent au départ mais s'accélère au bout de quelques secondes. Avec l'outil texte, on écrit quelques chiffres, disons "000", au centre de la composition. On clique sur le petit triangle à côté de "Animer" et on choisit "Décalage de caractères". On ajoute l'expression Math.exp(time) sur la propriété "Décalage de caractères" qui est apparue sur le calque texte. La fenêtre de montage ressemble à cela.

décalage de caractères

Décalage de caractères

On obtient l'animation suivante

Cette caractéristique de forte croissance sera utile par moment mais on sera sans doute plus fréquemment amené à manipuler l'exponentielle pour sa propriété de forte décroissance lorsqu'on lui passe un argument négatif. Regardons l'allure de la courbe Math.exp(-time).

fonction inverse de l'exponentielle

Fonction inverse de l'exponentielle

On observe un comportement inverse, Math.exp(-time) = 1 / Math.exp(time), c'est la décroissance qui augmente très rapidement. Au bout de trois secondes la valeur du "Curseur" est quasiment nulle. Cette fonction donne aussi des valeurs toujours positives, aussi petites soient elles. On pourra utiliser cette propriété de décroissance pour les animations où l'on aimerait simuler quelque chose perdant de son énergie au cours du temps (le ressort est un exemple classique). On pourra la combiner avec les fonctions trigonométriques pour atténuer les oscillations, pour simuler des déformations, des rebonds, etc, on verra quelques exemples dans la partie suivante.