CoreMotion可以测到的各种值

1,CMAccelerometerData

实际包含一个结构体acceleration(类型:CMAcceleration),提供三轴加速度值,如下所示:

typedef struct {

double x;

double y;

double z;

} CMAcceleration;

// A structure containing 3-axis acceleration data.


2,CMGyroData

实际包含一个结构体rotationRate(类型:CMRotationRate),提供三轴角速度值,如下所示:

typedef struct {

double x;

double y;

double z;

} CMRotationRate;

// A structure containing 3-axis rotation rate data.


3,CMMagnetometerData

实际包含一个结构体magneticField(类型:CMMagneticField),提供三轴磁力值,如下所示:

typedef struct {

   double x;

   double y;

   double z;

} CMMagneticField;

// A structure containing 3-axis magnetometer data.


4,CMDeviceMotion

包含下面四种数据:

(1)attitude(类型:CMAttitude)

// Returns the attitude of the device.


(2)rotationRate(类型:CMRotationRate)

// Returns the rotation rate of the device for devices with a gyro.


(3)gravity(类型:CMAcceleration)

// Returns the gravity vector expressed in the device's reference frame. Note that the total acceleration of the device is equal to gravity plus userAcceleration.


(4)userAcceleration(类型:CMAcceleration)

// Returns the acceleration that the user is giving to the device. Note that the total acceleration of the device is equal to gravity plus userAcceleration.



总结:

第1类数据:CMAccelerometerData应该是设备总的加速度数据

第2类数据:CMGyroData 设备的三轴角速度数据

3类数据:CMMagnetometerData设备的三轴磁力数据

第4类数据:CMDeviceMotion 比较特殊:1,重复提供了角速度数据(旋转速率,即陀螺仪的输出);2,把设备总的加速度数据进行了分离(即原始加速度是后面两个的叠加),分离出单纯的重力加速度数据(即重力加速度矢量在当前设备的参考坐标系中的表达,开发中不再需要通过滤波来提取这个信息)和用户加速度数据(不再需要滤波,但根据程序需求而加的滤波算法可以保留);3,提供了设备姿势数据,用于判断手机在当前空间的位置和姿势。


参考:http://www.kunli.info/2010/07/30/motion/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值