Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ c++;opengl glm联合旋转_C++_Opengl_Glm Math - Fatal编程技术网

C++ c++;opengl 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

假设我想在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 = rotate( mat4( 1.0f ), rotation.z, vec3( 0.0f, 0.0f, 1.0f ) );

return zRotation * yRotation * xRotation;

但是结果的旋转是奇怪的。

结果如何是奇怪的?似乎旋转在某个轴上是反向的,但问题不在于旋转组合。不要忘记你是围绕局部轴旋转的,当围绕x轴旋转时,y轴也会旋转。