我想弄清楚如何getRotationMatrix()
和getOrientation()
準確地工作。Android SensorManager.java getOrientation和getRotationMatrix算法
到目前爲止,我已經知道,在getRotationMatrix()
函數中,用磁矢量交叉產生重力矢量,以獲得指向東方的新矢量。然後,再次利用重力矢量交叉產生東矢量,得到指向磁北的矢量。根據這article表示,現在我們有三個正交向量,我們可以形成一個旋轉矩陣。
這是我的第一個問題:爲什麼我們應該用重力矢量再次交叉產生東矢量以得到指向磁北的矢量?原始磁矢量不是指向磁北極嗎?新矢量和原始磁矢量有什麼區別?
說到getOrientation()
,這裏是我的第二個問題:方位角,滾轉角和俯仰角怎麼會出來?有沒有解釋的方程或公式?
你可以去這個website看到代碼
非常感謝您的關注。非常感謝!
非常非常好的問題! – 2013-10-30 04:37:41