我正在尝试开发一个 Android 应用程序来计算用户使用设备加速度计覆盖的准确距离。
我每 5 秒有两个向量,一个包含加速度值,另一个包含时间戳。
首先,我计算代表速度的加速度值的累积值,并计算距离如下:
float calcDistance(Vector<Float> samples, Vector<Float> times) {
float distance = 0;
for (int i = 1; i < samples.size(); i++)
samples.set(i, samples.get(i) + samples.get(i - 1));
for (int i = 0; i < samples.size() - 1; i++)
distance += samples.get(i) * (times.get(i + 1) - times.get(i));
return distance;
}
但它没有给出准确的距离。有什么方法可以计算出准确的距离吗?