4
如何平滑iPhone/iPod Touch的加速度計?平滑UIA加速度計
如何平滑iPhone/iPod Touch的加速度計?平滑UIA加速度計
您可以在使用前對傳入數據應用過濾器來平滑加速度計數據。你要做的第一件事就是爲你的過濾器設置一個常量。
#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的文檔中有很多相關信息,您可能會發現在這方面同樣有用。
很好的答案! 唯一要補充的是變量sx,sy和sz應該在頭文件中聲明,以便在下一次計算中使用該值。 工作對我很好。 – Structurer 2011-02-28 11:30:40