代码之家  ›  专栏  ›  技术社区  ›  Nazerke

发现加速迹象

  •  1
  • Nazerke  · 技术社区  · 13 年前

    如何从三轴加速度计中发现设备是在加速还是在减速?sqrt(x^2+y^2+z^2)将给出加速度的大小,但要确定它是加速度还是减速度,我想必须进行一些向量计算。如果有人能指引我或将我与一些消息来源联系起来,那就太好了

    1 回复  |  直到 13 年前
        1
  •  1
  •   Exceptyon    13 年前

    我认为没有完美的解决方案来解决你的问题:减速器是一种方向与实际速度相反的acc,你没有(好的)方法来访问设备的速度。

    只是给你一些想法:你可以保留acc(t)的最后N个值的数组(作为向量(x y z))。如果你把加速度计向某个方向移动,然后停下来,我希望在这个阵列中有类似于{A1 A2 A3 A4 D1,D2,D3,D4}的东西,其中所有的A或多或少都是所选方向上的矢量(幅度会变化),所有的d都是与所选方向相反的矢量。 两个A向量的点积将是正的,就像两个D向量一样,但点积Ax*Dy将是负的,这应该会给你一个“加速度计正在停止”的提示。。。

    另一件需要注意的事情是:根据我的经验,加速度计的数据变化很大,因此通常最好计算这些值的“移动平均值”,并使用这些值