glRotated参数
时间: 2023-10-11 15:05:28 浏览: 31
glRotated 是 OpenGL 中的一个函数,用于在三维空间中对物体进行旋转操作。它的参数包括:
1. angle:旋转角度,单位为度(°)。
2. x、y、z:一个三维向量,表示旋转轴的方向和大小,通常需要将其归一化。
函数原型为:
void glRotated(GLdouble angle, GLdouble x, GLdouble y, GLdouble z);
例如,要将物体绕 Y 轴旋转 45 度,可以使用以下代码:
glPushMatrix(); // 保存当前矩阵状态
glRotated(45.0, 0.0, 1.0, 0.0); // 绕 Y 轴旋转 45 度
// 绘制物体
glPopMatrix(); // 恢复之前保存的矩阵状态
相关问题
glRotated 旋转示例
glRotated 是OpenGL中的一个函数,用于对物体进行旋转。下面是一个使用glRotated进行旋转的示例代码:
```c++
#include <GL/glut.h>
void display() {
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0f, 1.0f, 0.0f);
glMatrixMode(GL_MODELVIEW);
glPushMatrix();
glRotated(45.0, 0.0, 0.0, 1.0);
glBegin(GL_POLYGON);
glVertex2f(-0.5f, -0.5f);
glVertex2f(-0.5f, 0.5f);
glVertex2f(0.5f, 0.5f);
glVertex2f(0.5f, -0.5f);
glEnd();
glPopMatrix();
glutSwapBuffers();
}
int main(int argc, char** argv) {
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE);
glutInitWindowSize(400, 400);
glutCreateWindow("glRotated Example");
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
```
这个程序会创建一个黄色的正方形,并将其绕z轴旋转45度。在glPushMatrix和glPopMatrix之间的代码是对正方形进行变换的代码,其中glRotated是对正方形进行旋转的函数,接受4个参数:旋转角度、x轴分量、y轴分量和z轴分量。在这个例子中我们只旋转了z轴,因此x轴和y轴分量都是0。