GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
vpRotate(3) FreeBSD Library Functions Manual vpRotate(3)

vpRotate - multiply the current transformation matrix by a rotation matrix

#include <volpack.h>

vpResult

vpRotate(vpc, axis, degrees)

vpContext *vpc;
int axis;
double degrees;

vpc
VolPack context from vpCreateContext.
axis
Rotation axis code (VP_X_AXIS, VP_Y_AXIS or VP_Z_AXIS).
degrees
Number of degrees to rotate.

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:

1 0 0 0
0 cos(d) sin(d) 0
0 -sin(d) cos(d) 0
0 0 0 1

where d stands for the degrees argument. For a Y-axis rotation, the rotation matrix is:

cos(d) 0 -sin(d) 0
0 1 0 0
sin(d) 0 cos(d) 0
0 0 0 1

For a Z-axis rotation, the rotation matrix is:

cos(d) sin(d) 0 0
-sin(d) cos(d) 0 0
0 0 1 0
0 0 0 1

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:
VPERROR_BAD_OPTION
The axis argument is invalid.

VolPack(3), vpCreateContext(3), vpCurrentMatrix(3)
VolPack

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.