【发布时间】:2010-03-30 15:18:33
【问题描述】:
如果可能的话,我想知道如何获得确定安卓设备位置的航向、俯仰、滚动角度。不要考虑设备相关的细节。参考有用的文档也很有价值。谢谢!
【问题讨论】:
标签: android
如果可能的话,我想知道如何获得确定安卓设备位置的航向、俯仰、滚动角度。不要考虑设备相关的细节。参考有用的文档也很有价值。谢谢!
【问题讨论】:
标签: android
我手头没有精确的解决方案,但全通径解决方案涉及到 TRIAD 算法来组合来自磁力计(罗盘)和加速度计的矢量。 This维基百科文章详细介绍。
从概念的角度来看,考虑问题的最佳方式是加速度计矢量代表“向下”,它定义了设备指向的平面。这架飞机的倾斜会给你“滚动”和“俯仰”。然后,您可以使用磁力计矢量来确定您的设备指向该平面的哪个位置,这将为您提供“航向”。
可以使用一组不错的向量和矩阵/四元数库来实现强大的解决方案,但您应该能够使用三角函数来破解某些东西。希望另一张海报已经这样做了。
编辑:在Android docs 中找到了一些看起来可以提供您想要的东西的东西。您需要从SensorManager 获取一个 TYPE_ORIENTATION 的Sensor 对象。它可以提供方位角、滚动和俯仰。我不知道什么设备提供了这个功能。
【讨论】: