CMMotionManager加速度和陀螺仪

本文介绍了如何利用Core Motion框架中的CMMotionManager来获取设备的加速度、重力分布、旋转速率以及设备的yaw、pitch、roll等信息。详细阐述了各属性的意义,并提供了示例代码展示如何实时更新并显示这些数据。
摘要由CSDN通过智能技术生成

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(俯仰)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值