Go to the documentation of this file.00001 #ifndef Math_angle_h
00002 #define Math_angle_h
00003
00004
00005
00006
00007
00008 #include <cmath>
00009
00010 template <class T>
00011 T angle (T x1, T y1, T z1, T x2, T y2, T z2) {
00012 return acos((x1*x2 + y1*y2 + z1*z2)/sqrt((x1*x1 + y1*y1 + z1*z1)*(x2*x2 + y2*y2 + z2*z2)));
00013 }
00014
00015 template<typename T1, typename T2>
00016 double angle( const T1 & t1, const T2 & t2 ) {
00017 return angle( t1.x(), t1.y(), t1.z(), t2.x(), t2.y(), t2.z() );
00018 }
00019
00020 #endif