在stackoverflow中有很多关于如何组合Accelerometer和Gyroscope以检索方位角,俯仰和滚转的例子。
是否可以使用SensorManager.getOrientation()中的旋转矩阵计算设备的偏航/航向?
答案 0 :(得分:0)
SensorManager.getOrientation(float[] R, float[] values)
需要一个旋转矩阵作为输入。输出存储在values
数组中。
values[0]
是方位角/偏航/航向(完全相同)。
由于 SensorManager.getOrientation()
没有旋转矩阵,原始问题的答案为否。
但是,SensorManager.getOrientation()
可以用于提取方位角/偏航/航向(以及俯仰和滚转)来自你从其他地方得到的旋转矩阵。
没有获得输出的神奇方法。您必须使用其中一个内置融合传感器(如旋转矢量),或使用基本传感器(陀螺仪,加速度计,磁力计)实施您自己的解决方案。请注意, 依靠磁力计来确定方位角/偏航/航向,因为其他任何传感器都无法测量方向。