Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/105.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 在CoreMotion中从地面获取参考姿态(姿态,而不是高度)_Ios_Core Motion - Fatal编程技术网

Ios 在CoreMotion中从地面获取参考姿态(姿态,而不是高度)

Ios 在CoreMotion中从地面获取参考姿态(姿态,而不是高度),ios,core-motion,Ios,Core Motion,我想得到一个基于地面的参考坐标,例如,画地平线 事实上,我可以通过在任何时候获得一个参考态度,并使用multiplyByInverseOfAttitude来获得与之前态度相比的手机旋转来旋转我的观点。那很好 但一开始我就找不到如何让它落地。我主要处于纵向模式,IOS5,并使用cmattitureReferenceFramextrueNorthzVertical(因为我也使用CoreLocation) 我查看了气泡水平仪或茶壶样本(使用加速器),但没有找到简单的答案或样本来解决我的设备运动态度问题

我想得到一个基于地面的参考坐标,例如,画地平线

事实上,我可以通过在任何时候获得一个参考态度,并使用multiplyByInverseOfAttitude来获得与之前态度相比的手机旋转来旋转我的观点。那很好

但一开始我就找不到如何让它落地。我主要处于纵向模式,IOS5,并使用cmattitureReferenceFramextrueNorthzVertical(因为我也使用CoreLocation)

我查看了气泡水平仪或茶壶样本(使用加速器),但没有找到简单的答案或样本来解决我的设备运动态度问题。我可能错过了什么

谢谢。

我自己的答案

事实上,考虑到参考态度的使用,我是错误的。我只需要根据deviceMotion对象中可用的重力计算旋转角度,如下所示:

    double rotation = atan2(dm.gravity.x, dm.gravity.y) - M_PI;

我可以知道你这样计算的旋转角度吗?这是iPhone屏幕相对于地面(地平线)的角度。你有没有办法更新陀螺相对于预定义方向的旋转速率?