00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00023
00024 #ifndef BTK_MATH_ROTATION_HPP
00025 #define BTK_MATH_ROTATION_HPP
00026
00027 #include <btk/core/math/btk_vector.hpp>
00028 #include <btk/core/math/btk_matrix.hpp>
00029
00030 namespace BTK {
00031 namespace MATH {
00032
00039
00047 void
00048 initialize_rotation_matrix(BTKVector const & axis,
00049 double theta,
00050 BTKMatrix & rm);
00051
00059 inline
00060 BTKMatrix
00061 create_rotation_matrix(BTKVector const & axis,
00062 double theta)
00063 {
00064 BTKMatrix tmp;
00065 initialize_rotation_matrix(axis,theta,tmp);
00066 return tmp;
00067 }
00068
00089
00090
00093 void
00094 initialize_rotation_matrix(double phi,
00095 double theta,
00096 double psi,
00097 BTKMatrix & rm);
00098
00101 inline
00102 BTKMatrix
00103 create_rotation_matrix(double phi,
00104 double theta,
00105 double psi)
00106 {
00107 BTKMatrix tmp;
00108 initialize_rotation_matrix(phi,theta,psi,tmp);
00109 return tmp;
00110 }
00111
00112 }
00113 }
00114
00115 #endif // BTK_MATH_ROTATION_HPP