Как вычесть гравитацию из значений акселерометра в React Native Sensors
Из документов API
Может быть интересно отметить, что гравитация Земли не удалена от сенсорных значений. В зависимости от положения телефона вам необходимо вычесть это из значений, если вы заинтересованы в необработанных значениях.
Я пытаюсь скомбинировать реагирующие нативные датчики с MaximilianBuegler / node-pedometer, но похоже, что приведенные данные не верны для библиотеки нод-шагомер, и не уверен, как их адаптировать. Просто интересно, являются ли значения гравитации, включенные в вывод, причиной.
1 ответ
Вам необходимо реализовать метод, описанный в документации по API Android.
Для React Native Sensors это будет означать, что вы сможете сделать что-то вроде этого:
new Accelerometer.pipe(scan((acc, curr) => {
// alpha is calculated as t / (t + dT)
// with t, the low-pass filter's time-constant
// and dT, the event delivery rate
final float alpha = 0.8;
const x = alpha * acc.x + (1 - alpha) * curr.x;
const y = alpha * acc.y + (1 - alpha) * curr.y;
const z = alpha * acc.z + (1 - alpha) * curr.z;
return {x,y,z};
}, {x:0,y:0,z:0})