Calcul d'angle
batmat
Messages postés
1871
Date d'inscription
Statut
Membre
Dernière intervention
-
cyriltaz -
cyriltaz -
Bijour tout le monde,
Je suis en train de coder un algo de calcul de trajectoire et je suis bloqué par un pb auquel je ne m'attendais pas, bon sang ! n'est ce point fou ?
Bref, j'ai trois A(xa,ya) B(xb,yb) C(xc,yc) (stockés dans une structure point_t{float x,y}.
Je cherche l'angle B (ABC quoi), mais je ne sais pas comment faire...
Des idées ? Allez, on se motive ;-)
Merci d'avance les gens
@++
Vous hésitez entre Linux et Windows?
Vous voulez dépenser du temps ou de l'argent ?
Je suis en train de coder un algo de calcul de trajectoire et je suis bloqué par un pb auquel je ne m'attendais pas, bon sang ! n'est ce point fou ?
Bref, j'ai trois A(xa,ya) B(xb,yb) C(xc,yc) (stockés dans une structure point_t{float x,y}.
Je cherche l'angle B (ABC quoi), mais je ne sais pas comment faire...
Des idées ? Allez, on se motive ;-)
Merci d'avance les gens
@++
Vous hésitez entre Linux et Windows?
Vous voulez dépenser du temps ou de l'argent ?
A voir également:
- Calcul d'angle
- Calcul moyenne excel - Guide
- Calcul km marche à pied gratuit - Télécharger - Sport
- Calcul charpente bois gratuit - Télécharger - Architecture & Déco
- Logiciel gratuit calcul valeur nutritionnelle - Télécharger - Santé & Bien-être
- Logiciel gratuit calcul surface m2 - Télécharger - Outils professionnels
15 réponses
Ok si je me trompe pas, les fonctions mathematiques comprennent la foction : Cos(a) donc il suffi d'appliquer le theoreme du cosinus:
a^2=(b^2)+(c^2)-(2bc*cos(a))
a,b et c sont les segments de droite qui relient les points A,B et C.il suffis ensuite de jongler un peu avec la formule et on retrouvre l'angle...
Eternel Questionneur. Seul et Unique membre de la : SPdLM
=> Société Protectrice des Languages Maltraités
a^2=(b^2)+(c^2)-(2bc*cos(a))
a,b et c sont les segments de droite qui relient les points A,B et C.il suffis ensuite de jongler un peu avec la formule et on retrouvre l'angle...
Eternel Questionneur. Seul et Unique membre de la : SPdLM
=> Société Protectrice des Languages Maltraités
D'accords, aufait pourriez vous m'expliquer, cher ami, comment entendez vous faire pour les vecteurs? Car je ne connais point les commandes qui permettent de faire des operations sur les vecteurs
Eternel Questionneur. Seul et Unique membre de la : SPdLM
=> Société Protectrice des Languages Maltraités
Eternel Questionneur. Seul et Unique membre de la : SPdLM
=> Société Protectrice des Languages Maltraités
Heu justel ,a b et c (comme dit en haut) c pas tes points mais les segments qui les relient...
Que ca marche sur triangle non rectangle : Oui
Eternel Questionneur. Seul et Unique membre de la : SPdLM
=> Société Protectrice des Languages Maltraités
Que ca marche sur triangle non rectangle : Oui
Eternel Questionneur. Seul et Unique membre de la : SPdLM
=> Société Protectrice des Languages Maltraités
Bijour batmat
Le coef directeur est donné par la tangente de l'angle. Si les droite sont verticale, ce n'est qu'un cas particulier du cas général.
A++
Le coef directeur est donné par la tangente de l'angle. Si les droite sont verticale, ce n'est qu'un cas particulier du cas général.
A++
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Ralala ce batman, d'abord il nous demande qqch de dur, apres il nous dit de nous motiver, et apres l'è meme pas contant du resultat parceque c fatiguant a faire ! Bein oui m'sieur! Et si tu trouve fatiguant de pianoter sur le clavier fo changer de job/hobby ;0)
Eternel Questionneur. Seul et Unique membre de la : SPdLM
=> Société Protectrice des Languages Maltraités
Eternel Questionneur. Seul et Unique membre de la : SPdLM
=> Société Protectrice des Languages Maltraités
en utilisant les Méthodes des sous espaces plus particulièrement MUSIC... se sont des algorithmes de DOA.
Avec la trigo p-e?
Eternel Questionneur. Seul et Unique membre de la : SPdLM
=> Société Protectrice des Languages Maltraités
Eternel Questionneur. Seul et Unique membre de la : SPdLM
=> Société Protectrice des Languages Maltraités
La trigo, ça marche avec des angles droits ... Là c'est pas forcément le cas ;-)
@++
Vous hésitez entre Linux et Windows?
Vous voulez dépenser du temps ou de l'argent ?
@++
Vous hésitez entre Linux et Windows?
Vous voulez dépenser du temps ou de l'argent ?
oui je c ca, je penssais de faire faire en sorte qu'un angle droit se créé mais je crois que ca ne ferais que reporter le prob + loin, en tout cas j'y reflechi
Eternel Questionneur. Seul et Unique membre de la : SPdLM
=> Société Protectrice des Languages Maltraités
Eternel Questionneur. Seul et Unique membre de la : SPdLM
=> Société Protectrice des Languages Maltraités
J'ai pensé à une solution avec le calcul des équations de droites et de différence de coef directeur...
Seulement, j'ai deux pbs :
1) je ne connais pas l'équivalence
"différence coef directeur" <=> angle
2) si ma droite est verticale (xa=xb par exemple, alors ya plus de notion d'équation de droite et chaipu koi faire ...
D'avance merci aux matheux ;-p
@++
Vous hésitez entre Linux et Windows?
Vous voulez dépenser du temps ou de l'argent ?
Seulement, j'ai deux pbs :
1) je ne connais pas l'équivalence
"différence coef directeur" <=> angle
2) si ma droite est verticale (xa=xb par exemple, alors ya plus de notion d'équation de droite et chaipu koi faire ...
D'avance merci aux matheux ;-p
@++
Vous hésitez entre Linux et Windows?
Vous voulez dépenser du temps ou de l'argent ?
1) La formule que tu donnes, je l'utilise de façon identique en x et en y ?
2) T'es sûr que ça marche pour des triangles non rectangles ?
@++
Vous hésitez entre Linux et Windows?
Vous voulez dépenser du temps ou de l'argent ?
2) T'es sûr que ça marche pour des triangles non rectangles ?
@++
Vous hésitez entre Linux et Windows?
Vous voulez dépenser du temps ou de l'argent ?
OK, j'ai compris : je viens de recevoir un mail d'un de mes anciens profs de maths. La formule de esox_ch, c'est le théorême d'Al Kashi.
Merci à tous, je devrais m'en sortir avec ça.
Toutefois, si qqn a une solution moins couteuse en temps, ça m'interesse qd même (je suis pas sur que le microcontroleur va apprécier de calculer des arccos à la pelle ;-)
@++
Vous hésitez entre Linux et Windows?
Vous voulez dépenser du temps ou de l'argent ?
Merci à tous, je devrais m'en sortir avec ça.
Toutefois, si qqn a une solution moins couteuse en temps, ça m'interesse qd même (je suis pas sur que le microcontroleur va apprécier de calculer des arccos à la pelle ;-)
@++
Vous hésitez entre Linux et Windows?
Vous voulez dépenser du temps ou de l'argent ?
Salut batmat,
Tu dois normaliser tes vecteurs AB et CB. ie, diviser par la norme (en ayant préalablement effectuer une translation de tes vesteurs).
1. Xa' = (Xa - Xb)/Sqrt((Xa - Xb)^2 + (Ya - Yb)^2)
Ya' = (Ya - Yb)/Sqrt((Xa - Xb)^2 + (Ya - Yb)^2)
Xc' = (Xc - Xb)/Sqrt((Xc - Xb)^2 + (Yc - Yb)^2)
Yc' = (Yc - Yb)/Sqrt((Xc - Xb)^2 + (Yc - Yb)^2)
2. La valeur de ton angle est: Valeur absolue de (Cos^-1 (Xa') - Cos^-1 (Xc'))
:-)
Rien n'est plus dangereux qu'une idée quand on a qu'une idée.
Pascal
Tu dois normaliser tes vecteurs AB et CB. ie, diviser par la norme (en ayant préalablement effectuer une translation de tes vesteurs).
1. Xa' = (Xa - Xb)/Sqrt((Xa - Xb)^2 + (Ya - Yb)^2)
Ya' = (Ya - Yb)/Sqrt((Xa - Xb)^2 + (Ya - Yb)^2)
Xc' = (Xc - Xb)/Sqrt((Xc - Xb)^2 + (Yc - Yb)^2)
Yc' = (Yc - Yb)/Sqrt((Xc - Xb)^2 + (Yc - Yb)^2)
2. La valeur de ton angle est: Valeur absolue de (Cos^-1 (Xa') - Cos^-1 (Xc'))
:-)
Rien n'est plus dangereux qu'une idée quand on a qu'une idée.
Pascal
Vous n'y êtes pasmon cher :-)
Je tapote très vite maintenant que j'ai grandi ;-) Seulement, le pb concerne le microcontroleur qui doit réfléchir très vite...
J'ai de toute façon déjà commencé à coder l'algo comme ça. Ensuite, j'en coderai une autre version avec un truc sur le produit vectoriel qu'on vient de m'envoyer... Pis je comparerai.
Merki à tous ;op
@++
Vous hésitez entre Linux et Windows?
Vous voulez dépenser du temps ou de l'argent ?
Je tapote très vite maintenant que j'ai grandi ;-) Seulement, le pb concerne le microcontroleur qui doit réfléchir très vite...
J'ai de toute façon déjà commencé à coder l'algo comme ça. Ensuite, j'en coderai une autre version avec un truc sur le produit vectoriel qu'on vient de m'envoyer... Pis je comparerai.
Merki à tous ;op
@++
Vous hésitez entre Linux et Windows?
Vous voulez dépenser du temps ou de l'argent ?
Raaaah, pour tout te dire ;-) J'ai déjà écrit une grande partie de l'algo qui calcule la trajectoire (par les courbes de bézier).
J'ai donc créé pleins de structures (point_t vecteur_t segment_t etc.) et écrit les opérations correspondantes.
(Rappel : le vecteur Vab a pour valeur en abscisse xb-xa et en ordonnée yb-ya)...
<vecteur(BA),vecteur(BC)> = AB*BC*cos(BA,BC)
En repere orthonormé, le produit scalaire et la norme se calculent facilement :
u(x,y) et v(x',y')
<u,v> = x.x'+y.y' et ||u|| = sqrt(x^2+y^2)
En plus, un CCMiens vient d'expliquer aussi cette partie.
@++
Vous hésitez entre Linux et Windows?
Vous voulez dépenser du temps ou de l'argent ?
J'ai donc créé pleins de structures (point_t vecteur_t segment_t etc.) et écrit les opérations correspondantes.
(Rappel : le vecteur Vab a pour valeur en abscisse xb-xa et en ordonnée yb-ya)...
<vecteur(BA),vecteur(BC)> = AB*BC*cos(BA,BC)
En repere orthonormé, le produit scalaire et la norme se calculent facilement :
u(x,y) et v(x',y')
<u,v> = x.x'+y.y' et ||u|| = sqrt(x^2+y^2)
En plus, un CCMiens vient d'expliquer aussi cette partie.
@++
Vous hésitez entre Linux et Windows?
Vous voulez dépenser du temps ou de l'argent ?