如何在iPhone OpenGL ES中使用glRotatef()反转旋转?

如何在iPhone OpenGL ES中使用glRotatef()反转旋转?,iphone,opengl-es,Iphone,Opengl Es,我尝试在正交模式下以正向(逆时针)和反向(顺时针)旋转方向旋转三维模型。glRotatef()自动执行正向旋转,但我无法获得反向旋转。我尝试过以下方法,但没有一种能给我带来效果: //(Provide a negative rotation angle of -1 degree) glrotatef(-1.0, 0.0, 1.0, 0.0); //(Set a negative axis) glrotatef(1.0, 0.0, -1.0, 0.0); 这是Op

我尝试在正交模式下以正向(逆时针)和反向(顺时针)旋转方向旋转三维模型。glRotatef()自动执行正向旋转,但我无法获得反向旋转。我尝试过以下方法,但没有一种能给我带来效果:

   //(Provide a negative rotation angle of -1 degree)
    glrotatef(-1.0, 0.0, 1.0, 0.0);

    //(Set a negative axis)
    glrotatef(1.0, 0.0, -1.0, 0.0);

这是OpenGL ES 1.1中的一个限制吗?如何在OpenGL ES中获得反向(顺时针)旋转?

尝试359度的角度。

尝试359度的角度。

您的代码正在两次执行相同的操作。如果将角度保持在-1.0,并反转旋转轴,则将以另一种方式旋转。或者,如果将旋转轴单独放置,并对角度求反,则也会以另一种方式旋转。相反,你否定了旋转角度并反转了旋转轴,所以你最终做了两次同样的事情


你还应该记住高中几何,角度是什么。这就是为什么旋转359度与旋转-1度相同

您的代码两次执行相同的操作。如果将角度保持在-1.0,并反转旋转轴,则将以另一种方式旋转。或者,如果将旋转轴单独放置,并对角度求反,则也会以另一种方式旋转。相反,你否定了旋转角度并反转了旋转轴,所以你最终做了两次同样的事情


你还应该记住高中几何,角度是什么。这就是为什么旋转359度与旋转-1度相同

因为360度的旋转会让你精确地离开你开始的地方。359度比一个完整的旋转少一度,因为360度的旋转会让你精确地离开你开始的地方。359度比完全旋转少一度。