Android在地球坐标系上获得加速度计

前端之家收集整理的这篇文章主要介绍了Android在地球坐标系上获得加速度计前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在 Android上获得加速度计,并将它们放在地球坐标系上,就像这个主题 Acceleration from device’s coordinate system into absolute coordinate system或这里 Transforming accelerometer’s data from device’s coordinates to real world coordinates一样,但这些解决方案对我不起作用.我正在处理Processing.该项目只是为了跟踪手机在太空中的加速度,无论它是怎样的(站立,侧面……).我也是Android新手.
我很感激你的帮助!
谢谢.

编辑:我不需要手机准确的位置,只需要加速.

解决方法

我终于解决了!我结合了2个先前的答案,这里是代码
monSensorManager.getRotationMatrix(Rotate,I,gravity_values,mag_values); 
  float[] relativacc = new float[4];
  float[] inv = new float[16];
  relativacc[0]=lin_values[0];
  relativacc[1]=lin_values[1];
  relativacc[2]=lin_values[2];
  relativacc[3]=0;
  android.opengl.Matrix.invertM(inv,Rotate,0);
  android.opengl.Matrix.multiplyMV(earthAcc,inv,relativacc,0);

1)获取地球坐标中的电话单元矢量2)反转矩阵以获得电话坐标中的地球单位矢量3)乘以单位矢量的手机加速度,将手机坐标转换为地球坐标.感谢大家的帮助!

原文链接:https://www.f2er.com/android/315482.html

猜你在找的Android相关文章