Calculer l'angle (dans le sens horaire) entre deux points

J'ai été de ne pas utiliser les mathématiques pour une longue période et cela devrait être un problème simple à résoudre.

Supposons que j'ai deux points: (1, 0) et B: (1, -1).

Je veux utiliser un programme (Python ou quel que soit le langage de programmation) afin de calculer le sens des aiguilles d'angle entre Une, de l'origine (0, 0) et B. Il sera quelque chose comme ceci:

angle_clockwise(point1, point2)

Noter que l'ordre des paramètres questions. Depuis le calcul de l'angle sera dans le sens horaire:

  • Si je l'appelle angle_clockwise(A, B), il retourne 45.
  • Si je l'appelle angle_clockwise(B, A), il retourne 315.

En d'autres termes, l'algorithme est comme ceci:

  1. Tracer une ligne (ligne 1) entre le premier point de param avec (0, 0).
  2. Tracer une ligne (ligne 2) entre le deuxième point de param avec (0, 0).
  3. Tournent autour de la ligne 1 (0, 0) dans le sens horaire jusqu'à ce qu'il chevauche la ligne 2.
  4. La distance angulaire de la ligne 1 voyagé sera le retour de l'angle.

Est-il un moyen de code de ce problème?

Lire en.wikipedia.org/wiki/Atan2 et note atan2 est dans docs.python.org/2/library/math.html
la question est de poser des questions sur le code à mettre en œuvre atan2,mais pas la notion de atan2,pourquoi suggérer pour en savoir plus sur atan2?
"Si j'appelle angle_clockwise(B, A), il retourne 335" - certainement vous dire 315 (360 - 45)?
Oups... Oui, je veux dire 315. Maintenant vous pouvez voir combien de temps je n'ai pas été à l'aide de maths 😀

OriginalL'auteur Eric | 2015-07-30