2013-08-12 33 views
3

假設:手機保持平坦(與地面平行)。Android getOrientation()返回方位角,正值還是負值?

我正在使用getRotationMatrix()getOrientation (float[] R, float[] values)來獲得方位角。在這個假設下,方位角就是values[0]

documentation表示:上述

所有三個角的以弧度爲單位,並在 逆時針方向正。

然後我檢查了,當我的手機的Y軸指向北,方位確實。

不過,來這裏的問題:當我的手機的Y軸指向西,即我轉動我的手機逆時針,使其從北點西,方位角爲

從北向逆時針旋轉角度不應該爲正值嗎?

哪裏出錯?

回答

3

不,如果Z的正方向指向天空,那麼當y軸指向西方時,角度爲正值。但getOrientation中使用的座標Z的正方向指向地球,因此現在看起來逆時針變爲順時針,因此West爲負。

+0

有道理。所以如果我的手機的y軸指向,那麼西方應該是負面的權利? –

+0

如果你的意思是手機垂直放置,y軸指向上,那麼把y軸的方向說成東,西,北或南是沒有意義的。如果提到羅盤方向,東方爲正,西方爲負。 –

+0

對不起,錯字!我的意思是我的手機z指向了。我拿着電話就像一個指南針。 –