Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我知道如何获取磁航向的坐标:heading.x、heading.y、heading.z 问题是我需要 trueHeading 的 (x, y, z)-vector。我怎样才能创建这个向量?
谢谢!
编辑:我已经改变了很多我的答案......
基本上,您需要以与 磁偏角相反的方向旋转磁北矢量。
困难的部分是您需要在水平面上旋转矢量。为此,您需要知道手机的方向。
这是您需要做的:
获取磁北矢量。
从加速度计获取重力矢量。
现在计算/查找磁偏角(这取决于您在世界的哪个位置,它也随时间缓慢变化)。
围绕重力矢量旋转磁北矢量 X 度(其中 -X = 磁偏角)。这将是棘手的部分,您将需要复习一些 3d trig。
感谢您的编辑...有趣,这正是我当时所做的。我取了磁北向量,并用一个围绕重力向量的旋转矩阵旋转它,并在磁航向和真航向之间变化。
问题是在这种情况下我依赖于磁矢量。在某些情况下,我注意到磁矢量变得非常疯狂,传感器提供了奇怪的值。
所以我想要的是获得独立于磁矢量的真航向矢量。好吧,多么愚蠢的想法——真正的航向很可能已经取决于磁航向。
但是 - 谢谢你的回答:)