Matrix 在3D中组合多个旋转矩阵
我已经计算了每个轴的旋转角度。如果仅应用三个旋转中的一个,则对象将按预期旋转 如果我乘以旋转矩阵,你通常会这样做,如果你结合旋转,我不会得到想要的结果,因为第一个旋转会影响其他旋转,因此最终结果不是我想要的 我希望将每次旋转应用于对象,就像它以前没有旋转一样 我想这是一个简单的任务,但似乎我没有搜索正确的关键字。(标题也不完美…(开放供建议))Matrix 在3D中组合多个旋转矩阵,matrix,3d,rotation,transformation,Matrix,3d,Rotation,Transformation,我已经计算了每个轴的旋转角度。如果仅应用三个旋转中的一个,则对象将按预期旋转 如果我乘以旋转矩阵,你通常会这样做,如果你结合旋转,我不会得到想要的结果,因为第一个旋转会影响其他旋转,因此最终结果不是我想要的 我希望将每次旋转应用于对象,就像它以前没有旋转一样 我想这是一个简单的任务,但似乎我没有搜索正确的关键字。(标题也不完美…(开放供建议)) 感谢您的每一个提示/帮助。旋转矩阵的合成并不是一件小事。我建议将旋转矩阵表示为。四元数具有非常有用的性质。将两个四元数相乘将得到第三个四元数,将其转换为
感谢您的每一个提示/帮助。旋转矩阵的合成并不是一件小事。我建议将旋转矩阵表示为。四元数具有非常有用的性质。将两个四元数相乘将得到第三个四元数,将其转换为矩阵形式,即两个输入矩阵的精确组合。我认为
Boost
库中有这方面的代码,但我个人没有使用过
编辑:可以从(标准化的)轴向量和旋转角度获得旋转矩阵。看看你在维基百科上的经历。这不是一道数学题,这是一个逻辑谬误。为了便于描述,请尝试使用您的手机:
方向通常直接存储为矩阵或四元数,因为它是明确的,并且可以使操作的顺序保持正确的顺序。我使用的库提供了四元数。那部分就完成了;)。所以我必须用三个向量的叉积来得到我要找的四元数表示?我想这和乘以旋转矩阵是一样的?@user2479595您应该能够初始化每个轴的旋转。通常,轴向量和旋转角度足以得到旋转矩阵。一旦你有了3个矩阵,你就可以把它们表示成四元数,把它们相乘,然后把结果表示成另一个旋转矩阵。你不妨看看汤米的答案。我知道顺序很重要,我现在的问题不是万向节锁。我知道我不能直接使用我的三个旋转。问题是如何修改它,以便我可以使用它们。根据我的回答:如果你所拥有的只是“围绕x旋转x度,围绕y旋转y度,围绕z旋转z度”,那么就没有一个“正确”的最终方向。不管你是否能认出它,这正是所谓的万向节锁的问题。但必须有一个是描述我所寻找的。必须有一种方法来改变我当前的价值观。