|
| template<typename T > |
| constexpr bool | is_power_of_two (T) |
| |
| template<> |
| constexpr bool | is_power_of_two< unsigned > (const unsigned x) |
| |
| constexpr int | log2_const (int n) |
| |
| static unsigned | power_two_up (const float x) |
| |
| template<typename T > |
| static T | fracf (const T &v) |
| |
| template<typename T > |
| static T | floorf (const T &v) |
| |
| template<typename T > |
| static T | fabs (const T &v) |
| |
| template<typename Scalar > |
| static constexpr Scalar | sq (Scalar a) |
| |
| template<typename Scalar > |
| static constexpr Scalar | cu (Scalar a) |
| |
| template<typename Scalar > |
| static bool | in (const Scalar v, const Scalar a, const Scalar b) |
| |
| static Eigen::Vector3f | to_translation (const Eigen::Matrix4f &T) |
| |
| static Eigen::Matrix3f | to_rotation (const Eigen::Matrix4f &T) |
| |
| static Eigen::Matrix4f | to_transformation (const Eigen::Vector3f &t) |
| |
| static Eigen::Matrix4f | to_transformation (const Eigen::Matrix3f &R) |
| |
| static Eigen::Matrix4f | to_transformation (const Eigen::Matrix3f &R, const Eigen::Vector3f &t) |
| |
| static Eigen::Vector3f | to_inverse_translation (const Eigen::Matrix4f &T) |
| |
| static Eigen::Matrix3f | to_inverse_rotation (const Eigen::Matrix4f &T) |
| |
| static Eigen::Matrix4f | to_inverse_transformation (const Eigen::Matrix4f &T) |
| |
| template<typename T > |
| static std::enable_if< std::is_arithmetic< T >::value, T >::type | clamp (const T &f, const T &a, const T &b) |
| |
| static void | clamp (Eigen::Ref< Eigen::VectorXf > res, const Eigen::Ref< const Eigen::VectorXf > a, const Eigen::Ref< Eigen::VectorXf > b) |
| |
| template<typename R , typename A , typename B > |
| static void | clamp (Eigen::MatrixBase< R > &res, const Eigen::MatrixBase< A > &a, const Eigen::MatrixBase< B > &b) |
| |
| static Eigen::Vector3f | plane_normal (const Eigen::Vector3f &p1, const Eigen::Vector3f &p2, const Eigen::Vector3f &p3) |
| | Compute the normal vector of a plane defined by 3 points. More...
|
| |
| template<typename T > |
| static T | median (std::vector< T > &data) |
| | Compute the median of the data in the vector. More...
|
| |
| template<typename T > |
| static T | almost_median (std::vector< T > &data) |
| | Compute the median of the data in the vector. More...
|
| |
| template<typename T > |
| static T | median (const std::vector< T > &data) |
| | Same as se::math::median() but the order of the original vector is retain. More...
|
| |
| static Eigen::Matrix3f | hat (const Eigen::Vector3f &omega) |
| | hat-operator More...
|
| |
| static Eigen::Matrix3f | exp_and_theta (const Eigen::Vector3f &omega, float &theta) |
| |
| static Eigen::Matrix4f | exp (const Eigen::Matrix< float, 6, 1 > &a) |
| | Group exponential. More...
|
| |
| static Eigen::Matrix3f se::math::hat |
( |
const Eigen::Vector3f & |
omega | ) |
|
|
static |
hat-operator
It takes in the 3-vector representation omega (= rotation vector) and returns the corresponding matrix representation of Lie algebra element.
Formally, the hat()-operator of SO(3) is defined as
hat(.): R^3 -> R^{3x3}, hat(omega) = sum_i omega_i * G_i (for i=0,1,2)
with G_i being the ith infinitesimal generator of SO(3).
The corresponding inverse is the vee()-operator, see below.
- Parameters
-
- Returns
- Corresponding matrix representation of Lie algebra element.
| static Eigen::Matrix4f se::math::exp |
( |
const Eigen::Matrix< float, 6, 1 > & |
a | ) |
|
|
static |
Group exponential.
This functions takes in an element of tangent space (= twist a) and returns the corresponding element of the group SE(3).
The first three components of a represent the translational part upsilon in the tangent space of SE(3), while the last three components of a represents the rotation vector omega. To be more specific, this function computes expmat(hat(a)) with expmat(.) being the matrix exponential and hat(.) the hat-operator of SE(3), see below.