我看到这段代码使用手机传感器获取设备沿3个轴的方向角度,这个值是从一个名为旋转矩阵的4x4矩阵计算出来的。那么我想知道旋转矩阵中存储了什么类型的数据?
该代码类似于以下示例中的代码: Android: Problems calculating the Orientation of the Device
该代码类似于以下示例中的代码: Android: Problems calculating the Orientation of the Device
维基百科中关于旋转矩阵的文章是合理的。简单来说,旋转矩阵告诉您如何将一个坐标系中的点映射到另一个坐标系中的点。在Android传感器的上下文中,旋转矩阵告诉您如何将一个点从手机的坐标系(其中手机本身位于x-y平面)映射到现实世界的北/东/“重力方向”坐标系。
Android使用3x3或4x4旋转矩阵。当使用4x4矩阵时,它是旋转的四元数表示。对于3x3情况,以欧拉角的方位角、俯仰角和横滚角表示,请参见我对“使用磁场计算旋转矩阵”的问题的回答,了解这些角度嵌入旋转矩阵的方式(注意:该问题的被接受的答案是错误的),链接:my answer to 'Compute rotation matrix using the magnetic field'。