[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Help-gsl] angle between two vectors
From: |
Sumit Adhikari |
Subject: |
Re: [Help-gsl] angle between two vectors |
Date: |
Sun, 28 Mar 2010 23:47:55 +0530 |
How come atan !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
possible...but inverse trigonometric function of cos-1 needs to translated
in terms of atan !!!!
hmmmm ........... quite complicated thinking
Regards,
Sumit
On Sun, Mar 28, 2010 at 10:05 PM, Liam Healy <address@hidden>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
>
>
> _______________________________________________
> Help-gsl mailing list
> address@hidden
> http://lists.gnu.org/mailman/listinfo/help-gsl
>