Kamel Ghabte · Cours · Gratuit

L'easing en animation

Comprendre lerp() et les fonctions d'easing pour des animations fluides en p5.js.

Le concept

L'easing (ou interpolation non linéaire) transforme un mouvement mécanique en mouvement organique. Au lieu de déplacer un objet à vitesse constante, on accélère au départ et décélère à l'arrivée. En p5.js, la fonction lerp(a, b, t) interpole linéairement entre a et b selon t. Pour obtenir un easing, on applique une courbe à t : t*t (ease-in), 1-(1-t)*(1-t) (ease-out), ou la combinaison smoothstep t*t*(3-2*t).

Le code

// Easing: circle follows mouse with smoothstep
let x = 0, y = 0;
function setup() { createCanvas(400, 280); }
function draw() {
  background(11, 15, 20);
  // Smoothstep easing toward mouse
  let t = 0.08;
  x = lerp(x, mouseX, t);
  y = lerp(y, mouseY, t);
  noStroke(); fill(55, 227, 195);
  ellipse(x, y, 24, 24);
  // Trail
  fill(55, 227, 195, 40);
  ellipse(mouseX, mouseY, 10, 10);
}

Pour aller plus loin

Explorez les autres cours gratuits sur la page Apprendre, ou réservez un appel pour discuter de votre projet.

Envie d'aller plus loin ?

Réserver un appel découverte →