www.pudn.com > HumanAnimation.rar > VECTOR.H
#ifndef VECTOR_H #define VECTOR_H /* Conversion constants between degrees and radians */ #define VEC_DEG_TO_RAD 0.017453293 #define VEC_RAD_TO_DEG 57.29578 typedef float vector[3]; typedef float plane[4]; void vecPrint (vector v); void vecCopy (vector dest, vector src); float vecLength (vector u); float vecLengthSq (vector u); float vecDist (vector u, vector v); float vecDistSq (vector u, vector v); void vecSub (vector dest, vector u, vector v); void vecAdd (vector dest, vector u, vector v); void vecMult (vector dest, float c, vector u); float vecDot (vector u, vector v); float vecAngle (vector u, vector v); void vecCross (vector dest, vector u, vector v); void vecNormalize (vector dest, vector v); float vecDistPointToPlane (vector r, plane p); void vecPlaneFromPointAndNormal (plane dest, vector p, vector N); void vecSpherical (vector dest, float theta, float phi); void vecRotateX (vector dest, vector src, float angle); void vecRotateY (vector dest, vector src, float angle); void vecRotateZ (vector dest, vector src, float angle); void vecRotate (vector dest, vector p, vector axis, float angle); void vecMatch (float *angle, vector axis, vector u, vector v); void vecSetValue(vector dest, float x, float y, float z); void vecTranslate(vector dest, float x, float y, float z); #endif /* VECTOR_H */