Calcul d'un angle

Résolu
akhria Messages postés 10 Date d'inscription mercredi 13 avril 2005 Statut Membre Dernière intervention 25 mai 2005 - 22 mai 2005 à 05:28
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 - 28 juil. 2009 à 19:12
Salut, je cherche à calculer l'angle d'un vecteur vitesse à partir de la norme de cette vitesse et de ces coordonnées...mais ArcTan et ArcTan2 sont un peu foireuse et j'ai perdu mes notions de trigo pour arriver à faire la demarche de chaque cas....merci pour l'aide.
A voir également:

8 réponses

WhiteHippo Messages postés 1154 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 5 avril 2012 3
22 mai 2005 à 22:57
function CalculAngle(x, y: extended): extended;
const
EPSILON = 0.0000001 ; // au choix

begin
Result := 0.0;
if ( ABS(x) < EPSILON )
then
begin

Result : = PI/2; // 90 degrés
if ( y < 0 )
then R
esult := -Result ;
// -90 degrés

end else
begin
if ( x < 0 ) then Result := PI - ArcTan(-Y / X) // 2eme ou 3ème quadrant
else
Result := ArcTan( Y / X) ; // 1er ou 4ème quadrant
end;
end;

Cordialement.
3
cs_Gimli Messages postés 21 Date d'inscription mardi 31 décembre 2002 Statut Membre Dernière intervention 5 janvier 2008
22 mai 2005 à 09:04
salut,
voici 1 réponse qui, j'espere, te satisfera:
soit V(Vx, Vy, Vz) les coordonnes de ton vecteur et A l'angle que tu cherche:
tan(A) = a/bavec a Vy, b racine(Vx² + Vz²)
ou sinon: cos(A) = (b² + c² - a²)/(2bc)avec a Vy, b racine(Vx² + Vz²) et c = ||V||
essaye ca, cependant je ne suis pas sur d'avoir bien compris ta question car quand on a les coordonnes d'un vecteur, on a pas besoin de sa norme (ma formule ne correspondrait peut etre pas a ce que tu cherche en fait, a voir)
en tout cas cette 2e formule s'appelle le théoreme d'Al-Kashi et permet de calculer les angles dans un triangle.
@+
0
akhria Messages postés 10 Date d'inscription mercredi 13 avril 2005 Statut Membre Dernière intervention 25 mai 2005
22 mai 2005 à 14:49
Ah zut j'ai oublié de dire que c'était de la 2D, j'ai un vecteur vitesse V(Vx,Vy) donc avec V sa norme, et je cherche l'angle d'orientation en radian, mais qui fonctionne dans les 4 quadrans du cercle trigo sans exception...et ArcTan et ArcTan2 ne renvoient pas précisement dans les bons quadrans, ex : Tan X= Sin(u)/Cos(v) mais aussi = -Sin(u)/-Cos(u)....Merci
0
akhria Messages postés 10 Date d'inscription mercredi 13 avril 2005 Statut Membre Dernière intervention 25 mai 2005
22 mai 2005 à 15:02
An fait je fesai un ArcCos(Vx/V) et un ArcSin(Vy/V) et je reutilisai les valeurs direct, mais en fait j'ai vraiment besoin de faire un ArcTan(Vy/Vx) pour trouver l'angle exact...Merci !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Kenavo Messages postés 702 Date d'inscription vendredi 21 mars 2003 Statut Membre Dernière intervention 1 octobre 2009 5
22 mai 2005 à 20:58
X :=
ArcTan(Vy/Vx);

if (Vx < 0) then

if Vy > 0

X := X + pi

else

X := X - pi;



enfin, je crois !



Ken@vo

<hr size="2" width="100%">Code, Code, Codec !




http://www.pourflorenceethussein.org/



[%3C/body ]
0
akhria Messages postés 10 Date d'inscription mercredi 13 avril 2005 Statut Membre Dernière intervention 25 mai 2005
22 mai 2005 à 21:21
la ca me renvoi les bonnes valeurs de 90 à 180 degrés mais pas pour les 3 autres cadrans
jai trouvé un bout de code

If dX > 0.0001 then
CalculAngle := ArcTan(dY / dX)
else if dX < -0.0001 Then
CalculAngle := PI - ArcTan(-dY / dX)
else
CalculAngle := Sign(dY) * PI / 2;

mais ca ne calcul bien que de 0 à 270°, quelquun a une idée pour le dernier cadran? lol merci
0
Claude1985 Messages postés 1 Date d'inscription vendredi 19 décembre 2008 Statut Membre Dernière intervention 28 juillet 2009
28 juil. 2009 à 16:11
J'ai une petite question a cette discussion, si on fait le truc suivant pour trouver l'angle : A = acos((b² + c² - a²)/(2bc)), alors A est -il donné en degrés ou en radien?

merci
0
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
28 juil. 2009 à 19:12
Ben sachant que la fonction "acos" attend probablement un angle en radians et fait donc ses calculs en radians, il y a de très ([très] très) fortes chances pour que A soit donné en degrés radians.
Dans Delphi, si c'est pas précisé, c'est du radian !

Cordialement, Bacterius !
0
Rejoignez-nous