Kamel Ghabte · Cours · Gratuit

Oscillateurs et Lissajous

Tracer des courbes de Lissajous avec deux oscillateurs en p5.js.

Le concept

Une courbe de Lissajous est le tracé de (sin(a*t), sin(b*t+δ)). Quand a et b sont dans un rapport rationnel, la courbe se ferme. Sinon, elle remplit progressivement un rectangle. En variant les fréquences et le déphasage dans le temps, on obtient des figures hypnotiques.

Le code

// Lissajous curve
function setup() { createCanvas(400, 280); }
function draw() {
  background(11,15,20,20);
  translate(width/2,height/2);
  let a=3, b=2+sin(frameCount*0.002)*0.5;
  noFill(); stroke(55,227,195,150); strokeWeight(1.5);
  beginShape();
  for (let t=0; t<TWO_PI*4; t+=0.01) {
    let x = sin(a*t+frameCount*0.01) * width*0.38;
    let y = sin(b*t) * height*0.38;
    vertex(x,y);
  }
  endShape();
}

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 →