四元数旋转opengl

Posted

技术标签:

【中文标题】四元数旋转opengl【英文标题】:Quaternion rotation opengl 【发布时间】:2011-11-27 14:03:47 【问题描述】:

如果我创建一个quaternion,它代表例如玩家的方向和围绕这个旋转的角度。因此,对于应用程序,我打算让飞机飞行。四元数将代表玩家的方向和围绕该方向的角度。

然后我的问题是我如何在程序中旋转对象我将玩家四元数转换为矩阵然后用 glMultMatrix 这个?

如果这一切都很好,如果我的理论是正确的,有人可以发布我的理论是否正确,如果不发布我应该阅读的源材料或一些关于我应该做什么的好理论。

【问题讨论】:

有什么理由不直接使用欧拉角/旋转矩阵吗? @MichaelDorgan 万向节锁。 【参考方案1】:

我希望我能正确理解这个问题。

一个四元数,例如代表一个玩家的方向和围绕这个旋转的角度

是的,一个单位长度的四元数代表一个方向,可以解释为一个轴角对。从轴角制作四元数很简单。

我如何在程序中旋转对象,我是否将玩家四元数转换为矩阵,然后用 glMultMatrix 这个?

这是一种方法,是的。

这是一个很好的数学资源(包括解释和方程式):

http://content.gpwiki.org/index.php/OpenGL:Tutorials:Using_Quaternions_to_represent_rotation

【讨论】:

以上是关于四元数旋转opengl的主要内容,如果未能解决你的问题,请参考以下文章

将四元数旋转转换为旋转矩阵?

C ++ / openGL:使用四元数将QUAD旋转到一个点

c++ 四元数澄清

围绕绝对世界轴检索四元数角度

我的OpenGL学习进阶之旅关于欧拉角旋转顺序旋转矩阵四元数等知识的整理

我的OpenGL学习进阶之旅关于欧拉角旋转顺序旋转矩阵四元数等知识的整理