C++ 将矩阵X4X4转换为矩阵X3X3
我无法解决这个问题,无法使用Eigen将Matrix4x4转换为Matrix3x3。 例如,如果我尝试此操作,它将失败:C++ 将矩阵X4X4转换为矩阵X3X3,c++,math,eigen,C++,Math,Eigen,我无法解决这个问题,无法使用Eigen将Matrix4x4转换为Matrix3x3。 例如,如果我尝试此操作,它将失败: Matrix4f m; m << 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16; Matrix3f m2 = m.block(0,0,3,3); Matrix4f-m; 升级到Eigen 3.2.1修复了我的问题。您的代码可以使用Eigen 3.1版和gcc-4.7.1版
Matrix4f m;
m << 1, 2, 3, 4,
5, 6, 7, 8,
9, 10, 11, 12,
13, 14, 15, 16;
Matrix3f m2 = m.block(0,0,3,3);
Matrix4f-m;
升级到Eigen 3.2.1修复了我的问题。您的代码可以使用Eigen 3.1版和gcc-4.7.1版无缝编译和运行。如果不适合您,您可以通过Eigen::Matrix3f m2=static_cast(m.block(0,0,3,3)),尝试静态强制转换代码>谢谢,我升级到了Egen 3.2.1,现在可以使用了。