use*_*606 6 iphone accelerometer tilt compass-geolocation
有没有人已经编程了iphone罗盘标题倾斜补偿?
我有一些方法,但一些帮助或更好的解决方案将是很酷的!
首先,我定义一个向量Ev,由Gv和Hv的叉积计算得出.Gv是由加速度计值构建的重力矢量,Hv是构建磁力计值的标题矢量.Ev与Gv和Hv垂直,因此它正朝着东方的方向前进.
SECOND我定义了一个向量Rv,由交叉积Bv和Gv计算得出.Bv是我的向量,它被定义为[0,0,-1].Rv垂直于Gv和Bv并始终显示在右侧.
第三,这两个向量Ev和Rv之间的角度应该是我的校正标题.计算角点i构建点积和arcos.
phi = arcos(Ev*Rv/| Ev |*| Rv |)
理论上它应该可以工作,但也许我必须规范化向量?!
有没有人为此得到解决方案?
谢谢,m01d
是的。你绝对必须正常化。这是来自我用来提取设备方向的代码。重力是通过从航向函数的 x,y,z 获得加速度计和指南针的 x,y,z 获得的
重力.归一化(); 指南针.normalize(); compassEast=gravity.cross(compass);
compassEast.normalize();
罗盘北=罗盘东.cross(重力); compassNorth.normalize();
如果您需要完整的代码,请告诉我。另外,对于那些还没有见过 iphone 4s 陀螺仪运转的人来说:太神奇了!我将上面的重力和指南针输入替换为陀螺仪的等效输入,结果稳定、流畅、很棒:) Go Apple。
| 归档时间: |
|
| 查看次数: |
2801 次 |
| 最近记录: |