方向和运动数据详解

安全上下文:此功能仅在安全上下文(HTTPS)中可用,在某些或所有支持的浏览器中可用。

在使用方向和运动事件时,了解浏览器提供的值的含义非常重要。本文详细介绍了相关的坐标系以及如何使用它们。

关于坐标系

坐标系是一个系统,其中三个轴(X、Y 和 Z)的方向相对于某个对象定义。在使用方向和运动事件时,需要考虑两个坐标系

地球坐标系

地球坐标系是固定在地球中心的坐标系;也就是说,轴线根据重力拉力和标准磁北方向对齐。我们使用大写字母(“X”、“Y”和“Z”)来描述地球坐标系的轴线。

  • X 轴沿着地面平面,垂直于 Y 轴,正方向朝东(因此负方向朝西)。
  • Y 轴沿着地面平面,正方向朝正北(即北极,而非磁北)方向,负方向朝正南方向。
  • Z 轴垂直于地面平面;可以将其想象成设备与地球中心之间的一条线。Z 坐标的值向上为正(远离地球中心),向下为负(朝向地球中心)。

设备坐标系

设备坐标系是固定在设备中心的坐标系。我们使用小写字母(“x”、“y”和“z”)来描述设备坐标系的轴线。

Drawing representing three axes of a mobile device

  • x 轴位于屏幕平面内,正方向朝右,负方向朝左。
  • y 轴位于屏幕平面内,正方向朝上,负方向朝下。
  • z 轴垂直于屏幕或键盘,正方向从屏幕向外延伸。

注意:在手机或平板电脑上,设备的方向始终相对于屏幕的标准方向来考虑;这在大多数设备上是“纵向”方向。在笔记本电脑上,方向相对于键盘来考虑。如果要检测设备方向的变化以便进行补偿,可以使用change 事件。

关于旋转

旋转相对于任何给定轴线以设备坐标系与地球坐标系之间的度数差来描述,并以度为单位进行测量。

Alpha

绕 z 轴旋转——即旋转设备——会导致alpha 旋转角度发生变化

Positive alpha rotates the device counter-clockwise.

当设备顶部直接指向地球北极时,alpha 角为 0°,并且随着设备逆时针旋转而增加。因此,90° 对应于指向西,180° 对应于指向南,270° 对应于指向东。

Beta

绕 x 轴旋转——即使设备远离或朝向用户倾斜——会导致beta 旋转角度发生变化

Positive beta pitches the device forward toward the user.

当设备的顶部和底部与地球表面的距离相同时,beta 角为 0°;随着设备向前朝向用户倾斜,它增加到 180°,并且随着设备向后远离用户倾斜,它减少到 -180°。

Gamma

绕 y 轴旋转——即使设备向左或向右倾斜——会导致gamma 旋转角度发生变化

Positive gamma tilts the devices toward the right.

当设备的左侧和右侧与地球表面的距离相同时,gamma 角为 0°,并且随着设备向右倾斜增加到 90°,随着设备向左倾斜增加到 -90°。