2010-02-26 168 views
14

給定P1和P2,我怎樣才能得到從P1到P2的角度?謝謝計算2點的角度

+9

要成爲一個學究,兩點沒有它們之間的角度。然而,兩個向量可以。看點產品,看看你能從那裏得到什麼。 – GManNickG 2010-02-26 04:27:46

+1

我相信OP意味着連接P1和P2的線與x軸形成的角度。至少,這就是選擇的答案。 – 2013-08-23 11:21:12

回答

33

這只是float angle = atan2(p1.y - p2.y, p1.x - p2.x)

當然的返回類型爲弧度,如果你需要它以度爲只是做angle * 180/PI

6

好的記得高中觸發。這是我得到的。

兩個點分別是A(X1,Y1)和B(x2,y2)

我假設你想要的兩個點和原點O(0,0)之間的角度。

那麼每個點都會形成一個由其高度,底部和斜邊限定的三角形,所以您可以獲得兩個角度α1和α2。這個想法是找到每一個,並通過做beta = alpha1 - alpha2來計算所需的角度beta,其中alpha1是alpha1> alpha2。

計算α1 = inv_tan(Y1/X1)和 α2 = inv_tan(Y2/X2)

然後做測試=α1 - α2

+1

其他答案相同,但更簡潔。 – Ankur 2010-02-26 04:34:31