1.手机的坐标图
Core Motion运动管理器让您能够指定从加速计和陀螺仪那里接收更新的频率(单位为秒),还让您能够直接指定一个处理程序块(handle block),每当更新就绪时都将执行该处理程序块。
实际加速度在Core Motion里被分解成了两部分:Gravity和UserAcceleration。Gravity代表重力1g在设备的分布情况,UserAcceleration代表设备运动中的加速度分布情况。将这两者相加就等于实际加速度。Gravity的三个轴所受的重力加起来始终等于1g,而UserAcceleration取决于单位时间内动作的幅度大小。
CMRotationRate的X,Y,Z分别代表三个轴上的旋转速率,单位为弧度/秒。旋转速度为1弧度/秒,意味着设备每秒旋转半圈。这里复习一下弧度与角度的转换:
1角度 = π/180 弧度
1弧度 = 180/π角度
360角度 = 360 * π/180 = 2π弧度 = 一整圈
CMAttitude的三个属性Yaw,Pitch和Roll分别代表左右摆动、俯仰以及滚动。可以将设备想象成一架飞机,下面的gif图演示了各种运动状态:
Yaw的运动状态:
Pitch的运动状态:
Roll的运动状态
CMMotionManager常用的属性
CMAttitude的三个属性Yaw,Pitch和Roll分别代表左右摆动、俯仰以及滚动。它的大小跟速度没有关系只跟位置有关。
motionManager.attitude.yaw(左右摆动)
motionManager.attitude.pitch(俯仰)