来自加速度计的二维矢量

时间:2014-03-02 20:16:32

标签: android algorithm accelerometer

我正在尝试使用智能手机在平面(例如桌面)上移动的Android应用程序作为鼠标。由于我想模拟鼠标,我忽略了z轴,并认为利用加速度计数据的最佳方法是构建一个二维向量,然后我可以缩放到屏幕的大小。

我已经在SO上阅读了其他答案,我发现随着t增加,积分方法有一个很大的误差,但是我不确定这个误差是否是考虑到鼠标移动的持续时间和位置变化的一个因素(如何平均鼠标移动时间长了吗?我假设不到2秒。)。

我如何设计满足我需求的算法?基于集成的算法是否足够?

1 个答案:

答案 0 :(得分:0)

  • 是的,加速计数据有很高的错误,如果我们试图从中获取绝对坐标,会产生很大的错误。但是鼠标不需要绝对坐标。相对的是绝对够的。使用您的集成,毫无疑问。

  • “随着t增加,积分方法有很大的误差” - 正确,但用户真的只对最后一次移动感兴趣。因此,它将作为鼠标工作,它将被视为普通鼠标。鼠标有多好,取决于具体设备和任务。例如,我对完整游戏一点也不确定。你必须自己做一个关于它的调查。但它会做一个非常糟糕的平板电脑/笔模拟器。

  • 小心忽略Z轴,注意,即使在地图上放置一个点,GPS也会使用所有三个坐标 - 以获得更好的精度。通常运动不会有Z变化等于0.而忽略其中一个坐标,而不是将它们全部三个重新计算成你真正需要的两个,将会导致更大的错误。我不确定你能否允许它。而你根本不需要 - 它不是一个沉重的算法,吞噬了很多时间和电池。而对于用户而言,在空中移动设备的可能性可以带来很多便利 - 并非每个人都想要将他的设备划到桌子上。因此,COUNT两个坐标来自三个来源,但不是简单地GET两个来源,忽略第三个。

  • 问题出在其他地方。当您使用鼠标并收集错误时,您可以将鼠标向上移动并将其移动到另一个点并重新开始。您也应该意识到类似的东西,因为您的设备也会及时收集错误。