From 24c8bcfe7f76b20124e2862ea050f815c0f768e7 Mon Sep 17 00:00:00 2001 From: tlatorre Date: Tue, 14 Aug 2018 10:08:27 -0500 Subject: move everything to src directory --- src/vector.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 src/vector.c (limited to 'src/vector.c') diff --git a/src/vector.c b/src/vector.c new file mode 100644 index 0000000..d0e304a --- /dev/null +++ b/src/vector.c @@ -0,0 +1,26 @@ +#include "vector.h" +#include + +void normalize(double *a) +{ + double c; + c = NORM(a); + DIV(a,c); +} + +void rotate(double *dest, double *v, double *n, double phi) +{ + /* Rotate the vector `v` through an angle `phi` about the axis `n`. */ + double temp[3], cos_theta; + + cos_theta = cos(phi); + + COPY(dest,v); + MUL(dest,cos_theta); + CROSS(temp,n,v); + MUL(temp,sin(phi)); + ADD(dest,dest,temp); + COPY(temp,n); + MUL(temp,DOT(n,v)*(1-cos_theta)); + ADD(dest,dest,temp); +} -- cgit