正确使用陀螺仪和加速度计在ANDROID上的任何轴上获得可靠的电流角度

正确使用陀螺仪和加速度计在ANDROID上的任何轴上获得可靠的电流角度,第1张

概述一周前,我对 Android Motion Sensors一无所知.在了解了名为Virtual Reality的神奇之物后,我开始搜索使用哪些传感器来获得这些结果.我对APP有一个想法,但我仍然不知道下面的情况我应该使用哪些传感器: 我必须自己参考电话方向.我的意思是,我应该能够将每个轴隔离开来.喜欢它的东西: 在这种情况下,使用陀螺仪,我认为这种变化是在Z轴上. 仅使用陀螺仪我对这种情况有一个很 一周前,我对 Android Motion Sensors一无所知.在了解了名为Virtual Reality的神奇之物后,我开始搜索使用哪些传感器来获得这些结果.我对APP有一个想法,但我仍然不知道下面的情况我应该使用哪些传感器:

我必须自己参考电话方向.我的意思是,我应该能够将每个轴隔离开来.喜欢它的东西:

在这种情况下,使用陀螺仪,我认为这种变化是在Z轴上.
仅使用陀螺仪我对这种情况有一个很好的结果,但经过一些重复后,我得到了陀螺传感器的一个着名问题:漂移.

在本教程之后:
http://www.thousand-thoughts.com/articles/#articles

事情在我脑海里变得越来越明显,但是当我改变设备方向时,我仍然遇到诸如真实运动之间的延迟以及输出和错误输出之类的问题(我认为重力是有罪的).

是否有一些代码示例关于如何仅使用陀螺仪和加速计传感器为每个轴获得0 – 360度?

(我可能犯了一些英语错误.抱歉)

解决方法 以下代码将为您提供正确的倾斜角度,但前提是您的手机Z轴为0.(就像您说明的那样).
当开始改变Z轴时,它也会成为问题,我仍在努力. (*度数左侧为“ – ”符号,右侧为“”符号)

float[] mGravity;float[] mGeomagnetic;    float[] temp = new float[9];    float[] RR = new float[9];    //Load rotation matrix into R    SensorManager.getRotationMatrix(temp,null,mGravity,mGeomagnetic);    //Remap to camera's point-of-vIEw    SensorManager.remapCoordinateSystem(temp,SensorManager.AXIS_X,SensorManager.AXIS_Z,RR);    //Return the orIEntation values    float[] values = new float[3];    SensorManager.getorIEntation(RR,values);    Double degrees = (values[2] * 180) / Math.PI;
总结

以上是内存溢出为你收集整理的正确使用陀螺仪和加速度计在ANDROID上的任何轴上获得可靠的电流角度全部内容,希望文章能够帮你解决正确使用陀螺仪和加速度计在ANDROID上的任何轴上获得可靠的电流角度所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1125455.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存