Phone 相对于帧初始参考的加速度 iOS

Phone acceleration relative to initial reference of frame in iOS

我能以某种方式随时获得相对于帧初始参考的加速度矢量吗? (我的意思是:xArbitraryZVertical 模式下的帧参考,我第一次得到 Core Motion 数据) 我试图做什么: 每次我得到 CM 数据时,我都会将新的旋转矩阵(位于姿态 属性)乘以旧的旋转矩阵(我在前面的步骤中通过一遍又一遍地乘以旋转矩阵得到的矩阵)并将其乘以加速度向量。 但这似乎不起作用。 也许这是一个有点愚蠢的问题,抱歉,但我真的不知道该怎么做。也许有更简单的方法来做到这一点?

  1. 重复轮询运动管理器的 deviceMotion

  2. 每次收到nil,return什么都不做。

  3. 第一次收到非零结果时,将其态度保存到一个实例属性。

  4. 每次收到非零结果时,调用 multiply(byInverseOf:) 其态度,并将存储的态度作为参数。结果是态度从原来的改变