1991-2006
Silicon Graphics, Inc.
glRotate
3G
glRotate
multiply the current matrix by a rotation matrix
C Specification
void glRotated
GLdouble angle
GLdouble x
GLdouble y
GLdouble z
void glRotatef
GLfloat angle
GLfloat x
GLfloat y
GLfloat z
Parameters
angle
Specifies the angle of rotation, in degrees.
x
y
z
Specify the x, y, and z coordinates of a vector, respectively.
Description
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
x
⁢
y
⁡
1
-
c
-
z
⁢
s
x
⁢
z
⁡
1
-
c
+
y
⁢
s
0
y
⁢
x
⁡
1
-
c
+
z
⁢
s
y
2
⁡
1
-
c
+
c
y
⁢
z
⁡
1
-
c
-
x
⁢
s
0
x
⁢
z
⁡
1
-
c
-
y
⁢
s
y
⁢
z
⁡
1
-
c
+
x
⁢
s
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.
Notes
This rotation follows the right-hand rule, so
if the vector
x
y
z
points toward the
user, the rotation will be counterclockwise.
Errors
GL_INVALID_OPERATION is generated if glRotate
is executed between the execution of glBegin
and the corresponding execution of glEnd.
Associated Gets
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
See Also
glMatrixMode,
glMultMatrix,
glPushMatrix,
glScale,
glTranslate
Copyright
Copyright 1991-2006
Silicon Graphics, Inc. This document is licensed under the SGI
Free Software B License. For details, see
http://oss.sgi.com/projects/FreeB/.