C++ c++;opengl glm联合旋转
假设我想在x轴上旋转30°,然后在y轴上旋转60°,如何使用glm实现这一点 我试着把它们结合起来:C++ c++;opengl glm联合旋转,c++,opengl,glm-math,C++,Opengl,Glm Math,假设我想在x轴上旋转30°,然后在y轴上旋转60°,如何使用glm实现这一点 我试着把它们结合起来: mat4 xRotation, yRotation, zRotation; xRotation = rotate( mat4( 1.0f ), rotation.x, vec3( 1.0f, 0.0f, 0.0f ) ); yRotation = rotate( mat4( 1.0f ), rotation.y, vec3( 0.0f, 1.0f, 0.0f ) ); zRotation = r
mat4 xRotation, yRotation, zRotation;
xRotation = rotate( mat4( 1.0f ), rotation.x, vec3( 1.0f, 0.0f, 0.0f ) );
yRotation = rotate( mat4( 1.0f ), rotation.y, vec3( 0.0f, 1.0f, 0.0f ) );
zRotation = rotate( mat4( 1.0f ), rotation.z, vec3( 0.0f, 0.0f, 1.0f ) );
return zRotation * yRotation * xRotation;
但是结果的旋转是奇怪的。结果如何是奇怪的?似乎旋转在某个轴上是反向的,但问题不在于旋转组合。不要忘记你是围绕局部轴旋转的,当围绕x轴旋转时,y轴也会旋转。