我知道如何获得磁航向的坐标:heading.x,heading.y,heading.z 问题是我需要trueHeading的(x,y,z) - 向量。我该如何创建这个向量?
谢谢!
答案 0 :(得分:4)
编辑:我已经改变了我的答案......
基本上你需要以与Magnetic Declination角度相反的方向旋转磁北向量。
困难的部分是你需要在水平面上旋转矢量。为此,您需要知道手机的方向。
以下是您需要做的事情:
获取磁北向量。
从加速度计获取重力矢量。
现在计算/查找磁偏角(它取决于你在世界的哪个位置,它也随着时间的推移而变化)。
Rotate磁北矢量绕重力矢量X度(其中-X =磁偏角)。这将是一个棘手的部分,你将需要刷上一些3d trig。
答案 1 :(得分:0)
感谢编辑...好笑,这正是我当时所做的。我采用了磁北向量并用围绕重力向量的旋转矩阵旋转它,磁性高度和真正的高度之间存在变化。
在这种情况下,我依赖于磁矢量。 在某些情况下,我注意到磁矢量非常疯狂,传感器传递了奇怪的值。
所以我想要的是获得独立于磁矢量的trueHeading的矢量。好吧,多么愚蠢的想法 - 真正的标题最可能无论如何都取决于磁力标题。
然而 - 谢谢你的回答:)