【问题标题】:iPhone - CLHeading: how can I transform the trueHeading to a vectoriPhone - CLHeading:如何将 trueHeading 转换为矢量
【发布时间】:2011-07-15 15:09:48
【问题描述】:

我知道如何获取磁航向的坐标:heading.x、heading.y、heading.z 问题是我需要 trueHeading 的 (x, y, z)-vector。如何创建这个向量?

谢谢!

【问题讨论】:

    标签: iphone vector coordinates cllocation heading


    【解决方案1】:

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

    基本上,您需要将磁北矢量向与Magnetic Declination 角度相反的方向旋转。

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

    这是你需要做的:

    1. 获取磁北矢量。

    2. 从加速度计获取重力矢量。

    3. 现在计算/查找磁偏角(这取决于您在世界的哪个位置,而且它也会随着时间缓慢变化)。

    4. Rotate 磁北矢量关于重力矢量的 X 度(其中 -X = 磁偏角)。这将是棘手的部分,您需要重新学习一些 3d 触发器。

    【讨论】:

    • 感谢您的快速回答,我会试试这个!抱歉,我知道我有一个向量我只是用错了词。
    • 等等.. 我想我的回答有点过于复杂了。一会儿我会回来。
    【解决方案2】:

    感谢您的编辑...有趣,这正是我当时所做的。我取了磁北向量,并用一个围绕重力向量的旋转矩阵旋转它,并在磁航向和真航向之间变化。

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

    所以我想要的是获得独立于磁矢量的真航向矢量。好吧,多么愚蠢的想法 - 真正的航向很可能已经取决于磁航向。

    但是 - 谢谢你的回答:)

    【讨论】:

      猜你喜欢
      • 2013-12-01
      • 2013-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-01
      • 2023-03-03
      • 1970-01-01
      相关资源
      最近更新 更多