如何将 CMRotationmatrix 转到初始位置

How to turn CMRotationmatrix to initial position

我有一个从运动管理器获得的旋转矩阵。它旋转一个物体。现在我想重置旋转,这意味着我按下 iPhone 上的一个按钮,旋转设置回到开始而不将 iPhone 转到开始位置。

我可以通过将旋转矩阵的 m11 到 m33 的初始值保存到一个数组中来实现这一点,然后这样做:(当前位置 m11 到 m33)-(按下重置按钮时的位置 m11 到 m33 - m11 到 m33 的初始位置)。

这会导致当前旋转矩阵具有与初始矩阵相同的值,因此会重置旋转。但是,如果我现在转动 iPhone,则对象的转动结果和旋转矩阵的值一样毫无意义。

那么正确的计算公式是什么/将旋转矩阵回转 x/y/z 的度数与 iPhone 到现在转过的度数的公式是什么?

非常感谢。

答案是取初始变换矩阵并除以每个新的变换矩阵。我的问题是我计算错了。所以看看如何除以矩阵很有帮助。