我记得在 WWDC 上,有一个演讲展示了 OpenGL ES 中的一个茶壶,它随着设备的移动而旋转。茶壶似乎在太空中静止不动。
当应用程序启动时,茶壶从特定位置开始。然后当设备旋转时,茶壶也会旋转以在空间中静止不动。
在这次演讲中,他们提到我们必须获得“参考框架”,例如在应用启动时,它告诉我们用户最初是如何握住设备的。
例如,这是加速度计轴:
我想知道围绕 Y 轴的旋转,但与用户握持设备的方式有关。因此,当用户将其直立并围绕 Y 旋转时,我需要知道该旋转值。
我认为关键是从读数中消除重力?我还用陀螺仪瞄准 iPhone 4 / 4S,但我认为 CoreMotion 会自动对它们进行传感器融合。
我怎么知道用户围绕 Y 轴旋转了多少设备?