iPhone倾斜角度 - 使用陀螺仪?

时间:2012-07-23 13:45:39

标签: ios angle gyroscope pitch

我想知道iPhone在倾斜时倾斜了多少度 - 也就是说,如果我指出iPhone,我想知道它看多少度?我认为我可以使用陀螺仪和核心运动,我认为它是音高,但是,音高是“速度”以弧度/秒为单位。我对用户移动iPhone的速度并不感兴趣,我只对倾斜角度感兴趣。所以如果我指着手机拍照,我想知道指向的角度 - 任何想法?

谢谢。

1 个答案:

答案 0 :(得分:8)

陀螺仪数据以弧度/秒为单位,但您要查找的是CMMotionManager.attitude属性。它以弧度表示相对于某个参照系的物体的态度。

创建类变量motionManager和init:

 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);
}

这些是Euler Angles,您还可以选择获取rotationMatrix或四元数格式。每个都有各自的优缺点。