所以我在Android上实现了一个简单的应用程序,使球向我倾斜手机的方向滚动。然而,由于传感器值不断变化,即使我认为我仍然保持不变,也不可能保持球静止。
所以我想我想要的是过滤掉小的变化?使用某种低通滤波器?
那我该怎么做?保留旧的rotationMatrix,如果差异不大于某个阈值,则不做任何更改?
答案 0 :(得分:0)
低通滤波器可能会使运动看起来不正确,因为它不会以小增量移动。您可能会更好地限制更新功能,以便它每隔一定的毫秒数更新一次。
限制(和去抖动)通常在Javascript中用于可能反复触发的事件,例如窗口调整大小。
答案 1 :(得分:0)
如果你想让球向你倾斜手机的方向滚动,我建议你尝试在x和y方向上使用陀螺仪。但是,加速度计和陀螺仪的组合可以为您提供更好的结果。
This是了解传感器如何工作的好视频。它解释了传感器如何在移动设备中获取数据以及如何使用sensorfusion和过滤技术最小化错误。