2011-07-06 43 views

回答

1

速度只是加速*時間。即你可以使用公式

v = u +加速度*時間。

作爲一個初學者,你可以看看假設初始速度爲0,'u'可以被忽略以獲得加速*時間。

如果你想要的距離只是使用 距離=初始速度*時間+ 0.5 *加速*時間*時間。

或更好的仍然使用航位推算法,並且在您從加速度計獲取更新時不斷添加速度矢量。

要獲得加速度作爲標量,您可以執行a = sqrt(x * x + y * y + z * z)。儘管如此,您仍然希望從中刪除重力!此外,這隻會給你直線的距離,你可能更喜歡獨立地測量x,y,z的速度,並使用矢量分析來測量路徑以獲得更準確的讀數。不過要注意的是,你可能還需要考慮到任何旋轉都是非常準確的,而且這個功能只能在iPhone4上使用。這可能會變得棘手,您可能需要使用一些矩陣數學來定位手機所處的「空間」。

您還需要在加速度計上做一個低通濾波器以消除「抖動'這是一個重大的誤差範圍將蔓延的原因,爲什麼我希望Appstore中的所有統治者都花了很長時間來完善這一點。

做一個過濾器,一個非常簡單的filterValue =((lastValue * n)+ accelerationValue)/(n + 1)其中一個較大的n值給出了一個更平滑的結果,但反應較少。