如何通过iOS中的CMMotionManager获得实际加速度

问题描述 投票:0回答:1

我正在使用startDeviceMotionUpdates()获得x,y和z设备加速,并使用Timer读取userAcceleration数据结构。苹果文档状态

设备的总加速度等于重力加上用户赋予设备的加速度。

例如,即使我晃动手机,我得到的值在X轴上最多为5.7nnnn。现在,如果重力加速度为9.81 m / sec平方,那么5.7nnnn的值以m / sec平方表示什么?也就是说,如何从userAcceleration给出的原始轴值中获取实际的m / sec平方值?如何解释加减速之间的差异?

ios swift core-motion
1个回答
1
投票

CoreMotion(CM)以g为单位输出加速度。因此,您需要将这些值乘以〜9.81 m / s ^ 2。

此外,与更传统的加速度计相比,CM加速度读数相反;即,当设备固定在桌子上时,CM在z轴上的测量值约为-1.0,而传统的加速度计的测量值约为9.81 m / s ^ 2(请注意,前一个值为负,而后者为正)。因此,如果将CM读数乘以-9.81,您将获得直观的结果:沿轴为正值表示加速度,而为负值则表示减速度。

© www.soinside.com 2019 - 2024. All rights reserved.