On Sun, 2010-03-28 at 11:07 +0200, Jordi wrote:
I am quite new to maths and gsl I would like to get the angle between two
vectors.
In C it should be something like the following. (You may have to check
where acos is defined, check norm_u * norm_v != 0; and you may want a
direction with the angle.) For floats use snrm and sdot instead of dnrm
and ddot.
#include<gsl/gsl_blas.h>
…
gsl_vector* u, v;
double norm_u, norm_v, x, angle;
…
norm_u = gdl_blas_dnrm( u );
norm_v = gdl_blas_dnrm( v );
gsl_blas_ddot( u, v, &x );
angle = acos( x / (norm_u * norm_v ) );