Android 使用加速度计平滑图像移动

Android 使用加速度计平滑图像移动,android,accelerometer,Android,Accelerometer,我试图使我的图像运动更平滑。我知道这个问题已经被问过很多次了,但有一件事我更感兴趣,在其他问题中没有提到。我使用传感器加速度值直接移动位图。我知道这种方法将我限制在-9.8和+9.8之间,但这正是我想要的,我希望我的位图只移动同样多的距离。我读过关于低通滤波器的书,但据我所知,它对在屏幕上移动位图很有用,在我的例子中,它完全没有必要。我说的对吗?如果我直接使用加速计值来移动位图,难道我不应该得到平滑的移动吗 下面是从我的加速计获取值的代码。其类型为type\u加速计 public void on

我试图使我的图像运动更平滑。我知道这个问题已经被问过很多次了,但有一件事我更感兴趣,在其他问题中没有提到。我使用传感器加速度值直接移动位图。我知道这种方法将我限制在
-9.8
+9.8
之间,但这正是我想要的,我希望我的位图只移动同样多的距离。我读过关于低通滤波器的书,但据我所知,它对在屏幕上移动位图很有用,在我的例子中,它完全没有必要。我说的对吗?如果我直接使用加速计值来移动位图,难道我不应该得到平滑的移动吗

下面是从我的加速计获取值的代码。其类型为
type\u加速计

public void onSensorChanged(SensorEvent event) {

        xAcceleration = event.values[0];
        yAcceleration = event.values[1];

}

你是说高通滤波器吗?你真的试过低通滤波器吗

无论如何,加速度计的噪音肯定低于某个阈值。因此,是的,在查看原始数据时,您应该看到“粗略”而不是“平滑”的数字。高通滤波器应该有帮助。我也看到了不错的结果,仅仅是在可调整的样本范围内计算平均值

另一件要尝试的事情是:不要每次获得新的加速计数据时都更新位图的位置。也就是说,将更新位图位置的方法与onSensorChange解耦。与来自onSensorChange的传感器数据相比,您应该能够更频繁地更新位图的位置。。。这将使计算平滑的位置变化变得更容易

这里还有很多好的建议:

但更新位图位置的频率是否会降低速度?因为我想让我的图像移动得尽可能快、尽可能平滑。“但不经常更新位图位置会不会让它变慢?”——不一定,它只需要更新得足够频繁,使其看起来平滑即可。无论如何,从onSensorChange对原始数据的耦合位置更新肯定会导致“嘈杂”的运动。对不起,我有一些关于这个问题的非常旧的示例代码(来自Donut!)。。。现在找不到。当然有人会发一些。当你找到它时,你能把它链接到这里吗?因为我真的需要一些例子