vpRotate(3) | Library Functions Manual | vpRotate(3) |
vpRotate - multiply the current transformation matrix by a rotation matrix
#include <volpack.h>
vpResult
vpRotate(vpc, axis, degrees)
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_AXIS X axis
VP_Y_AXIS Y axis
VP_Z_AXIS Z 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:
where d stands for the degrees argument. For a Y-axis rotation, the rotation matrix is:
For a Z-axis rotation, the rotation matrix is:
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.
The current matrix concatenation parameters can be retrieved with the following state variable codes (see vpGeti(3)): VP_CURRENT_MATRIX, VP_CONCAT_MODE.
The normal return value is VP_OK. The following error return value is possible:
VolPack |