C++ 本征矩阵的乘法变换与矩阵类型

C++ 本征矩阵的乘法变换与矩阵类型,c++,matrix,transform,eigen,C++,Matrix,Transform,Eigen,对我来说,这应该行得通,所以事实上,这并不意味着我错了。尽管原则上变换与矩阵相同,但它们不能合理地结合使用: Affine3d rotMat( AngleAxisd( 45.0, ( Vector3d() << 0.0, 1.0, 0.0 ).finished() ) ); Matrix4d m; m << 1.0, 0.0, 0.0, 6.0, 0.0, 1.0, 0.0, 6.0, 0.0, 0.0, 1.0, 6.0, 0.0, 0.0

对我来说,这应该行得通,所以事实上,这并不意味着我错了。尽管原则上变换与矩阵相同,但它们不能合理地结合使用:

Affine3d rotMat( AngleAxisd( 45.0, ( Vector3d() << 0.0, 1.0, 0.0 ).finished() ) );
Matrix4d m;
m << 1.0, 0.0, 0.0, 6.0,
     0.0, 1.0, 0.0, 6.0,
     0.0, 0.0, 1.0, 6.0,
     0.0, 0.0, 0.0, 1.0;

m = m * rotMat;
Affine3d rotMat(AngleAxisded(45.0),(Vector3d()只需编写:

m = m * rotMat.matrix();
我不知道Eigen没有隐式定义这个乘法是否是一个疏忽,或者它是否会干扰库的其他用例