ReUseX  0.0.5
3D Point Cloud Processing for Building Reuse
Loading...
Searching...
No Matches
reusex::geometry::se3 Namespace Reference

Minimal se(3) exp/log used by the joint pose optimizer. More...

Typedefs

using Vector6d = Eigen::Matrix<double, 6, 1>

Functions

Eigen::Matrix3d hat3 (const Eigen::Vector3d &w)
 Skew-symmetric matrix [w]_x such that [w]_x v == w x v.
Eigen::Matrix4d exp (const Vector6d &xi)
 Exponential map se(3) -> SE(3). xi = [omega; v].
Vector6d log (const Eigen::Matrix4d &T)
 Logarithm map SE(3) -> se(3). Returns xi = [omega; v].

Detailed Description

Minimal se(3) exp/log used by the joint pose optimizer.

Twist ordering is xi = [omega (rotation, 3); v (translation, 3)], so that a left-multiplied increment T <- exp(xi) * T moves a world point P by (omega x P + v) to first order. This matches the Jacobian assembly in JointPairwiseRegistration.

Typedef Documentation

◆ Vector6d

using reusex::geometry::se3::Vector6d = Eigen::Matrix<double, 6, 1>

Definition at line 45 of file transform_utils.hpp.

Function Documentation

◆ exp()

Eigen::Matrix4d reusex::geometry::se3::exp ( const Vector6d & xi)
inline

Exponential map se(3) -> SE(3). xi = [omega; v].

Definition at line 55 of file transform_utils.hpp.

References hat3().

◆ hat3()

Eigen::Matrix3d reusex::geometry::se3::hat3 ( const Eigen::Vector3d & w)
inline

Skew-symmetric matrix [w]_x such that [w]_x v == w x v.

Definition at line 48 of file transform_utils.hpp.

Referenced by exp(), and log().

◆ log()

Vector6d reusex::geometry::se3::log ( const Eigen::Matrix4d & T)
inline

Logarithm map SE(3) -> se(3). Returns xi = [omega; v].

Definition at line 81 of file transform_utils.hpp.

References hat3().