Rotation axis code (VP_X_AXIS, VP_Y_AXIS or VP_Z_AXIS).
degrees
Number of degrees to rotate.
DESCRIPTION
vpRotate is used to multiply the current transformation
matrix by a 4-by-4 rotation matrix. The rotation axis must be one of
the three principal viewing axes and is specified with one of the
following codes:
VP_X_AXISX axis
VP_Y_AXISY axis
VP_Z_AXISZ axis
The rotation angle is specified in degrees. A positive angle
indicates a clockwise rotation when looking towards the positive
direction along the axis. For an X-axis rotation, the rotation matrix
is:
1000
0cos(d)sin(d)0
0-sin(d)cos(d)0
0001
where d stands for the degrees argument. For a Y-axis rotation,
the rotation matrix is:
cos(d)0-sin(d)0
0100
sin(d)0cos(d)0
0001
For a Z-axis rotation, the rotation matrix is:
cos(d)sin(d)00
-sin(d)cos(d)00
0010
0001
Use vpCurrentMatrix to
set the current transformation matrix. By default, the rotation
matrix is post-multiplied (M = M*R where M is the current matrix and R
is the rotation matrix). The VP_CONCAT_MODE option to vpSeti
can be used to select pre-multiplication.
STATE VARIABLES
The current matrix concatenation parameters can be retrieved with the
following state variable codes (see vpGeti(3)): VP_CURRENT_MATRIX,
VP_CONCAT_MODE.
ERRORS
The normal return value is VP_OK. The following error return value is
possible: