2011-08-25 32 views
0

我想編寫一個用戶觸摸屏幕的小功能,例如2個箭頭指向觸摸位置。點之間的編程角度

如果在靠近底部的中間有一個觸摸位置,如何計算這些位置之間的角度或者它的方向?

enter image description here

我想要得到的箭頭源之間的角度,可以說這是一個圓,我想的角度從圓到觸摸位置的邊緣點。我希望能夠知道箭頭從哪裏開始,以便與觸摸位置具有正確的角度。

+0

因此,您需要從兩個固定點出現箭頭並指向觸摸位置。您是否能夠從touchesBegan接收觸摸事件和座標?如果是這樣,那麼渲染這些箭頭​​應該只涉及非常基本的三角。 – James

回答

3

要找到90度角和你的點之間的角度,你可以使用一些基本的三角學。

enter image description here

如果你想象在第三個節點B(X觸摸,點的y的),你會得到一個直角三角形結束。然後找到你的角度很簡單,因爲tan(角度)=相反側/相鄰側,或(xa - xb)/(yb - yt)。所以angle = tan^-1((xa - xb)/(yb - yt))

+1

對於我推薦使用'atan2'的實際代碼,它將x差異和y差異作爲單獨的參數,所以它很好地處理特殊情況。 –