有人可以解释CMAccelerometerData
和CMDeviceMotion
之间的区别。
在我看来,CMAccelerometerData
的加速度值是原始值,因为CMDeviceMotion
的数据是以某种方式插值的,或类似的东西。
答案 0 :(得分:7)
这些是CMAccelerometerData
和cmdevicemotion
之间的差异。
为了比较两者,您需要检查CMAccelerometerData.acceleration
与CMDeviceMotion.userAcceleration
+ CMDeviceMotion.gravity
进行比较,以便与之比较。
一般情况下,CMDeviceMotion
是您在大多数情况下需要精确值和硬件独立性时的首选。
答案 1 :(得分:5)
CMAccelerometerData类的实例表示加速度计事件。它是在一个时刻沿三个空间轴的加速度的测量值。
CMDeviceMotion的一个实例封装了设备的姿态,旋转速率和加速度的测量结果。
不同之处在于CMDeviceMotion
包含陀螺仪,加速度计和罗盘数据,其中CMAccelerometerData
仅包含原始加速度计数据。