现在的位置: 首页 > 综合 > 正文

OpenGL ES之glRotatef旋转详解 OpenGL ES之glRotate函数

2018年05月05日 ⁄ 综合 ⁄ 共 502字 ⁄ 字号 评论关闭

      glRotatef函数的API中文参考文档请看:OpenGL
ES之glRotate函数

      void glRotatef(GLfloat angle,  GLfloat x,  GLfloat y,  GLfloat z);

      其中,angle为旋转的角度,单位为度.重点是x,y,z表达的是什么意思呢?应该如何取值?

      如果说x,y,z表达的是一个坐标(x,y,z),那么这个函数就说明了当前几何图形围着这个坐标点旋转,但往哪个方向旋转呢?所以很明显,x,y,z表达的意思并不是坐标点,而是要围绕哪个坐标轴旋转.即其实这里的x,y,z值相当于一个布尔值,0.0表示假,而非零参数则表示真。所以如果你想让当前的几何图形围绕着z轴旋转,那么x和y都设为0,而z设为非零值即可。如果这里的x,y,z的值都设置为0.0,那么将围绕着x轴旋转。还有一点需要注意,如果设置的旋转值(x,y,z的值)为正数,那么旋转的方向是逆时针的,如果旋转值是负数,那么旋转的方向是顺时针的。

      OpenGL ES是基于浮点运算的,iPhone有专门的浮点运算器,所以,要习惯OpenGL ES中使用浮点数的表达方式。

抱歉!评论已关闭.