您的位置:首页 > 其它

关于OGL旋转函数glRotate参数的理解

2013-12-27 21:44 351 查看
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中使用浮点数的表达方式。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: