2011-04-07 149 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)。所以也许首先从一个方向开始,然后也许是另一个方向。

想知道你是否有这个工作。约翰。