gpt4 book ai didi

ios - 在 iOS 上获取相对于地理北方的俯仰、滚动和偏航?

转载 作者:塔克拉玛干 更新时间:2023-11-01 19:13:10 25 4
gpt4 key购买 nike

我看到我可以检索 CMAttitude从一个设备上,我可以从中读取我需要的 3 个值(俯仰、滚动和偏航)。据我所知,这个 CMAttitude 对象由 CoreMotion 管理,CoreMotion 是一个传感器融合管理器,用于计算来自罗盘、陀螺仪和加速度计的正确结果(在 Android 上它是 SensorManager 类)。

所以我的问题是:

  1. 这些值(俯仰、横滚和偏航)是相对于磁北和重力的吗?

  2. 如果以上内容正确,我如何修改它以提供相对于地理北方的结果?

  3. 如果设备(例如 iPhone 3GS)没有陀螺仪,我必须告诉 Manager 还是我可以告诉它根据设备的传感器给我设备的姿态(< em>acc + 陀螺仪 + compas acc + compas)

最佳答案

  1. 和2:

iOS 5.0 简化了这项任务。 CMMotion 管理器有新方法:


- (void)startDeviceMotionUpdatesUsingReferenceFrame:(CMAttitudeReferenceFrame)referenceFrame

作为引用框架,您可以使用以下值:

  • CMAttitudeReferenceFrameXMagneticNorthZVertical 用于磁北,
  • CMAttitudeReferenceFrameXTrueNorthZVertical 表示真北。

如果您想在旧版 iOS 上执行此操作,恐怕您必须使用当前用户位置自行校准。

尝试查看此资源:

3。如果设备没有陀螺仪,CMMotionManger 的 deviceMotionAvailable 属性将为“NO”(相当于 gyroAvailable 属性),您无法使用设备运动获取姿态。您唯一能做的就是直接读取加速度计和磁力计数据。

关于ios - 在 iOS 上获取相对于地理北方的俯仰、滚动和偏航?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9313474/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com