134得票9回答
为什么四元数被用于旋转?

我是一名物理学家,正在学习编程。我发现很多人在旋转中使用四元数,而不是矩阵/向量形式。然而,在物理学中,我们没有使用四元数的很好的理由(尽管有时会讲述关于Hamilton/Gibbs等的离奇故事)。物理要求我们的描述具有良好的解析行为,但四元数并不具备这种好的性质,所以它们不太实用。相反,矢量...

132得票11回答
寻找表示从一个向量旋转到另一个向量的四元数

我有两个向量u和v。是否有一种方法可以找到表示从u旋转到v的四元数?

70得票15回答
多个四元数的“平均值”是什么?

我正在尝试在我的OpenGL程序中将骨架动画的矩阵转换为四元数,但是我遇到了一个问题: 给定一些单位四元数,我需要获得一个四元数,用它来变换一个向量,使得变换后的向量是每个四元数分别变换后向量的平均值。(对于矩阵,我只需要将矩阵相加并除以矩阵数量即可)

48得票5回答
绕轴旋转的四元数旋转部件

我在这个主题上找不到任何好的信息。基本上,我想找到一个四元数旋转的组成部分,它围绕着给定的轴(不一定是X、Y或Z - 任意单位向量)旋转。有点像将四元数投影到矢量上。因此,如果我要求绕某个与四元数轴平行的轴旋转,我会得到相同的四元数。如果我要求绕四元数轴正交的轴旋转,我会得到一个单位四元数。中...

41得票6回答
从四元数中提取偏航角

我有一个旋转四元数,想提取绕上方向轴(偏航)的旋转角度。我正在使用XNA,据我所知,它没有内置的函数可以实现这一点。如何最好地完成此操作? 谢谢任何帮助, Venatu

33得票8回答
将四元数旋转转换为欧拉角旋转的算法存在吗?

是否有一种现有的算法,可以将四元数表示的旋转转换为欧拉角表示?欧拉表示的旋转顺序已知,并且可以是六个排列中的任何一个(即xyz、xzy、yxz、yzx、zxy、zyx)。我见过针对固定旋转顺序(通常是NASA航向、俯仰和滚动约定)的算法,但没有针对任意旋转顺序的算法。 此外,由于单个方向存在...

28得票2回答
两个四元数之间的“差异”

我在使用Ogre工具,但是遇到了一个通用的四元数问题。 我有一个物体,最初应用了一个旋转四元数Q1。后来,我想让它看起来就像最初将对象按不同的四元数Q2进行了旋转。 我应该如何计算四元数,以便将已经通过Q1旋转的对象与Q2的初始/默认方向相对齐?我在研究(s)lerping算法,但我不确定...

27得票8回答
C/C++中的四元数库

有没有适用于C/C++的四元数计算库? 另外注意:是否有好的教程/示例?我已经谷歌搜索并浏览了前几页,但也许您有来自计算机科学或数学课程的示范/实验可以分享吗? 谢谢。

27得票5回答
两个四元数之间的区别

已解决 我正在制作一个引擎中的3D传送门系统(类似于Portal游戏)。每个传送门都有其保存在四元数中的自身方向。为了在其中一个传送门中呈现虚拟场景,我需要计算两个四元数之间的差异,并将结果用于旋转虚拟场景。 当在左墙上创建第一个传送门和右墙上创建第二个传送门时,从一个传送门到另一个传...

27得票6回答
四元数与归一化

我知道如果要旋转一个向量,四元数需要被归一化。 但是是否存在不自动归一化四元数的原因?如果存在,哪些四元数操作会导致非归一化的四元数呢? 两个四元数相乘? 点积? 抱歉,如果问题有些含糊。我仍在努力理解四元数。