54 votes

Comment calculer un angle à partir de points?

Je veux obtenir une solution simple pour calculer l’angle d’une ligne (comme un pointeur d’une horloge).

J’ai 2 points:

Quelle fonction est capable de fournir cette valeur ?

1voto

pasx Points 141

L’un des problèmes liés à l’obtention de l’angle entre deux points ou n’importe quel angle est la référence que vous utilisez.

En mathématiques, nous utilisons un cercle trigonométrique avec l’origine à droite du cercle (un point en x = rayon, y = 0) et comptons l’angle dans le sens inverse des aiguilles d’une montre de 0 à 2PI.

En géographie, l’origine est le Nord à 0 degré et nous allons dans le sens des aiguilles d’une montre de à 360 degrés.

Le code ci-dessous (en C#) obtient l’angle en radians puis convertit en angle géographique :

1voto

Vous trouverez ici deux formules, l’une à partir de l’axe positif x et dans le sens inverse des aiguilles d’une montre

et un du nord et dans le sens des aiguilles d’une montre.

Il y a x=x2-x1 et y=y2=y1 . Il y a E=E2-E1 et N=N2-N1.

Les formules fonctionnent pour n’importe quelle valeur de x, y, E et N.

Pour x=y=0 ou E=N=0, le résultat n’est pas défini.

f(x,y)=pi()-pi()/2(1+signe(x))(1-signe(y^2))

f(E,N)=pi()-pi()/2(1+signe(N))(1-signe(E^2))

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X