0

我正在用 AR 做一些实验。我从指南针得到了我正在寻找的方向的角度,以度为单位。我知道自己的位置和另一个物体 (POI) 的位置,该位置以经纬度的形式给出。

现在我想知道如何计算我正在寻找的方向和 POI 之间的角度。

4

1 回答 1

0

点积:

a . b = ||a|| ||b|| cos(t)
t = acos( (a.b)/(||a|| ||b||) )


||vector|| = length of vector (magnitude)
t          = angle between the two vectors

您可能需要为您拥有的每架飞机执行几次。(1x 用于 2D,2x 用于 3D)

或者:

    /|
   / |
h /  | y
 /   |
/____|
  x

t 是左下角,我们假设它是你的对象,右上角将是你的另一个对象

x = obj2.x - obj1.x
y = obj2.y - obj1.y
h = sqrt( (x*x) + (y*y) )

sin(t) = y/h
cos(t) = x/h
tan(t) = y/x

t = asin(y/h)
t = acos(x/h)
t = atan(y/x)

使第一种方法更好的是,它代表您当前的轮换。第二种方法(使用 atan、asin 和 acos)没有。

于 2013-08-20T15:16:28.837 回答