【问题标题】:iPhone compass presents the wrong heading pitch angle is > about 45°iPhone 指南针显示错误的航向俯仰角 > 约 45°
【发布时间】:2011-10-12 14:20:25
【问题描述】:

这可能很难解释几何,所以我会小心拼写出来。这在标准 compas 应用程序和 CLLocationManager 中的数据中可见。

1) 竖放手机时,将俯仰角设为0°

2) 将相机指向天空时(例如拍摄云的照片),俯仰角从 0° -> 90° 变为 90° 为直角。

3) 当手机向上倾斜(> 0 度并在“X”磁力计轴上旋转)并且手机处于大约(但不完全)45 度时,指南针方向旋转 180 度。所以当相机仍然指向“N”时,指南针会报告“S”。

4) 对于下一个(大约)90 度,指南针方向旋转 180 度。

这种航向旋转对我来说是破坏性的,它与加速度计并没有完全对齐。有没有关于使用 CLHeading 数据中的 RAW 数据(X、Y、Z)来计算航向数据的好教程(我没有找到一个)?

最终结果是我希望指南针的航向始终与相机的航向匹配。

【问题讨论】:

  • 你是怎么解决这个问题的?
  • 我也想知道你是否解决了这个问题?

标签: iphone ios compass-geolocation magnetometer


【解决方案1】:

您不能只依赖指南针的航向。请参阅此答案以了解您要查找的内容,特别是 CMAttitude 对象的 yaw 属性以补偿您正在谈论的俯仰角: Compensating compass lag with the gyroscope on iPhone 4

【讨论】:

  • 不完全。我已经在做那个补偿了。当设备处于纵向时,我需要一个辅助补偿。当 UIDeviceOrientation 为纵向(正常或倒置)时,当俯仰大于 45 度时,Heading 会跳跃 180 度。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-02
  • 1970-01-01
  • 1970-01-01
  • 2011-12-05
  • 1970-01-01
相关资源
最近更新 更多