iPhone加速度计到底测量的是什么?

UIAcceleration课程的苹果文档说,

“当设备背面静止放置在水平表面上时,每个加速事件都有大约以下值:
x:0
y:0
z:-1

现在,我很困惑! 当您清楚地说“设备正在静止”时,加速度如何不为零?

UPDATE

从反应来看,我认为这应该被称为“力计”或“重力计”,而不是加速度计!

在Z轴上得到-1,因为重力作用在设备上,应用1G的恒定加速度。 我假设您需要用户加速,您可以使用设备动作处理程序而不是加速处理程序从DeviceMotion对象获取。 userAcceleration属性过滤掉了重力对设备的影响,只给出了用户加速它的程度。

我找到了答案[在CoreMotion参考指南中,感谢bensnider :

加速度计测量两个加速度矢量的总和:重力和用户加速度。 用户加速是用户赋予设备的加速度。

您将在使用的加速度计(LIS302DL)的数据表中找到最佳答案。

它测量重力。 选择该单位使得重力为9.81 m / s ^ 2,等于1个单位。 标志告诉电话轴是如何定向的。 换句话说,手机向下看什么。

手机测量0为自由落体加速度。 我不知道你想多少用手机上下来测试它:)

当你坐着时,引力会把你拉到你的椅子上。 如果不是那个椅子或地面,那么你的加速度会下降到9.8m / s ^ 2。 为了防止椅子掉下来,它必须用相反方向的力作用,并且至少具有相同的值。

accelometer显示拉力的值,它是一个三维向量。 在这种情况下,它是直接向下的。 并且给出的值以G表示,重力加速度乘以该值。

答案者总是错过正确的措辞,应该直截了当地设置……设备只是相对于你“静止不动”。 它实际上根本没有铺设。 重力的http://en.wikipedia.org/wiki/Centripetal_force给它(和你)向心加速度。 它是真实的,它可以让你在切线上远离地球飞行,而这正是加速度计尽职尽责的表现。 (地球没有什么特别之处 – 我们围绕太阳旋转等等,其向心加速度更小,但它们都会被一个足够灵敏的加速度计所示。)