Annonce

>>> Bienvenue sur codelab! >>> Première visite ? >>> quelques mots sur codelab //// une carte des membres//// (apéros) codelab


#1 2014-09-29 07:28:04 angle entre 2 vecteurs.

fabrice54
membre
Date d'inscription: 2012-06-07
Messages: 242

angle entre 2 vecteurs.



Bonjour.

Je souhaiterais avoir l' angle entre deux vecteurs pour un programme j'ai donc testé la fonction anglebetwen mais je trouve bizarre les angles renvoyés .J'ai donc écris un autre programme pour tester la fonction angle mais c'est toujours aussi bizarre je ne comprends pas les données renvoyées pour les angles.

Code (P5) :

PVector v2,v1;
void setup(){
 size(400,400); 


}


void draw(){
  background(100);
   ellipse(width/2,height/2,380,380);
   v1 = new PVector(width/2,height/2);
ellipse(v1.x,v1.y,20,20);
  v2=new PVector(mouseX,mouseY);
  ellipse(v2.x,v2.y,30,30);
  float angle = PVector.angleBetween(v1, v2);
  line(v1.x,v1.y,v2.x,v2.y);
println(degrees(angle)); 
}

Hors ligne

 

#2 2014-09-29 09:21:22 Re : angle entre 2 vecteurs.

Mushussu
membre
Lieu: Orléans
Date d'inscription: 2012-05-24
Messages: 802

Re: angle entre 2 vecteurs.



Un PVector est un vecteur, pour faire ce que tu veux il faut amener le point d'origine au milieu de l'image c'est à dire aux coordonnées(width / 2, height / 2). Ensuite il faut se donner un vecteur de référence, ici j'ai pris le vecteur sur l'axe des x positif.
Comme la méthode renvoie des valeur absolue de l'angle entre deux vecteurs il faut bidouiller pour avoir la mesure entre 0 et 360.

Hors ligne

 

#3 2014-09-29 12:43:47 Re : angle entre 2 vecteurs.

fabrice54
membre
Date d'inscription: 2012-06-07
Messages: 242

Re: angle entre 2 vecteurs.



Bonjour.
Merci pour le programme et les explications j'ai bien l'angle que je souhaite;mais faut t'il mettre le vecteur  obligatoirement au centre car cela pose un problème car je voulais faire un système par ex:v1=new Pvector(random(10,width)):v2=new PVector(random(10,height))et que v2 se déplace sur v1;en ayant la distance et l'angle mais d’après tes explications se ne serais pas possible .Sinon je suis obliger de faire: angle =atan2( v2.y-v1.y,v2.x-v1.x) ou y à t'il d'autres solutuions.

Merci.

Hors ligne

 

#4 2014-09-29 12:58:03 Re : angle entre 2 vecteurs.

fabrice54
membre
Date d'inscription: 2012-06-07
Messages: 242

Re: angle entre 2 vecteurs.



j'ai fais une erreur v1=PVector(10,width),random(10,height));
                           v2=PVector(10,width),random(10,height));

Hors ligne

 

#5 2014-09-29 13:01:31 Re : angle entre 2 vecteurs.

Mushussu
membre
Lieu: Orléans
Date d'inscription: 2012-05-24
Messages: 802

Re: angle entre 2 vecteurs.



J'ai pris comme origine le centre de l'image comme dans ton exemple, mais tu peux mettre ton référentiel où tu le souhaites :

Hors ligne

 

#6 2014-09-29 13:08:23 Re : angle entre 2 vecteurs.

fabrice54
membre
Date d'inscription: 2012-06-07
Messages: 242

Re: angle entre 2 vecteurs.



Remerciements pour les explications.

Hors ligne

 

fil rss de cette discussion : rss

Pied de page des forums

Powered by FluxBB

codelab, graphisme & code : emoc / 2008-2024