0

所以我在 Android 上实现了一个简单的应用程序,它可以让球朝我倾斜手机的方向滚动。然而,保持球不动是不可能的,因为即使我认为我保持不动,传感器值也会不断变化。

所以我想我想要什么过滤掉小的变化?使用某种低通滤波器?

那我该怎么做呢?如果差异不大于某个阈值,则保留旧的旋转矩阵而不做任何更改?

4

2 回答 2

0

低通滤波器可能会使移动看起来不正确,因为它根本不会移动小增量。您可能会更好地限制您的更新功能,以便它每隔一定的毫秒数更新一次。

限制(和去抖动)通常在 Javascript 中用于可能重复触发的事件,例如窗口大小调整。

http://halley.cc/code/?java/Throttle.java

于 2013-10-12T15:39:23.460 回答
0

如果你想让球在你倾斜手机的方向上滚动,我建议尝试在 x 和 y 方向上使用陀螺仪。但是,加速度计和陀螺仪的组合可以为您提供更好的结果。

是了解传感器如何工作的好视频。它解释了传感器如何在移动设备中获取数据,以及如何使用传感器融合和过滤技术将错误降至最低。

于 2014-01-29T21:04:21.477 回答