麻煩

2013-07-26 241 views
0

我已經選擇了一個圖片抽頭點和中點x軸線之間的角度,我認爲可以更好地描述我試圖計算角度:麻煩

enter image description here

CGPoint P2是用戶點擊的任何位置,並且CGPoint P1始終有其P1.y = P2.yP1.x = self.view.bounds.size.width/2

我想知道如何計算兩點之間的角度,因爲我希望將角度設置在中途x軸上?

謝謝!

回答

1

的角度:

90-arctan((self.view.bounds.size.height - P2.y)/(P2.x - self.view.bounds.size.width/2)) 

(這將是在該行的右側,左側負得正。如果你總是希望它積極的,使用abs()

我是什麼基本上將原點設置在屏幕底部中心,然後計算從原點到P2的直線斜率。然後arctan給出了線相對於X軸的角度。然後你做90-arctan(..)使其尊重Y軸。

或者,您可以使用此公式,該公式與已翻轉的軸相同。

arctan((P2.x - self.view.bounds.size.width/2)/(self.view.bounds.size.height - P2.y)) 
+1

完美。特別感謝您的好解釋! – daspianist