iPhone-CLHeading:如何将TrueTHeading转换为向量

iPhone-CLHeading:如何将TrueTHeading转换为向量,iphone,vector,coordinates,cllocation,heading,Iphone,Vector,Coordinates,Cllocation,Heading,我知道如何得到磁航向的坐标:航向.x,航向.y,航向.z 问题是我需要真航向的(x,y,z)-向量。如何创建这个向量 谢谢大家! 编辑:我的答案已经改变了很多 基本上,你需要以与角度相反的方向旋转磁北矢量 最困难的部分是需要在水平面上旋转向量。为此,您需要知道手机的方向 以下是您需要做的: 得到磁北矢量 从加速度计获取重力矢量 现在计算/查找磁偏角(它取决于你在世界上的位置,并且随着时间的推移变化缓慢) 磁北矢量与重力矢量成X度(其中-X=磁偏角)。这将是一个棘手的部分,你需要刷一些三维三角 谢

我知道如何得到磁航向的坐标:航向.x,航向.y,航向.z 问题是我需要真航向的(x,y,z)-向量。如何创建这个向量


谢谢大家!

编辑:我的答案已经改变了很多

基本上,你需要以与角度相反的方向旋转磁北矢量

最困难的部分是需要在水平面上旋转向量。为此,您需要知道手机的方向

以下是您需要做的:

  • 得到磁北矢量

  • 从加速度计获取重力矢量

  • 现在计算/查找磁偏角(它取决于你在世界上的位置,并且随着时间的推移变化缓慢)

  • 磁北矢量与重力矢量成X度(其中-X=磁偏角)。这将是一个棘手的部分,你需要刷一些三维三角


  • 谢谢你的编辑…有趣的是,那正是我当时所做的。我取了磁北向量,用旋转矩阵绕着重力向量旋转它,在磁赤纬和真航向之间变化

    问题是,在这种情况下,我依赖于磁向量。 在某些情况下,我注意到磁矢量变得非常疯狂,传感器发出了奇怪的值

    所以我想要的是得到真正航向的矢量,它独立于磁矢量。好吧,多么愚蠢的想法——真正的航向很可能已经依赖于磁航向了


    不过-谢谢你的回答:)

    谢谢你的快速回答,我会试试这个!对不起,我知道我有一个向量,我只是用错了词。等等。。我想我的答案有点过于复杂了。我一会儿再谈。