假设:手机平放(与地面平行)。
我使用getRotationMatrix()
和getOrientation (float[] R, float[] values)
来获得方位角。在这种假设下,方位角只是values[0]
。
documentation表示:
以上三个角度均以弧度为单位,在
逆时针方向。
然后我检查了一下,当手机的y轴指向北方时,方位角确实是0。
然而,问题来了:当我的手机的y轴指向西方,即我逆时针旋转手机使其指向从北向西,方位角是负的!
从北逆时针旋转时,角度不应该是正的吗?
哪里出了问题?
最佳答案
不,如果z的正方向指向天空,则当y轴指向西方时,则角度为正。但是在getorientation中使用的坐标z的正方向指向地球,因此现在看起来逆时针的方向变成顺时针,所以西方是负的。