iOS 上的加速度计管理哪些运动?

Which movements are managed by accelerometer on iOS?

苹果开发者文档解释了这张图片处理的运动:

Developer

1
2
3
4
5
6
-(void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration{

    [self.sliderX setProgress:fabsf(acceleration.x)];
    [self.sliderY setProgress:fabsf(acceleration.y)];
    [self.sliderZ setProgress:fabsf(acceleration.z)];
}

编辑------
我无法理解的行为与单个轴上的旋转有关,正如我之前所说...在 Z 轴上旋转 30 度?° 我得到一个连续的加速度...在 X 轴上平移时我只得到加速度短而快的运动。


加速度计受重力加速度的影响最大。它实际上返回了自由落体与它实际所做的任何事情之间的差异。

因此,如果您将 iPhone 平放在桌子上,您应该沿 z 方向有一个加速度。如果你在它的长边之一上平衡它,你应该有一个沿 x 的加速度。如果你的 iPhone 掉到地上,那么你的加速度矢量应该是 (0, 0, 0)。

移动 iPhone,比如滑动它,会产生效果,但它可能与重力相比很小,所以很容易错过。

因此,在 z 轴上旋转会产生持久的变化,因为您已经改变了相对于设备的重力方向。在 x 上平移会产生瞬态变化,因为您正在短暂加速设备,然后停止加速。