廃止されたAndroidセンサーSensor.TYPE_ORIENTATION
を置き換えるソリューションを探しています。廃止予定のSensor.TYPE_ORIENTATIONの同等の置き換え
ほとんど報告された溶液は、SensorManager#getRotationMatrix
を用いて回転行列を計算し、SensorManager#getOrientation
を用いてオイラー角を得、次いで、Sensor.TYPE_ACCELEROMETER
とSensor.TYPE_MAGNETIC_FIELD
を組み合わせることです。 別報告溶液は、回転行列で終わるSensor.TYPE_ROTATION_VECTOR
を使用することであり、オイラーは、モバイルデバイスを回転させたときSensorManager#getOrientation
残念ながらそれらはTYPE_ORIENTATION
に全く異なる振る舞いを使用して角度。お使いの携帯電話が机の上に横たわっている間に両方のタイプを試してから、90°回転させてください(スクリーンがあなたに直面しています)。 TYPE_ORIENTATION
で取得された次数値はかなり安定しています(正確ではありませんが、まったく問題ありません)が、方位角とロール角の計算されたオイラー角は実際には野生です(Gimbal lockという問題の原因)。 TYPE_ORIENTATION
のすべての値(ヨー、ピッチ、ロール)は、ジンバルロックの問題がなくても、ある種の「投影された」程度のようです。
償却されたTYPE_ORIENTATION
センサー(多分回転行列から)を使用せずに同様の度合い(ヨー、ロール、ピッチ)を得る方法はありますか? TYPE_ORIENTATION
アルゴリズムは内部でどのように処理しますか?
どのように正しい向きと回転の風景/肖像画が検出されますか? –