2

我想要做的是:我有一个对象(蓝点),我想将它指向其他对象,无论它位于它周围的什么位置(绿点)。所以我需要知道这两个对象之间的角度来做我想做的事吗?

http://s13.postimage.org/6jeuphcdj/android_angle.jpg

问题是,我不知道该怎么做才能实现这一目标。我已经使用了 atan、math.tan 和许多其他函数,但没有任何好的结果。

你可以帮帮我吗?提前致谢。

4

2 回答 2

1

计算对象向量的点积。使用Math.acos您获得的价值。这会给你一个弧度的角度。

所以,假设你的蓝点在vec1 = (50, 100),绿点在vec2 = (100, 400)

(x, y)作为二维向量的元组描述了对象(0, 0)在屏幕上的位置和距离。要找到这两个向量之间的角度,您需要对它们进行标准的二进制点积运算。这将为您提供一个标量(一个值,cos(Theta)),但您想要它的倒数(acos),这是您正在寻找的角度。

您可以在此处对此事有更好的了解

于 2012-11-24T21:24:40.287 回答
0

假设蓝点和绿点的坐标分别是(xblue, yblue) 和(xgreen, ygreen)。

蓝点与绿点的夹角为:

double angleRadians = Math.atan2(ygreen-yblue, xgreen-xblue);

如果你想要以度为单位的角度:

double angleDegrees = Math.toDegrees(angleRadians);
于 2012-11-24T23:45:27.920 回答