代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
ObjC
】
陀螺仪CoreMotion的用法
作者:
宝清
/ 发布于
2014/11/17
/
546
以前在iphone中要得到加速度时,只能使用Accelerometer模块得到重力加速度分量,然后通过滤波得到加速度值。其实在ios中有一个陀螺仪模块,CoreMotion,使用更方便。
//初始化CoreMotion #import <CoreMotion/CoreMotion.h> CMMotionManager *motionManager = [[CMMotionManager alloc]init]; //1. Accelerometer 获取手机加速度数据 CMAccelerometerData *newestAccel = motionManager.accelerometerData; double accelerationX = newestAccel.acceleration.x; double accelerationY = newestAccel.acceleration.y; double accelerationZ = newestAccel.acceleration.z; //2. Gravity 获取手机的重力值在各个方向上的分量,根据这个就可以获得手机的空间位置,倾斜角度等 double gravityX = motionManager.deviceMotion.gravity.x; double gravityY = motionManager.deviceMotion.gravity.y; double gravityZ = motionManager.deviceMotion.gravity.z; //获取手机的倾斜角度: double zTheta = atan2(gravityZ,sqrtf(gravityX*gravityX+gravityY*gravityY))/M_PI*180.0; double xyTheta = atan2(gravityX,gravityY)/M_PI*180.0; //zTheta是手机与水平面的夹角, xyTheta是手机绕自身旋转的角度 //3. DeviceMotion 获取陀螺仪的数据 包括角速度,空间位置等 //旋转角速度: CMRotationRate rotationRate = motionManager.deviceMotion.rotationRate; double rotationX = rotationRate.x; double rotationY = rotationRate.y; double rotationZ = rotationRate.z; //空间位置的欧拉角(通过欧拉角可以算得手机两个时刻之间的夹角,比用角速度计算精确地多) double roll = motionManager.deviceMotion.attitude.roll; double pitch = motionManager.deviceMotion.attitude.pitch; double yaw = motionManager.deviceMotion.attitude.yaw; //空间位置的四元数(与欧拉角类似,但解决了万向结死锁问题) double w = motionManager.deviceMotion.attitude.quaternion.w; double wx = motionManager.deviceMotion.attitude.quaternion.x; double wy = motionManager.deviceMotion.attitude.quaternion.y; double wz = motionManager.deviceMotion.attitude.quaternion.z; //通过陀螺仪模块可以实现模拟赛车,模拟射击等。
试试其它关键字
陀螺仪
CoreMotion
同语言下
.
根据生日计算星座
.
精简的实现一个内存池
.
iOS索引搜索核心代码
.
iOS 搜索框
.
文件操作
.
UIWebView 加载本地网页
.
取消导航条对视图的影响
.
利用终端显示 隐藏文件
.
更改导航条背景颜色
.
iOS 字体斜体
可能有用的
.
C#实现的html内容截取
.
List 切割成几份 工具类
.
SQL查询 多列合并成一行用逗号隔开
.
一行一行读取txt的内容
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
Java PDF转换成图片并输出给前台展示
.
网站后台修改图片尺寸代码
.
处理大图片在缩略图时的展示
宝清
贡献的其它代码
(
78
)
.
Java 获取Linux 的IP地址
.
FTP服务器上的文件上传、下载、删除操作
.
监听IE文档加载完成、弹窗、JS弹窗、页面跳转
.
防盗链
.
Hive 典型的中表内数据除重写法
.
判断一个时间段内有多少个周末
.
生成验证码
.
ServiceHelper-Windows服务辅助类
.
IE 6下修复PNG格式的透明度
.
居中对齐并设置固定宽度
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3