在设备未平放地面时查找方位角值-Android?

掌握

我想找到不垂直于地面的设备的方位角。

这是一个已经存在的答案,但对我来说还不完整:

这是关于这个问题的被接受的答案,几乎是相同的。Android上方位/偏航和滚动的方向传感器值不一致

问题:

但是在这个问题中,可接受的答案给出的方位角值在-89到89范围内。我要计算0-359 degree从磁北移动时在range内的方位角值如何在Android Sensors中进行计算?

掌握

找到了答案:

像这样计算方位角:

mAzimuthAngleNotFlat = (int) Math.toDegrees(Math
                    .atan2((rotationMatrix[1] - rotationMatrix[3]), (rotationMatrix[0] + rotationMatrix[4])));

要将其转换为0到359,只需应用以下命令:

    if (mAzimuthAngleNotFlat < 0) {
        mAzimuthAngleNotFlat += 360;
    }

这样就完成了。当设备不平坦时,该角度将是准确的。有关更多信息,您可以查看有关已接受答案的讨论。

Android上方位/偏航和滚动的方向传感器值不一致

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章