Eigen中的变换矩阵

Eigen是一个矩阵计算的开源库,PCL中用了Eigen作为第三方做矩阵运算。这里借以介绍一下矩阵变换。


矩阵变换(affine transformation)包括旋转(rotation),平移(translation)和尺度(scale)变换。


那么在三维点云里要表示变换矩阵,只需要旋转和平移:

 Eigen::AngleAxisf init_rotation ( 0.5*M_PI, Eigen::Vector3f::UnitY());
 Eigen::Translation3f init_translation (0, 0, 2.0);
 Eigen::Matrix4f init_guess = (init_translation * init_rotation).matrix (); 

其中涉及Eigen的API:
typedef Matrix< float , 4 , 4 > Eigen::Matrix4f
typedef AngleAxis Eigen::AngleAxisf

class Eigen::AngleAxis< Scalar >旋转

Represents a 3D rotation as a rotation angle around an arbitrary 3D axis.

class Eigen::Translation< Scalar, Dim >平移

Represents a translation transformation.


你可能感兴趣的:(PCL)