一些科学实验的风格后,我发现:
iPhone有磁力计,它具有3轴,X,从屏幕左边到右边。 Y,从下往上。 Z,它来自电话后面,并且位于前面。
地球磁场是物理定律而非球体与预期一样,我(巴西)的位置,它是倾斜约30度。 (这意味着我必须将手机以30度角保持到零2轴)。
一种可能的技术来计算北部,是使用切向于磁场的矢量的矢量积(即:向量磁力计报告给你),和重力。结果将是一个向东指向的向量。如果你希望你可以在东方和重力之间制造另一个交叉产品,则会产生一个指向北方的向量。
要知道,iPhone的传感器都相当不错,和每一个微小的波动和振动被捕获,因此它是使用低通滤波器,从信号中去除噪声好主意。
iPhone本身,有着复杂的程序确定的“真航向”,我不完全理解了它,但它使用加速度计以某种方式补偿倾斜。您可以使用加速度计,并根据需要进行补偿,例如,如果手机倾斜70度,您也可以将真实方位改变70度,结果将是手机忽略倾斜。
也是如此标题的程序,验证,如果iPhone是倒置与否。如果我们把它看作水平的,在你面前为0,那么在135度时或多或少地认为它是颠倒的,并翻转结果。
注意同一坐标系也适用于加速计,让没有太多摆弄使用加速度计和磁力数据之间的矢量操作。
优秀的答案,speeder,但有一个不准确:“真正的标题”计算与位置信息,而不是加速度计。根据你在地球上的位置,它可以计算出磁道偏离真北极的距离。 – fishinear 2012-03-14 11:00:10