'\" e '\"macro stdmacro .ds Vn Version 1.2 .ds Dt 24 September 1999 .ds Re Release 1.2.1 .ds Dp May 22 14:46 .ds Dm 3 May 22 14: .ds Xs 52762 5 .TH GLROTATE 3G .SH NAME .B "glRotated, glRotatef \- multiply the current matrix by a rotation matrix .SH C SPECIFICATION void \f3glRotated\fP( GLdouble \fIangle\fP, .nf .ta \w'\f3void \fPglRotated( 'u GLdouble \fIx\fP, GLdouble \fIy\fP, GLdouble \fIz\fP ) .fi void \f3glRotatef\fP( GLfloat \fIangle\fP, .nf .ta \w'\f3void \fPglRotatef( 'u GLfloat \fIx\fP, GLfloat \fIy\fP, GLfloat \fIz\fP ) .fi .SH PARAMETERS .TP \w'\f2angle\fP\ \ 'u \f2angle\fP Specifies the angle of rotation, in degrees. .TP \f2x\fP, \f2y\fP, \f2z\fP Specify the \f2x\fP, \f2y\fP, and \f2z\fP coordinates of a vector, respectively. .SH DESCRIPTION \%\f3glRotate\fP produces a rotation of \f2angle\fP degrees around the vector (x, y, z). The current matrix (see \%\f3glMatrixMode\fP) is multiplied by a rotation matrix with the product replacing the current matrix, as if \%\f3glMultMatrix\fP were called with the following matrix as its argument: .P .Bd -literal 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 .Ed .P .sp Where c = cos (angle), s = sin (angle), and ||(x, y, z)|| = 1 (if not, the GL will normalize this vector). .sp .sp .P If the matrix mode is either \%\f3GL_MODELVIEW\fP or \%\f3GL_PROJECTION\fP, all objects drawn after \%\f3glRotate\fP is called are rotated. Use \%\f3glPushMatrix\fP and \%\f3glPopMatrix\fP to save and restore the unrotated coordinate system. .SH NOTES This rotation follows the right-hand rule, so if the vector (x, y, z) points toward the user, the rotation will be counterclockwise. .SH ERRORS \%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glRotate\fP is executed between the execution of \%\f3glBegin\fP and the corresponding execution of \%\f3glEnd\fP. .SH ASSOCIATED GETS \%\f3glGet\fP with argument \%\f3GL_MATRIX_MODE\fP .br \%\f3glGet\fP with argument \%\f3GL_COLOR_MATRIX\fP .br \%\f3glGet\fP with argument \%\f3GL_MODELVIEW_MATRIX\fP .br \%\f3glGet\fP with argument \%\f3GL_PROJECTION_MATRIX\fP .br \%\f3glGet\fP with argument \%\f3GL_TEXTURE_MATRIX\fP .SH SEE ALSO \%\f3glMatrixMode\fP, \%\f3glMultMatrix\fP, \%\f3glPushMatrix\fP, \%\f3glScale\fP, \%\f3glTranslate\fP