是否有现成的公式可以从iPhone3GS'获得俯仰/滚动值;s加速计';s X/Y/Z?

是否有现成的公式可以从iPhone3GS'获得俯仰/滚动值;s加速计';s X/Y/Z?,iphone,camera,accelerometer,angle,pitch,Iphone,Camera,Accelerometer,Angle,Pitch,刚开始实现一个基于增强现实的项目,得到了GPS位置、航向,而操纵虚拟摄像机缺少的两个变量是俯仰/滚动 我想知道是否有一个现成的公式,我可以合并到该项目中。我可以抽出很多时间。提前感谢。我认为iphone加速计将回答您的大多数问题,包括示例代码。我从那时起就开始研究这个问题,因此可以在这里阅读有关解决方案的详细帖子: 在处,您可以通过CMMotionManager访问设备旋转,该管理器根据原始数据(加速计、陀螺仪等)计算弧度。确保启用传感器更新: if (motionMng.deviceMoti

刚开始实现一个基于增强现实的项目,得到了GPS位置、航向,而操纵虚拟摄像机缺少的两个变量是俯仰/滚动


我想知道是否有一个现成的公式,我可以合并到该项目中。我可以抽出很多时间。提前感谢。

我认为iphone加速计将回答您的大多数问题,包括示例代码。

我从那时起就开始研究这个问题,因此可以在这里阅读有关解决方案的详细帖子:


在处,您可以通过
CMMotionManager
访问设备旋转,该管理器根据原始数据(加速计、陀螺仪等)计算弧度。确保启用传感器更新:


if (motionMng.deviceMotionAvailable && !motionMng.deviceMotionActive) {
    motionMng.deviceMotionUpdateInterval = 1.0 / 50.0;
    [motionMng startDeviceMotionUpdates];
}
然后通过查询
姿态
对象访问旋转–
俯仰
(x)、
滚动
(y)和
偏航
(z)–


CMDeviceMotion *motion = [motionMng deviceMotion];

if (motion != NULL) {

    float pitch = motion.attitude.pitch;
    float roll = motion.attitude.roll;
    float yaw = motion.attitude.yaw;

    NSLog(@"ROTATION: x:%f y:%f z:%f", pitch, roll, yaw);
}

哦,简单地说,俯仰=加速度,横摇=加速度。加速度z分量告诉我设备是否有点颠倒。这一个将帮助我以某种方式创建“360度自由相机”。谢谢你,吉勒斯。