glRotate, glRotated, glRotatef - multiply the current
matrix by a rotation matrix
void glRotated(
GLdouble angle,
GLdouble x,
GLdouble y,
GLdouble z ); void glRotatef(
GLfloat angle,
GLfloat x,
GLfloat y,
GLfloat z );
Specifies the angle of rotation, in degrees. Specify the
x, y, and z coordinates of a vector, respectively.
glRotate() produces a rotation of angle degrees around the
vector (x, y, z). The current matrix (see glMatrixMode())
is multiplied by a rotation matrix with the product
replacing the current matrix, as if glMultMatrix() were
called with the following matrix as its argument: x^2(1-c)
+ c xy(1-c) - zs xz(1-c) + ys 0 yx(1-c) + zs
y^2(1-c) + c yz(1-c) - xs 0 xz(1-c) - ys yz(1-c) + xs
z^2(1-c) + c 0
0 0 0 1
Where c = cos (angle), s = sin (angle), and ||(x, y, z)||
= 1 (if not, the GL will normalize this vector).
If the matrix mode is either GL_MODELVIEW or GL_PROJECTION,
all objects drawn after glRotate() is called are
rotated. Use glPushMatrix() and glPopMatrix() to save and
restore the unrotated coordinate system.
This rotation follows the right-hand rule, so if the vector
(x, y, z) points toward the user, the rotation will be
counterclockwise.
GL_INVALID_OPERATION is generated if glRotate() is executed
between the execution of glBegin() and the corresponding
execution of glEnd().
glGet() with argument GL_MATRIX_MODE
glGet() with argument GL_COLOR_MATRIX
glGet() with argument GL_MODELVIEW_MATRIX
glGet() with argument GL_PROJECTION_MATRIX
glGet() with argument GL_TEXTURE_MATRIX
glMultMatrix(3), glMatrixMode(3), glPushMatrix(3),
glScale(3), glTranslate(3)
glRotate(3G)
[ Back ] |