仮定: 電話は平らに保たれています (地面と平行)。
getRotationMatrix()
およびを使用しgetOrientation (float[] R, float[] values)
て方位角を取得しています。この仮定の下では、方位角は単純にvalues[0]
です。
ドキュメントには次のように記載されています。
上記の 3 つの角度はすべてラジアンで、反時計回りが正です。
次に、携帯電話の y 軸がNorthを指している場合、方位角は実際に0であることを確認しました。
ただし、ここで問題が発生します。携帯電話の y 軸がWestを指している場合、つまり携帯電話を反時計回りに回転させて北から西を指すようにすると、方位角は負になります。
北から反時計回りに回転させたとき、角度は正になるべきではありませんか?
どこがうまくいかないのですか?