我想了解手机移动的大致速度和距离。为此,我决定使用 MotionReading.DeviceAcceleration。文档对此进行了说明:
加速度计类的原始数据读数包括设备上的重力以及用户移动设备引起的力。DeviceAcceleration 属性给出了设备的加速度,不包括重力。
这个想法是整合加速度计的值。读数之间的时间跨度是一个常数值,因此可以忽略。
我已经沿着 x 轴从右向左移动了设备,记录了所有加速度计的读数。然后,我根据时间构建了该值的图表,并预计会看到两个加速波。第一个 - 在时间轴上方 - 开始运动时,第二个 - 在时间轴下方,用于减速。
在对加速度计的读数进行积分后,我希望看到速度图作为时间轴上方的波 - 从零开始增加,然后再减小。
但这就是我所拥有的。原始加速度计读数:_https://imageshack.com/a/img10/5439/xf05.png
第一次集成后的值:_https://imageshack.com/a/img199/3306/u80.png
第二次整合后的数值:_https://imageshack.com/a/img89/763/vvb.png
所以,第一个积分似乎是上面描述的两个加速度波。由于通常的加速度计错误,它不会归零,但没关系。
第二个积分看起来像一个单一的速度波(它在轴下完成只是因为上一步的加速度误差)。
这是否意味着加速度计给我的不是加速度,而是加速度的变化?
希望,我的解释很清楚。提前谢谢。