CMAccelerometerData和CMDeviceMotion之间的区别

gpi*_*ler 5 accelerometer ios core-motion

有人可以解释之间的差异CMAccelerometerDataCMDeviceMotion.

在我看来,加速度值CMAccelerometerData是原始值,因为数据以CMDeviceMotion某种方式插值,或类似的东西.

vai*_*hav 7

这些之间的差异CMAccelerometerDatacmdevicemotion.

  1. 原始加速度计数据是所有测量的加速度的总和,即设备的重力和当前加速度的组合.
  2. 设备运动数据是所有3个传感器(即加速度计,陀螺仪和磁力计)的传感器融合的结果.因此消除了偏差和误差(理论上),并且剩余的加速度数据被分成重力和加速度以便于使用.

为了比较两者,你得检查CMAccelerometerData.accelerationCMDeviceMotion.userAcceleration+ CMDeviceMotion.gravity比较类似.

CMDeviceMotion大多数情况下,当您需要精确值和硬件独立性时,通常是您的首选.


zap*_*aph 5

CMAccelerometerData类的实例表示加速度计事件.它是在一个时刻沿三个空间轴的加速度的量度.

CMDeviceMotion的一个实例封装了设备的姿态,旋转速率和加速度的测量值.

不同之处在于CMDeviceMotion结合了CMAccelerometerData仅包含原始加速度计数据的陀螺仪,加速度计和罗盘数据.