iphone - 核心动作(相对旋转)

Spa*_*Dog 5 iphone core-motion

有没有办法从核心运动中获得相对旋转?

我需要的是:它在一个轴和哪个方向上旋转多少(+符号=逆时针, - =顺时针,根据右手规则).

我找到了属性rotationRate,但我现在确定如何从中提取角度,因为这给了我每秒弧度.

我在最后几天做了各种各样的事情,但没有什么能给我稳定的价值观.我曾尝试使用NSTimer进行核心运动数据的定时采样,并计算两个样本之间的差异,因此我会调整自上次采样以来旋转了多少,但有时会给我疯狂的数字,如13600度即使iPhone正在桌子上休息.

有关如何实现这一点的任何想法?

谢谢

Mat*_*ing 7

的确有.您可以通过深入了解CMMotionManager的属性,通过CMDeviceMotion,最后到CMAttitude来获得您正在寻找的内容.设备的态度定义为:

身体相对于给定参照系的方向.

在DeviceMotion的CMAttitude的情况下,该框架在启动设备运动更新时由框架建立.从那个时间点开始,相对于该参考帧(不是相对于前一帧)报告设备的姿态.

CMAttitude类提供了一些方便的内置功能,可将CMAttitude转换为实际上对某些内容有用的形式,如Euler Angles,旋转矩阵或四元数.你听起来像是在寻找欧拉角表示(Pitch,Yaw,Roll).