2011-08-25 34 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差异作为单独的参数,所以它很好地处理特殊情况。 –