如何平滑 iPhone/iPod Touch 的加速计?
最佳答案
您可以在使用之前对传入数据应用过滤器来平滑加速度计数据。您要做的第一件事是为您的过滤器设置一个常量。
#define kFilteringFactor 0.1
在 didAccelerate 方法中,您需要添加以下过滤代码
- (void)accelerometer:(UIAccelerometer*)accelerometer didAccelerate:(UIAcceleration*)acceleration
{
sx = acceleration.x * kFilteringFactor + sx * (1.0 - kFilteringFactor);
sy = acceleration.y * kFilteringFactor + sy * (1.0 - kFilteringFactor);
sz = acceleration.z * kFilteringFactor + sz * (1.0 - kFilteringFactor);
}
上面的代码应该可以为您平滑数据。 sx、sy 和 sz 值的类型为 UIAccelerationValue。
Apple 文档中有很多相关信息,您可能会发现这些信息在这方面同样有用。
关于iphone - 流畅的 UI 加速度计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1374295/