Android线性加速:负值

时间:2016-02-13 17:56:49

标签: android accelerometer android-sensors

我正在编程加速度计以测量距离。我已经读过加入两倍加速度,错误是非常结果但是我并不关心它,我有足够的精度来做我想做的事情。 问题是我在x轴上的位置总是负面的,我不知道它来自哪里,因为我向所有方向移动手机而且我仍然有负值。

这是我从互联网上挑选和安排的代码:

@Override
public void onSensorChanged(SensorEvent event){
    if(last_values != null){
        float dt = (event.timestamp - last_timestamp) * NS2S;
        acceleration[0]= event.values[0];
        acceleration[1]= event.values[1];
        acceleration[2]= event.values[2];

        for(int index = 0 ; index < 3 ; ++index){
            velocity[index] += (acceleration[index] + last_values[index])/2 * dt;
            position[index] += velocity[index] * dt;
        }
    }
    else{
        last_values = new float[3];
        acceleration = new float[3];
        velocity = new float[3];
        position = new float[3];
        velocity[0] = velocity[1] = velocity[2] = 0f;
        position[0] = position[1] = position[2] = 0f;
    }

    xarr.add(position[0]);
    yarr.add(position[1]);
    zarr.add(position[2]);
    tvX.setText(String.valueOf(position[0]));
    tvY.setText(String.valueOf(position[1]));
    tvZ.setText(String.valueOf(position[2]));
    last_timestamp = event.timestamp;
}

这是一些X轴值:

X轴

-0,001147982

-0,003418462

-0,006807898

-0,011325749

-0,01697435

-0,023762027

-0,031681452

-0,04072018

-0,050905682

-0,062279336

-0,07478787

-0,088445522

-0,103226766

-0,119143963

-0,136174649

-0,154338345

-0,17362912

-0,19407627

-0,215692967

请帮忙。

0 个答案:

没有答案