【发布时间】:2012-11-13 00:15:15
【问题描述】:
我正在编写一些关于 Android 传感器的程序,我对磁力计传感器的读数感到困惑。
磁力计报告手机三个轴的磁场强度。我观察到在同一位置,如果手机的航向发生变化,磁读数会发生巨大变化。 然而,在我的理解中,地球磁场在特定位置应该是相对稳定的,无论手机的放置姿势如何。
那么,我的问题是,有没有办法将原始读数从 3 轴磁力计传感器转换为 世界坐标系?加速度计和方向数据也可在手机上获得。如果是这样,我怀疑即使手机的航向发生变化,转换后的磁力也应该是相同的。
我参考了 Android 源代码,特别是 getOrientation() 函数和 getRotationMatrix() 函数。我希望从他们的代码实现中得到一些帮助。但我不是很明白。谁能解释一下这些函数的算法原理?
谢谢!我真的很想解决这个问题。
【问题讨论】:
标签: android android-sensors magnetometer