java如何计算太阳黑子的方向和速度?
我正在我的太阳黑子上试验加速计。 我试图通过测量加速度计的X轴和Y轴的值来计算速度,但它们对我来说似乎是随机的
获取运动值和方向/方向以及计算其速度的正确方法是什么
这是我的代码:
while (true) {
try {
offset=Math.sqrt(accel.getAccelX()*accel.getAccelX()+accel.getAccelY()*accel.getAccelY());
if(offset<0.1 && offset>-0.1)
offset=0;
v=(offset+ ((offset-anterior))/2)*0.2; //0.2 is 200millisecs
anterior=offset;
Utils.sleep(200);//5 reads per secound
}}...
更新 例如,我将太阳黑子向一个方向移动,变量v(速度)会随机顺序(不是顺序)给出从负到7ms的值。如果改变了运动方向,它不会像我预期的那样给我负值
示例:(如果我将其移到右侧)
v =0.4771031167950723
v =0.4771031167950723
v =-0.15903437226502407
v =-0.15903437226502407
v =0.33841556285063856
v =0.33841556285063856
v =0.7397145777969039
提前谢谢
# 1 楼答案
就像@johnstory所说的,处理这个问题的最好方法是平均。 太阳黑子加速度计非常不稳定,不适合进行精确的速度预测
无论如何,这是我能做的最好的代码