core
vnl
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);
27
VNL_EXPORT
bool
vnl_rotation_matrix
(
vnl_vector_fixed<double,3>
const
& axis,
vnl_matrix_fixed<double,3,3>
& 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
31
VNL_EXPORT
vnl_matrix_fixed<double,3,3>
vnl_rotation_matrix
(
vnl_vector_fixed<double,3>
const
& axis);
32
33
//: Returns an orthogonal 3x3 matrix which is a rotation about the axis, by an angle equal to ||axis||.
34
// \relatesalso vnl_matrix
35
VNL_EXPORT
vnl_matrix<double>
vnl_rotation_matrix
(
vnl_vector<double>
const
& axis);
36
37
#endif // vnl_rotation_matrix_h_
vnl_matrix_fixed::vnl_rotation_matrix
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||.
Definition:
vnl_rotation_matrix.cxx:57
vnl_matrix_fixed
Fixed size, stack-stored, space-efficient matrix.
Definition:
vnl_fwd.h:23
vnl_matrix
An ordinary mathematical matrix.
Definition:
vnl_adjugate.h:22
vnl_vector
Mathematical vector class, templated by type of element.
Definition:
vnl_fwd.h:16
vnl_vector_fixed
Fixed length stack-stored, space-efficient vector.
Definition:
vnl_fwd.h:22
Generated by
1.8.15