首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >组合四元数旋转矩阵与旋转矩阵的区别

组合四元数旋转矩阵与旋转矩阵的区别
EN

Stack Overflow用户
提问于 2015-05-12 16:34:31
回答 1查看 1K关注 0票数 1

合并两个四元数旋转的结果是否与两个矩阵的结果相同,然后将其转换为四元数?

我有一个四元数(q1)和旋转矩阵(m2)作为函数的输入(不幸的是,这是不可协商的),并且希望通过矩阵旋转初始的四元数,从而产生一个新的四元数。我已经尝试了几种方法来做到这一点,并取得了一些奇怪的结果。

如果将q1转换为矩阵(m1),计算m2.m1并将结果转换为四元数,则得到可能的四元数结果。然而,如果我使用完全相同的函数将m2转换为四元数,并将它们相乘(在这两种顺序中,我知道这是非交换的),则得到完全不同的结果。我想实现四元数的组合,这样我最终可以从当前的四元数到结果。

所有的函数都是从这里来的:http://www.euclideanspace.com/maths/geometry/rotations/conversions/matrixToQuaternion/index.htm,并正在用c++和mathematica进行测试。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-12 21:11:52

3x3旋转矩阵和单位四分位数之间有着精确的对应关系,直到四分位数的符号变化(在三维向量上执行旋转时,这个符号是无关的)。

这意味着,给定两个四分子,q1q2,及其相应的矩阵m1m2,四分子在向量v上的作用与矩阵在v上的作用相同。

代码语言:javascript
复制
q2*(q1*v*(q1^-1))*(q2^-1) = m2*m1*v

如果您的程序没有使用任意向量v实现此结果,那么您的公式中可能会有错误。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30196706

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档