首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >得到垂直于重力方向的加速度,而与手机方向无关。

得到垂直于重力方向的加速度,而与手机方向无关。
EN

Stack Overflow用户
提问于 2015-04-19 13:41:43
回答 1查看 201关注 0票数 0

我试图得到两个轴上的加速度,这两个轴垂直于重力的方向,而不考虑手机的方向,但不太确定如何做到这一点,

我一直在研究使用TYPE_MAGNETIC_FIELD和TYPE_ROTATION_VECTOR,但不知道如何实现同样的目标。

我只需要在xy平面上的加速度,假设重力的方向在z平面上,而不考虑音素的方向。

提前感谢

EN

回答 1

Stack Overflow用户

发布于 2015-04-19 23:36:45

这并不简单:)

要使用TYPE_MAGNETIC_FIELD,你应该知道地球磁场在你所在的位置是如何定向的,这不是微不足道的。

你可以尝试使用TYPE_GRAVITY和TYPE_LINEAR_ACCELERATION:第一个返回重力加速度矢量,第二个返回设备的加速度(不包括重力)(它应该类似于LINEAR_ACCELERATION =加速计-重力,但我不知道它有多精确)。

为了让重力在z轴上,你必须执行重力矢量的旋转,使其具有(00g)的形式……实际上,你必须找到旋转矩阵,它以(00g)的形式变换你的重力矢量。有关此here (wikipedia)的更多信息。

一旦你有了这个矩阵,你就把它应用到线性加速度矢量上,它的x和y分量就是你想要的。

如果你的手机没有这两个传感器,你必须自己计算重力和线加速度:要做到这一点,你可以实现一个高通滤波器来获得线加速度,一个低通滤波器来获得重力矢量。有关此here的更多信息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29726259

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档