麻烦

2013-07-26 246 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