2011-07-06 41 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值给出了一个更平滑的结果,但反应较少。