我想在
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)乘以单位矢量的手机加速度,将手机坐标转换为地球坐标.感谢大家的帮助!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。