vnl_rotation_matrix.h
Go to the documentation of this file.
1 // This is core/vnl/vnl_rotation_matrix.h
2 #ifndef vnl_rotation_matrix_h_
3 #define vnl_rotation_matrix_h_
4 #include "vnl/vnl_export.h"
5 
6 //:
7 // \file
8 // \brief Functions to create a 3x3 rotation matrix
9 //
10 // The result is a (special) orthogonal 3x3 matrix which is a
11 // rotation about the axis, by an angle equal to ||axis||.
12 //
13 // \verbatim
14 // Modifications:
15 // 12-Jan-2007 Peter Vanroose - Added vnl_matrix_fixed interface
16 // \endverbatim
17 
18 template <class T> class vnl_vector;
19 template <class T> class vnl_matrix;
20 template <class T, unsigned int n> class vnl_vector_fixed;
21 template <class T, unsigned int num_rows, unsigned int num_cols> class vnl_matrix_fixed;
22 
23 VNL_EXPORT bool vnl_rotation_matrix(double const axis[3], double** R);
24 VNL_EXPORT bool vnl_rotation_matrix(double const axis[3], double* R0, double* R1, double* R2);
25 VNL_EXPORT bool vnl_rotation_matrix(double const axis[3], double R[3][3]);
26 VNL_EXPORT bool vnl_rotation_matrix(vnl_vector<double> const &axis, vnl_matrix<double>& R);
28 
29 //: Returns an orthogonal 3x3 matrix which is a rotation about the axis, by an angle equal to ||axis||.
30 // \relatesalso vnl_matrix_fixed
32 
33 //: Returns an orthogonal 3x3 matrix which is a rotation about the axis, by an angle equal to ||axis||.
34 // \relatesalso vnl_matrix
36 
37 #endif // vnl_rotation_matrix_h_
VNL_EXPORT vnl_matrix_fixed< double, 3, 3 > vnl_rotation_matrix(vnl_vector_fixed< double, 3 > const &axis)
Returns an orthogonal 3x3 matrix which is a rotation about the axis, by an angle equal to ||axis||.
Fixed size, stack-stored, space-efficient matrix.
Definition: vnl_fwd.h:23
An ordinary mathematical matrix.
Definition: vnl_adjugate.h:22
Mathematical vector class, templated by type of element.
Definition: vnl_fwd.h:16
Fixed length stack-stored, space-efficient vector.
Definition: vnl_fwd.h:22