2003-2004
Silicon Graphics, Inc.
glRotate
3G
glRotate
glRotatef
glRotatex
multiply the current matrix by a rotation matrix
C Specification
void glRotatef
GLfloat angle
GLfloat x
GLfloat y
GLfloat z
void glRotatex
GLfixed angle
GLfixed x
GLfixed y
GLfixed 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
xyz
.
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:
(
x2
(1-c)
+c
xy
(1-c)
-zs
xz
(1-c)
+ys
0
xy
(1-c)
+zs
y2
(1-c)
+c
yz
(1-c)
-xs
0
xz
(1-c)
-ys
yz
(1-c)
+xs
z2
(1-c)
+c
0
0
0
0
1
)
Where
c=cosangle
,
s=sinangle
,
and
||xyz||
=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
xyz
points toward the user, the rotation will be counterclockwise.
Associated Gets
glGet with argument GL_MATRIX_MODE
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 2003-2004
Silicon Graphics, Inc. This document is licensed under the SGI
Free Software B License. For details, see
http://oss.sgi.com/projects/FreeB/.