此javascript代码测量x轴上的水平加速度。目的是测量设备是否在与地面“水平”表面平行的直线上移动时的加速度,无论设备方向如何。
可以通过陀螺仪数据在给定的加速时间内完成。 5秒?怎么样? THX
let xAxis = '';
function handleMotionEvent(event) {
let x = event.accelerationIncludingGravity.x;
if (!xAxis) {
xAxis = x;
} else {
if (Math.abs(x - xAxis) > 0.4) {
console.log(x);
}
}
}
if (window.DeviceMotionEvent) {
window.addEventListener("devicemotion", handleMotionEvent, true);
}
答案 0 :(得分:0)
基于this documentation,accelerationIncludingGravity属性是一个对象,提供有关三轴加速度的信息。每个轴都有自己的属性:
因此,从数学来看,要获得总水平加速度,我们可以使用r ^ 2 = x ^ 2 + y ^ 2公式组合x和y分量。
...
a = Math.sqrt(x*x + y*y); //horizontal acceleration
...