我试图从我从 CLLocationManager 对象的更新中获得的 CLHeading 类中读取的值中获取有意义的“设备方向”信息。这个类包含三个值,x,y,z,它们以微特斯拉为单位,正如我从文档中了解到的那样,这是指向地球磁北的矢量,设备的磁偏被过滤掉了。现在,我想确定的是,我们在哪个坐标系中获得这些读数?它们是否相对于设备自身的坐标系,如下图所示:
(来源:apple.com)
Core Motion 框架使用哪个?
此外,是否有一种可靠的、既定的方法可以让我获得上图中的帧轴向量?根据我的阅读,iOS 不提供此功能,但设备的“姿态”除外,它作为设备的(俯仰、偏航、滚动)角度提供,由 Core Motion 框架的startDeviceMotionUpdatesUsingReferenceFrame
方法更新。但我发现这些角度值非常不可靠,因为即使设备静止,它们也会波动。我需要尽可能精确的设备方向数据,因为我将使用这些数据来校准相机系统。
提前致谢。