Android 确定手机仅使用加速计旋转的方向

Android 确定手机仅使用加速计旋转的方向,android,android-sensors,Android,Android Sensors,所以,现在我正在抓取加速计的数据,并将它们转换成一个相当粗略的角度估计,在手机被持有。现在我只关注偏航轴 我感兴趣的区域是偏航轴上的0到45度,所以我对过去的5到10次读数进行了有限的排队,并比较了这些数字,以确定它是上升还是下降,哪种方式有效,但速度很慢,并不像我希望的那样精确或可靠 有没有一种方法可以让你不用记录过去的读数或类似的东西,只通过加速计和磁场传感器来判断手机的旋转方向?一般来说,我对传感器操作和Android都是新手。任何有助于理解的东西都会很好 现在还不清楚你到底在找什么,位置

所以,现在我正在抓取加速计的数据,并将它们转换成一个相当粗略的角度估计,在手机被持有。现在我只关注偏航轴

我感兴趣的区域是偏航轴上的0到45度,所以我对过去的5到10次读数进行了有限的排队,并比较了这些数字,以确定它是上升还是下降,哪种方式有效,但速度很慢,并不像我希望的那样精确或可靠


有没有一种方法可以让你不用记录过去的读数或类似的东西,只通过加速计和磁场传感器来判断手机的旋转方向?一般来说,我对传感器操作和Android都是新手。任何有助于理解的东西都会很好

现在还不清楚你到底在找什么,位置还是速度。一般来说,您不希望通过对加速度计数据进行积分来获得位置测量。这个计算有很多错误

如果你真的想要你的手机旋转的方向,而不是角度位置,你可以直接从陀螺仪传感器获得,它提供旋转速度。这可以让你从速度中得到它旋转的方向,而不需要存储数据。你应该知道,并不是每部手机都有陀螺仪传感器,但它看起来确实像是新手机一样


如果您想要手机位置的绝对方向,可以使用旋转矢量传感器。这是一种组合式传感器,可一次性自动集成多个传感器的数据,并提供额外的精度。由此,您可以通过一次测量获得横摇俯仰偏航。基本上,您首先要从传感器获取数据。然后将传感器数据用于。您可以使用getOrientation中的输出查看与上一链接相同的页面,该页面将为您显示横摇-俯仰-偏航测量值。您可能需要绕轴旋转一点,以在您想要的方向上获得正测量角度

不,不是一次测量。正如@ChrisStratton所说,你必须进行一次以上的时间测量,并将之前的测量与当前的测量进行比较,以确定δθ。