【发布时间】:2013-10-20 13:59:19
【问题描述】:
所以我在 Android 上实现了一个简单的应用程序,它可以让球朝我倾斜手机的方向滚动。然而,保持球不动是不可能的,因为即使我认为我保持不动,传感器值也会不断变化。
所以我想我想要过滤掉小的变化?使用某种低通滤波器?
那我该怎么做呢?如果差异不大于某个阈值,则保留旧的 rotationMatrix 并且不做任何更改?
【问题讨论】:
标签: android filtering android-sensors
所以我在 Android 上实现了一个简单的应用程序,它可以让球朝我倾斜手机的方向滚动。然而,保持球不动是不可能的,因为即使我认为我保持不动,传感器值也会不断变化。
所以我想我想要过滤掉小的变化?使用某种低通滤波器?
那我该怎么做呢?如果差异不大于某个阈值,则保留旧的 rotationMatrix 并且不做任何更改?
【问题讨论】:
标签: android filtering android-sensors
如果您想让球在倾斜手机的方向上滚动,我建议您尝试在 x 和 y 方向上使用陀螺仪。但是,加速度计和陀螺仪的组合可以为您提供更好的结果。
This 是了解传感器工作原理的好视频。它解释了传感器如何在移动设备中获取数据,以及如何使用传感器融合和过滤技术将错误降至最低。
【讨论】:
低通滤波器可能会使移动看起来不正确,因为它根本不会移动小增量。您可能会更好地限制更新函数,使其每隔一定的毫秒数更新一次。
限制(和去抖动)通常在 Javascript 中用于可能重复触发的事件,例如调整窗口大小。
【讨论】: