C ++四元数旋转无法按预期工作

时间:2016-11-27 00:42:30

标签: c++ opengl rotation glut quaternions

我正在尝试使用四元数围绕其中一个轴旋转模型 例如Y. 我正在使用这个算法,非常简单 轴=(0,1,0) 角度+ = 0.01f(辐射)

for fname in *.mp3; do mv "$fname" "${fname/./_}"; done

它可能适用于前60度(编辑:它可能是90,说实话)而不是模型只是表现得奇怪并且在其中心伸展。我正在使用GLUT和c ++

这是我用来将它再次转换为矩阵而不是在模型视图透视矩阵中使用它的方法。 我做了一些调试,数学似乎没问题,我可能遗漏了一些明显的东西(新的四元数)

.mp3

希望你能帮助我,对不起,如果这是一个愚蠢的问题 提前谢谢。

1 个答案:

答案 0 :(得分:3)

四元数的实部也应该使用半角:

quat.w = cos(angle / 2.0);