gpt4 book ai didi

java - 如何存储和使用加速度计3秒的数据?

转载 作者:行者123 更新时间:2023-12-02 12:36:08 24 4
gpt4 key购买 nike

首先,我对这个愚蠢的问题表示歉意。

我想做的是捕获三秒内每秒的加速度计数据并添加该数据,但由于缺乏经验,我发现很难做到这一点。

到目前为止我已经完成的是:

实时获取X、Y、X轴的加速度数据并计算合成加速度resultant_acceleration = Math.sqrt(X^2+y^2+z^2) 这也是实时,并且随着时间的推移而不断变化。

我想做的是:

第一秒、第二秒和第三秒结束处找到resultant_acceleration,即a1,a2,a3返回(a1+ a2+a3) 我正在经历艰难的时期才能用 java 编写一个执行该任务的方法。

        public void onSensorChanged(SensorEvent event) {

final ArrayList<Double> accln = new ArrayList<>();

//enter your code here
float x = event.values[0];
float y = event.values[1];
float z = event.values[2];
if (!mInitialized) {
mLastX = x;
mLastY = y;
mLastZ = z;

mInitialized = true;
} else {
float deltaX = Math.abs(mLastX - x);
float deltaY = Math.abs(mLastY - y);
float deltaZ = Math.abs(mLastZ - z);
if (deltaX < NOISE) deltaX = (float) 0.0;
if (deltaY < NOISE) deltaY = (float) 0.0;
if (deltaZ < NOISE) deltaZ = (float) 0.0;
mLastX = x;
mLastY = y;
mLastZ = z;

final double a =Math.sqrt((deltaX*deltaX)+(deltaY*deltaY)+(deltaZ*deltaZ));
accln.add(a); //what i am trying to do here is collect the sample data of acceleration in an array list for 3 seconds,// so later i can calculate average acceleration

}
}

最佳答案

我建议启动一个计时器,然后当它到达 1000 毫秒时进行测量,然后在 2000 和 3000 处进行测量。这可能会有所帮助: Android timer? How-to?

关于java - 如何存储和使用加速度计3秒的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45130857/

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