steric_1.11
|
Makefile,
Makefile.sgi,
README.steric,
contplot,
craig.c,
craig.h,
crystal.c,
crystal.h,
integrat.c,
integrat.h,
leach.c,
leach.h,
long_steric,
makeit,
mapcont,
mapcont.c,
mapprof,
mapprof.c,
profplot,
proja.c,
proja.h,
ryan.c,
ryan.h,
ryan_perm.c,
ryan_perm.h,
ryan_quad.c,
ryan_quad.h,
steraid.c,
steraid.h,
stercalc.c,
stercalc.h,
stercomm.c,
stercomm.h,
sterdefn.h,
stererr.h,
sterfile.c,
sterfile.h,
stergrap.c,
stergrap.h,
stergrp.c,
stergrp.h,
steric,
steric.TeX,
steric.err,
steric.grp,
steric.hlp,
steric.ini,
steric.par,
stermain.c,
stermem.c,
stermem.h,
sterover.c,
sterover.h,
sterplot,
stertext.c,
stertext.h,
test.bgf,
test.inp,
vectors.c,
vectors.h,
|
|
|
/**************************************************************************/
/****************** vector calculation aids *****************************/
/**************************************************************************/
#ifndef PI
#define PI 3.14159265358979323846
#endif
#ifndef PI_2
#define PI_2 1.57079632679489661923
#endif
struct vector { double x,y,z; };
typedef struct vector Vector;
struct matrix { Vector x,y,z; };
typedef struct matrix Matrix;
Vector Vdif(Vector u, Vector v);
Vector Vsum(Vector u, Vector v);
Vector unit_vector(Vector v);
double dot_product(Vector u, Vector v);
Vector cross_product(Vector u, Vector v);
double Vmag(Vector v);
double VangleV(Vector u, Vector v);
Vector SxV(double s, Vector v);
Matrix SxM(double s, Matrix M);
Vector VequalV(Vector v);
Vector Vequal(double x, double y, double z);
int Vcmp(Vector u, Vector v);
Matrix Mtranspose(Matrix A);
Vector Mtransform(Matrix R, Vector u);
double SDLP(Vector line, Vector v);
Vector average_direction(int n, Vector v[]);
double Get_Vector_Theta(Vector v);
double Get_Vector_Phi(Vector v);
Vector Rotate_About_X(Vector u, double angle);
Vector Rotate_About_Y(Vector u, double angle);
Vector Rotate_About_Z(Vector u, double angle);
Vector Rotate_Vector(Vector u, double theta, double phi);
void Rotate_Indices_Right(Vector *v);
void Rotate_Indices_Left(Vector *v);
double seperate(struct vector A, struct vector B);
Vector Vwrap(struct vector v, struct vector lo, struct vector hi);
Vector *Reciprocal_Vector(Vector *V);
Matrix *Reciprocal_Matrix(Matrix *M);
|