问题本身很简单。使用 CMDeviceMotion 运动时,它包含一个名为姿态的对象,其类型为 CMAttitude,其中包含滚动和俯仰。滚动和俯仰描述了对象围绕 Y 轴和 X 轴的旋转。当 iPhone 放在桌子上且显示屏朝上时,roll 和 pitch 均为 0。当 iPhone 绕 Y 或 X 轴旋转时,这些值会更新。
我想知道这些值是如何计算的。有一种方法可以根据设备的当前重力矢量计算滚动和俯仰。音高似乎是:pitch = -asin(motion.gravity.y)但我不知道如何计算滚动。
谢谢你的帮助