gpt4 book ai didi

android - 加速度计值表现得像倾斜仪?

转载 作者:行者123 更新时间:2023-11-29 00:46:30 25 4
gpt4 key购买 nike

我为下面的 accelxyz 获取的值不是预期的.

它似乎充当倾斜传感器而不是加速度计。

当我将手机抛向空中并接住它时,accel 值的变化不会超过 10%。对比一下,当我随机旋转手机时,我得到了 50-100% 的更大变化!

什么可以解释这个?我只是想检测手机何时处于自由落体状态(和/或影响某物)。

SensorManager sm = (SensorManager)getSystemService(SENSOR_SERVICE);
Sensor sensor = sm.getDefaultSensor(SensorManager.SENSOR_ACCELEROMETER);
sm.registerListener(
sel = new SensorEventListener(){
@Override public void onAccuracyChanged(Sensor arg0, int arg1) {}
@Override public void onSensorChanged(SensorEvent arg0) {
double x = se.values[0];
double y = se.values[1];
double z = se.values[2];
double accel = Math.sqrt(
Math.pow(x, 2) +
Math.pow(y, 2) +
Math.pow(z, 2));
}
},
sensor,
SensorManager.SENSOR_DELAY_NORMAL
);

(作为附带问题,x、y 和 z 的值似乎比它们应有的值高得多,accel 在静止时平均约为 50-80?不应该是大约 9.8?)

x、y 和 z 值似乎对手机方向的变化非常敏感,但根本不代表加速度。我错过了什么吗??

手机静止不动,仰卧时的示例值:加速度 = 85.36, x = 6.8, y = 45.25 z = 30.125

最佳答案

我不得不更换

Sensor sensor = sm.getDefaultSensor(SensorManager.SENSOR_ACCELEROMETER);

Sensor sensor = sm.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);

关于android - 加速度计值表现得像倾斜仪?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6072030/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com