【发布时间】:2022-04-05 16:55:13
【问题描述】:
我在 ARKit 中有一个节点,我在某个时间点注册了它的旋转。 稍后,我再次注册节点的当前旋转,我需要知道这两者之间的区别。
我需要simdRotation 格式的这个,因为我需要将它注入simdPivot,然后相应地转动我的节点。所以我需要旋转轴的角度和矢量。 (所以我会将这个 simdRotation 变成一个旋转矩阵,并与平移一起,将它提供给 simdPivot - 我知道该怎么做)。
我一直在尝试很多不同的东西,但我找不到如何计算这种差异,也找不到任何文档或网站解释如何实现这一点。
我尝试过使用simdEulerAngles 或simdOrientation。
我找到了一种将 eulerAngles 转换为方向四元数的方法。但是从这里我不知道如何将其转换回旋转格式。
我需要在我的代码中的 2 个地方执行此操作。在一个地方,我需要所有 3 个方向的旋转差异,而在第二个地方,我只需要围绕 y 轴的旋转差异。
那么找到 2 次旋转之间差异的正确方法是什么? 我觉得它一定比我现在看起来要简单得多。 也许我可以将两者都转换为旋转矩阵,并且从这里有一个明确的公式?
任何帮助将不胜感激! 谢谢。
【问题讨论】: