我正在为一个物体的旋转而苦苦挣扎。我想用这个小程序来说明我的 AR Drone 2.0 中的陀螺仪读数。也许你想先看这个短片:http: //youtu.be/HvrLS8Olr2c
滑块用于 x,y,z 旋转,通过
glRotatef(rotationX, x_vect.x, x_vect.y, x_vect.z);
glRotatef(rotationY, y_vect.x, y_vect.y, y_vect.z);
glRotatef(rotationZ, z_vect.x, z_vect.y, z_vect.z);
其中值是:
Vector x_vect = {1.0f, 0.0f, 0.0f};
Vector y_vect = {0.0f, 1.0f, 0.0f};
Vector z_vect = {0.0f, 0.0f, 1.0f};
您可以从这里下载这个小应用程序的完整源代码:http: //ablage.stabentheiner.de/2013-01-21_openglimportmodel.zip
问题是,如果你先旋转 Y 轴,然后尝试使用 X 滑块,它不会旋转它应该做的轴(参见 C4D 动画进行比较)。我认为这是因为我先执行 X 旋转,然后执行 Y 旋转。交换代码行并不能解决问题,而是将其推到另一个轴上。