3

我想获得基于地面水平的参考 CMAttitude,例如,绘制水平线。

实际上,我可以通过随时获取参考姿态并使用multiplyByInverseOfAttitude 来获得与之前姿态相比的手机旋转来旋转我的视图。没关系。

但我无法找到如何在一开始就获得它。我主要处于纵向模式,IOS5,并使用 CMAttitudeReferenceFrameXTrueNorthZVertical(因为我也使用 CoreLocation)。

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

谢谢。

4

1 回答 1

3

我自己的答案。

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

    double rotation = atan2(dm.gravity.x, dm.gravity.y) - M_PI;
于 2012-06-25T20:25:45.960 回答