2011-04-07 144 views
1

我只是想知道如何獲得UIAccelerometer的速度,以便我知道如何快速移動UIView從UIA加速計計算速度

+0

您定義的加速度計的「速度」是什麼?設備正在移動的速度?傾斜?如果您試圖獲得設備移動的速度,那麼使用陀螺儀可能很明智。請記住,加速度計會測量加速度,但並不總是準確的。 – DMan 2011-04-07 23:44:10

回答

1

哦,這個男孩這有點棘手。

加速度計不給你速度,但我們都知道這是加速度。但你可以弄清楚(但並不那麼容易)。

我們需要使用一些簡單的物理計算。使用 V(現在)= V(前一個)+加速度(來自加速度計)*時間(自上次進行讀數以來的秒數);

在代碼中,您需要做一些事情。

  1. 你必須弄清楚你什麼時候沒有移動。例如,讓設備仍然停留一秒鐘。
  2. 當設備移動時,你知道該設備開始在0米初速/秒
  3. 確定,所以讓假裝,使這個真正的簡單,我們只檢查加速度計每隔1秒(以後可能做到10倍的第二個。
  4. 好,我們得到1秒的第一讀取和加速度爲2
  5. 所以後從靜止1秒我們的速度將是= 0 + 2 * 1 = 2米/秒
  6. GREAT,現在另一秒已經過去了(總的時間是2秒),加速度2.5的速度現在是 V(now)= Vpervious(2)+ T(自上次讀數後通過)1 * 2.5 = 2 + 1 * 2.5 = 4.5 m/s

請記住,這裏T是從上次閱讀以來的時間不是總時間。

如果我是正確的(有人可以糾正我,加速度計發回我們方程式中的實際值)。所以你應該可以插入。

此外,加速度計會給你3個不同的值(x,y,z)。所以也許首先從一個方向開始,然後也許是另一個方向。

想知道你是否有這個工作。約翰。