在Android系统中,旋转向量传感器的值是TYPE_ROTATION_VECTOR,旋转矢量代表设备的方向,是一个将坐标轴和角度混合计算得到的数据。Android旋转向量传感器的具体说明见表10-2。
表10-2 Android旋转向量传感器的具体说明
由表10-1可知,RV-sensor能够输出如下的3个数据。
● x*sin(θ/2)。
● y*sin(θ/2)。
● z*sin(θ/2)。
则sin(theta/2)表示RV的数量级,RV的方向与轴旋转的方向相同,这样RV的3个数值与cos(theta/2)组成一个四元组。而RV的数据没有单位,使用的坐标系与加速度相同。例如下面的演示代码。
GV、LA和RV的数值没有物理传感器可以直接给出,需要G-sensor、O-sensor和Gyro-sensor经过算法计算后得出。
由此可见,旋转向量代表了设备的方位,这个方位结果由角度和坐标轴信息组成,在里面包含了设备围绕坐标轴(x、y、z)旋转的角度θ。例如下面的代码演示了获取默认的旋转向量传感器的方法。(www.xing528.com)
在Android系统中,旋转向量的3个元素等于四元组的后3个部分(cos(θ/2)、x*sin(θ/2)、y*sin(θ/2)、z*sin(θ/2)),没有单位。X、Y、Z轴的具体定义与加速度传感器的相同。旋转向量传感器的坐标系如图10-15所示。
上述坐标系具有如下所示的特点。
● X:定义为向量积Y×Z。它是以设备当前位置为切
点的地球切线,方向朝东。
● Y:以设备当前位置为切点的地球切线,指向地
磁北极。
● Z:与地平面垂直,指向天空。
图10-15 旋转向量传感器的坐标系
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。