2017-05-04 94 views
0

我想找出我用来跟踪陀螺仪数据的CMMotionManager的参考坐标系。当我执行以下行attitudeReferenceFrame的rawValue 1是什么意思?

let referenceFrame = self.motionManager.attitudeReferenceFrame 
print("Reference frame = \(referenceFrame)") 

我得到以下输出

Reference frame = CMAttitudeReferenceFrame(rawValue: 1) 

有4个常数CMAttitudeReferenceFrame

常量

静止无功xArbitraryZVertical:CMAttitudeReferenceFrame描述一个 其中Z轴是vertica的参考系l和X轴在水平面内任意方向指向 。

静态无功xArbitraryCorrectedZVertical:CMAttitudeReferenceFrame 描述相同的参考帧作为xArbitraryZVertical除了 磁力计,可用的和校准的情况下,用于改善 长期偏航精度。使用此常数而不是 xArbitraryZVertical导致CPU使用率增加。

static var xMagneticNorthZVertical:CMAttitudeReferenceFrame描述 参考坐标系,其中Z轴是垂直的,而X轴是指向磁北的X轴。请注意,使用此参考框架可能需要设备移动来校准磁力计。

static var xTrueNorthZVertical:CMAttitudeReferenceFrame描述一个参考坐标系,其中Z轴是垂直的,X轴指向真北方的 。请注意,使用此参考框架可能需要设备移动来校准磁力计。它还要求 位置可用以计算磁性和真北方之间的差异。

它是用1的rawValue来谈论第二个常量吗?

+0

你说得对。它是'xArbitraryCorrectedZVertical'。 – ozgur

+0

原始值1是'xArbitraryZVertical' – dan

回答

-1

docs表示第二个值为1 << 1(即1),所以是的。

+0

'1 << 1'是2,'1 << 0'是1 – dan

+0

哦,我做了一个愚蠢的?哎呀。 – Ssswift