一些科學實驗的風格後,我發現:
iPhone有磁力計,它具有3軸,X,從屏幕左邊到右邊。 Y,從下往上。 Z,它來自電話後面,並且位於前面。
地球磁場是物理定律而非球體與預期一樣,我(巴西)的位置,它是傾斜約30度。 (這意味着我必須將手機以30度角保持到零2軸)。
一種可能的技術來計算北部,是使用切向於磁場的矢量的矢量積(即:向量磁力計報告給你),和重力。結果將是一個向東指向的向量。如果你希望你可以在東方和重力之間製造另一個交叉產品,則會產生一個指向北方的向量。
要知道,iPhone的傳感器都相當不錯,和每一個微小的波動和振動被捕獲,因此它是使用低通濾波器,從信號中去除噪聲好主意。
iPhone本身,有着複雜的程序確定的「真航向」,我不完全理解了它,但它使用加速度計以某種方式補償傾斜。您可以使用加速度計,並根據需要進行補償,例如,如果手機傾斜70度,您也可以將真實方位改變70度,結果將是手機忽略傾斜。
也是如此標題的程序,驗證,如果iPhone是倒置與否。如果我們把它看作水平的,在你面前爲0,那麼在135度時或多或少地認爲它是顛倒的,並翻轉結果。
注意同一座標系也適用於加速計,讓沒有太多擺弄使用加速度計和磁力數據之間的矢量操作。
優秀的答案,speeder,但有一個不準確:「真正的標題」計算與位置信息,而不是加速度計。根據你在地球上的位置,它可以計算出磁道偏離真北極的距離。 – fishinear 2012-03-14 11:00:10