fglRotate(3G)

fglRotated, fglRotatef - multiply the current matrix by a rotation matrix

Showing IRIX 6.5.30 (default release). Last changed in IRIX 6.5.15.

NAME
     fglRotated, fglRotatef - multiply the current matrix by a rotation matrix


FORTRAN SPECIFICATION
     SUBROUTINE fglRotated( REAL*4 angle,
                            REAL*4 x,
                            REAL*4 y,
                            REAL*4 z )
     SUBROUTINE fglRotatef( REAL*4 angle,
                            REAL*4 x,
                            REAL*4 y,
                            REAL*4 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
     fglRotate produces a rotation of angle degrees around the vector (x,y,z).
     The current matrix (see fglMatrixMode) is multiplied by a rotation matrix
     with the product replacing the current matrix, as if fglMultMatrix were
     called with the following matrix as its argument:




               (                                                   )

               |  2                                                |
                 x (1-c) + c     xy(1-c) - zs    xz(1-c) + ys   0
               |                                                   |

               |                  2                                |
                 yx(1-c) + zs    y (1-c) + c     yz(1-c) - xs   0
               |                                                   |

               |                                  2                |
                 xz(1-c) - ys    yz(1-c) + xs    z (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 fglRotate is called are rotated.  Use fglPushMatrix and
     fglPopMatrix 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 fglRotate is executed between the
     execution of fglBegin and the corresponding execution of fglEnd.
ASSOCIATED GETS
     fglGet with argument GL_MATRIX_MODE
     fglGet with argument GL_COLOR_MATRIX
     fglGet with argument GL_MODELVIEW_MATRIX
     fglGet with argument GL_PROJECTION_MATRIX
     fglGet with argument GL_TEXTURE_MATRIX


SEE ALSO
     fglMatrixMode, fglMultMatrix, fglPushMatrix, fglScale, fglTranslate