====== Angle d'un vecteur ====== Dans Processing, il existe la méthode heading() de PVector pour déterminer l'angle d'un vecteur, mais les valeurs ne sont pas intuitives. Voici deux méthodes permettant d'avoir des valeurs progressant de 0 à 2 * PI : PVector v; void setup( ) { size(400, 400); v = new PVector(0, 0); stroke(255, 0, 0); fill(255, 0, 0); } void draw() { background(255); text(degrees(angleHoraire(v.heading())), 20, 30); v.set(mouseX - width / 2, mouseY -height / 2); v.normalize(); v.mult(100); translate(width / 2, height / 2); line(0, 0, v.x, v.y); } float angleTrigonometrique(float a) { if (a < 0) { return -a; } else { return TWO_PI - a; } } float angleHoraire(float a) { if (a < 0) { return TWO_PI + a; } else { return a; } } {{tag>processing sylvain}}