akhria
Messages postés10Date d'inscriptionmercredi 13 avril 2005StatutMembreDernière intervention25 mai 2005
-
22 mai 2005 à 05:28
Bacterius
Messages postés3792Date d'inscriptionsamedi 22 décembre 2007StatutMembreDerniè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.
WhiteHippo
Messages postés1154Date d'inscriptionsamedi 14 août 2004StatutMembreDernière intervention 5 avril 20123 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;
cs_Gimli
Messages postés21Date d'inscriptionmardi 31 décembre 2002StatutMembreDerniè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.
@+
akhria
Messages postés10Date d'inscriptionmercredi 13 avril 2005StatutMembreDernière intervention25 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
akhria
Messages postés10Date d'inscriptionmercredi 13 avril 2005StatutMembreDernière intervention25 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 !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Claude1985
Messages postés1Date d'inscriptionvendredi 19 décembre 2008StatutMembreDernière intervention28 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?
Bacterius
Messages postés3792Date d'inscriptionsamedi 22 décembre 2007StatutMembreDernière intervention 3 juin 201610 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 !