作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想知道 iPhone 直立时倾斜多少度 - 也就是说,如果我将 iPhone 朝上,我想知道它向上看多少度?我认为我可以为此使用陀螺仪和核心运动,我认为我想要的是俯仰,但是,俯仰是一种“速率”以弧度/秒为单位。我对用户移动 iPhone 的速度有多快并不感兴趣,我只对倾斜角度感兴趣。因此,如果我将手机指向上方拍照,我想知道指向上方的角度 - 有什么想法吗??
谢谢。
最佳答案
陀螺仪数据以弧度/秒为单位,但您要查找的是 CMMotionManager.attitude 属性。它以弧度显示对象相对于某个引用系的姿态。
创建类变量 motionManager 并初始化:
motionManager = [[CMMotionManager alloc] init];
motionManager.deviceMotionUpdateInterval = 0.1f;
[motionManager startDeviceMotionUpdatesToQueue:[NSOperationQueue currentQueue] withHandler:^(CMDeviceMotion *motion, NSError *error) {
[self processMotion:motion];
}];
处理更新,您正在寻找音调,但在此示例中,它将向您显示所有三个值,以便您可以尝试并决定您需要什么:
-(void)processMotion:(CMDeviceMotion*)motion {
NSLog(@"Roll: %.2f Pitch: %.2f Yaw: %.2f", motion.attitude.roll, motion.attitude.pitch, motion.attitude.yaw);
}
这些是欧拉角,您还可以选择获取旋转矩阵或四元数格式。每个都有自己的优点和缺点。
关于ios - iPhone 倾斜角度 - 使用陀螺仪?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11613811/
我是一名优秀的程序员,十分优秀!