Eigen 如何提取特征::仿射3D变换的非平移部分?

Eigen 如何提取特征::仿射3D变换的非平移部分?,eigen,eigen3,Eigen,Eigen3,给定一个Eigen::Affine3d变换,如何有效地提取由仿射4×4矩阵左上角3×3角组成的Eigen::Matrix3d 目前,我使用以下非优雅(但有效)语法: 为此,您可以使用Eigen::Transform::linear()方法: normMatrix = m_world.linear(); 这是MatrixBase::topLeftCorner()方法的快捷方式: normMatrix = m_world.matrix().topLeftCorner<3,3>();

给定一个
Eigen::Affine3d
变换,如何有效地提取由仿射4×4矩阵左上角3×3角组成的
Eigen::Matrix3d

目前,我使用以下非优雅(但有效)语法:


为此,您可以使用
Eigen::Transform::linear()
方法:

normMatrix = m_world.linear();
这是MatrixBase::topLeftCorner()方法的快捷方式:

normMatrix = m_world.matrix().topLeftCorner<3,3>();
normMatrix=m_world.matrix().topLeftCorner();
normMatrix = m_world.matrix().topLeftCorner<3,3>();