Outils pour utilisateurs

Outils du site


angle_d_un_vecteur

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;
  }
}
angle_d_un_vecteur.txt · Dernière modification : 2020/04/25 01:56 de Mushussu