help-gsl
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Help-gsl] angle between two vectors


From: Jerome BENOIT
Subject: Re: [Help-gsl] angle between two vectors
Date: Mon, 29 Mar 2010 13:30:56 +0800
User-agent: Mozilla-Thunderbird 2.0.0.22 (X11/20090707)

are we dealing with direction or vectors ?

Liam Healy wrote:
I'm a big fan of atan2, but in this case there's no benefit to using it
because an angle between two vectors will always be less than or equal
to 180 degrees, so the quadrant is unambiguous from the cosine.
Dot product and cosine is the right way to go.

Liam

On Sun, Mar 28, 2010 at 11:11 AM, Jerome BENOIT <address@hidden> wrote:
Hello List,

a better idea is to build some code around the atan2 function.

Jerome

John D Lamb wrote:
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 ) );

--
Jerome BENOIT
jgmbenoit-at+rezozer*dot_net

--
Jerome BENOIT
jgmbenoit-at+rezozer*dot_net





reply via email to

[Prev in Thread] Current Thread [Next in Thread]