libmove3d
3.13.0
|
00001 00002 typedef double matrix4[4][4]; 00003 typedef double vector4[4]; 00004 00005 /**********************************************************************/ 00006 00007 extern void vectSub(double *a, double *b, double *c); 00008 extern double vectNorm(double *v); 00009 extern void vectNormalize(double *src, double *dest); 00010 extern void normalized_vectXprod(double *a, double *b, double *c); 00011 extern double vectDotProd(double *a, double *b); 00012 extern int same_sign_vect(double *v1, double *v2); 00013 00014 extern void mat4vec3MultPos(matrix4 a, double *v, vector4 c); 00015 extern void mat4Mult(matrix4 a, matrix4 b, matrix4 c); 00016 extern void mat4Copy(matrix4 source, matrix4 dest); 00017 00018 extern void inverse_transf(matrix4 M, matrix4 inv); 00019 extern void transf_rotz(double q, matrix4 T); 00020 extern void inv_transf_rotz(double q, matrix4 T); 00021 00022 extern double compute_dihedang(double *nJa, double *tJa, double *pJa); 00023 extern void compute_frame(double *opos, double *xaxis, double *zaxis, matrix4 T); 00024 extern void compute_dihedang_and_frame(double *a1pos, double *a2pos,double *a3pos, double *a4pos, 00025 double *dihedang, matrix4 T); 00026 extern void compute_distance(double *P1, double *P2, double *dist);