3

仮定: 電話は平らに保たれています (地面と平行)。

getRotationMatrix()およびを使用しgetOrientation (float[] R, float[] values)て方位角を取得しています。この仮定の下では、方位角は単純にvalues[0]です。

ドキュメントには次のように記載されています。

上記の 3 つの角度はすべてラジアンで、反時計回りが正です。

次に、携帯電話の y 軸がNorthを指している場合、方位角は実際に0であることを確認しました。

ただし、ここで問題が発生します。携帯電話の y 軸がWestを指している場合、つまり携帯電話を反時計回りに回転させて北から西を指すようにすると、方位角はになります。

北から反時計回りに回転させたとき、角度は正になるべきではありませんか?

どこがうまくいかないのですか?

4

1 に答える 1

3

いいえ、Z の正の方向が空を指している場合、y 軸が西を指している場合、角度は正です。しかし、getOrientation で使用される座標は、Z の正の方向が地球を指しているため、反時計回りに見えるものが時計回りになり、西は負になります。

于 2013-08-13T05:00:24.353 に答える