Calculer un angle avec trois point sur les axes X et Y

L'auteur de ce sujet a trouvé une solution à son problème.
Auteur du sujet

Bonjour !

Je souhaite calculer un angle formé par trois points sur les axes x et y.

Les points 2 et 3 sont alignés à l'axe x et le premier points est n'importe ou dans l'espace.

voilà un schéma de ce que je souhaite calculer: Image utilisateur

Je précise que le point 3 n'est pas une donnée aléatoire mais sa position est juste calculé pour être plus loin que le point 2 sur l'axe des x, pour que le segment entre le point 2 et 3 soit parallèle à l'axe x.

Comment calculer l'angle ? (en degrées)

Merci d'avance ! :)

Édité par jerkoco

+0 -0

Salut !

Il y a peut-être une manière plus simple, mais tu peux passer par un triangle rectangle :

1
2
3
4
5
6
7
8
A     D
\-----|
 \    | 
  \   |  
   \  |   
    \ |    
     \|_________
      B         C

Tu connais les coordonnées de A, B et C, donc de D. Tu peux alors déterminer les distances entre les points et, en faisant appel à la trigonométrie, déterminer l'angle ABD. Il ne te reste plus qu'à ajouter les 90° de l'angle DBC.

+1 -0

Salut,

Tu peux utiliser le théorème d’Al-Kashi ou directement avec le produit scalaire (ce qui revient au même en gros), on a (si on appelle tes points $A$, $O$ et $B$ :

$$ \alpha = \arccos\left(\frac{\overrightarrow{OA} \cdot \overrightarrow{OB}}{\lVert\overrightarrow{OA}\rVert \times \lVert\overrightarrow{OB}\rVert}\right). $$

EDIT : grillé. @Vayel : ce que tu fais est justement une des manières de démontrer le théorème d’Al-Kashi. :)

Édité par Karnaj

Je fais un carnage si ce car nage car je nage, moi, Karnaj ! - Le comble pour un professeur de mathématique ? Mourir dans l’exercice de ses fonctions.

+1 -0
Auteur du sujet

Merci, mais comment puis-je calculer une distance (qui est en pixel, je code ça en JavaScript) qui n'est pas alignés avec les axes ? sinon, je ne comprends pas trop les symboles mathématiques @Karnaj (je n'ai qu'un niveau collège) Merci encore :)

Édité par jerkoco

+0 -0

sinon, je ne comprends pas trop les symboles mathématiques @Karnaj

Dans ce cas, tu peux oublier la formule que j’ai postée. ^^

Merci, mais comment puis-je calculer une distance (qui sont en pixel, je code ça) qui n'est pas alignés avec les axes ?

Tu peux le faire avec le théorème de Pythagore. Par exemple, pour calculer la distance $l$ entre le point 1 et le point 2 de ton exemple, on a :

$$ (200 - 50)^2 + (200 - 50)^2 = l^2 \implies l^2 = 2 \times 150^2 \implies l = 150\sqrt{2}. $$

Je fais un carnage si ce car nage car je nage, moi, Karnaj ! - Le comble pour un professeur de mathématique ? Mourir dans l’exercice de ses fonctions.

+0 -0

Tu obtiens un angle en radians et tu as 1 radian qui vaut $\frac{180}{\pi}$ degrés. Je te laisse trouver avec ça comment convertir ton résultat en degrés. :)

Je fais un carnage si ce car nage car je nage, moi, Karnaj ! - Le comble pour un professeur de mathématique ? Mourir dans l’exercice de ses fonctions.

+0 -0
Staff

Qu'est-ce qui te gêne exactement ?

L'angle donné par atan2 est compris entre moins pi et pi. Il faut donc convertir en degrés, et si tu veux l'avoir entre 0 et 360 degrés (et non -180 et +180), il suffit d'ajouter 360 aux résultats négatifs.

+0 -0

Su ton jsfiddle, j'ai l'impression que tu veux calculer l'angle entre ta droite horizontale et la droite passant par le point d'intersection des deux droites et le point sélectionné. Est-ce le cas ? Si oui, ce n'est pas ce que fait ton code (je n'ai pas le temps de détailler).

Écoutez les suites de l’OEIS : http://oeis.org/play.html

+0 -0

Est-ce que tu comprends pourquoi ça marche du coup (étant données les spécifications d'atan2) ? Parce que la stratégie « adapter à sa sauce » marche pas à tous les coups. :p
(Accessoirement tu devrais éviter toutes les valeurs en dur, parce que tu as mélangé 195 et 200 dans ton code.)

Édité par Lucas-84

Ouais, mais après on ne sait pas trop quel point jerkoco a voulu dessiner… J'ai l'impression que les deux lignes dessinées sont $x=200$ et $y=200$. C'est vrai que ce serait pas super cohérent d'avoir dessiné le point d'une certaine manière et les lignes d'une autre mais bon…

Édité par blo yhg

Écoutez les suites de l’OEIS : http://oeis.org/play.html

+0 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte