有人已经编写了iPhone罗盘方向倾斜补偿程序吗?
我已经有一些方法,但是希望得到一些帮助或更好的解决方案!
第一步,我定义一个向量Ev,通过Gv和Hv的叉积计算而来。Gv是由加速度计值构建出的重力向量,Hv是由磁力计值构建出的方向向量。Ev垂直于Gv和Hv,因此指向水平东方。
第二步,我定义一个向量Rv,通过Bv和Gv的叉积计算而来。Bv是我的观察向量,定义为[0,0,-1]。Rv垂直于Gv和Bv,总是指向右侧。
第三步,这两个向量之间的夹角,即Ev和Rv,应该是我的校正方向。为了计算角度,我进行点积并计算其反余弦。
φ = arcos ( Ev * Rv / |Ev| * |Rv| )
理论上应该有效,但也许我需要归一化向量?
有没有人对此有解决方案?
谢谢,m01d