我可以随时以某种方式获得相对于框架初始参考的加速度矢量吗? (我的意思是:在我第一次获得Core Motion数据时,以xArbitraryZVertical模式引用帧) 我试图做的是: 每次获得CM数据时,我都会将新的旋转矩阵(位于姿态属性中)乘以旧的旋转矩阵(通过旋转矩阵乘以一遍,在先前步骤中获得的矩阵),再乘以加速度矢量。 但这似乎不起作用。 也许这是一个愚蠢的问题,对不起,但是我真的不知道该怎么做。也许有一种更简单的方法可以做到这一点?
答案 0 :(得分:1)
反复轮询运动管理器的deviceMotion
。
每次您收到nil
时,不做任何事情就返回。
第一次收到非零结果时,请将其态度保留给实例属性。
随后每次您收到非零结果时,请以其态度调用multiply(byInverseOf:)
,并以存储的态度作为参数。结果是态度从原始状态发生了变化。