java精确(方位)指南针方向Android 3.2平板电脑
亲爱的程序员/脚本编写者/工程师/其他人:
问题: 我目前正在为安卓3.2平板电脑开发增强现实应用程序,在获取准确的指南针读数方面遇到了一些问题。我需要准确地知道平板电脑所面对的(z)方向,从北方测量。不管是度还是弧度
我目前尝试的是:
我用磁强计和加速计来计算角度。它有一个很大的缺点。如果旋转90度,传感器将测量一个更大或更小的角度。即使我身处远离金属或任何磁性物体的开阔区域。即使是磁偏角也不能解决这个问题
使用陀螺仪将是一种选择。我试着测量转速,并将测量的单位存储到一个变量中,以了解确切的视图方向。不过,似乎有一个因素会导致失真。我发现快速旋转会扭曲精确的方向测量。陀螺仪的漂移没那么麻烦。应用程序检查其他传感器是否有任何移动。如果未检测到,则不会考虑陀螺的旋转变化
旋转向量工作正常。它有一些问题,比如陀螺仪。如果你移动缓慢,突然停下来,它会漂走几秒钟。另一个问题是,根据速度和你转了多少圈,快速旋转是不准确的。(你不想知道当我将平板电脑向各个方向摆动时,我的同事是如何看着我的……)
传感器。方向,没什么好说的。由于某些原因,它已被弃用,因此我不会使用它。互联网上的很多例子都在使用这种传感器,它可能与磁力/加速度计组合是一样的
所以我现在没有主意了。你能帮我头脑风暴/解决方案吗? 事先谢谢你,你诚挚的,罗兰
- 编辑1: 我愿意提供我尝试过的代码李>
# 1 楼答案
我总结一下我们的评论: