1、Eigen矩阵定义
Eigen定义 类型:行:列
Matrix<typename Scalar, int RowsAtCompileTime, int ColsAtCompileTime>
eg.Matrix<double,3,4> 类型为浮点型3行4列的矩阵
1 2 3 4
2 2 3 4
3 2 3 4
2、预定义的特殊矩阵Vector列矩阵、RowVector行矩阵
eg.Vector3d(Matrix<double,3,1>)为3行1列的矩阵
eg.RowVector3d(Matrix<double,1,3>)为1行3列的矩阵
在计算空间坐标转换时,旋转矩阵一般为3行3列矩阵,所以点的描述使用1行3列的行向量,可以直接进行矩阵运算,得到的也是一个行矩阵
3、矩阵赋值、矩阵取值
对于Matrix<double,3,3> m
取值:m(0,0) m(0,1) ……m(2,2)
对于Vector3d这种列向量可以采用m(0,0) m(1,0) m(2,0)或者m(0) m(1) m(2)
对于RowVector3d这种行向量可以采用m(0,0) m(0,1) m(0,2)或者m(0) m(1) m(2)
这种方式是按行写入,tt(2,0)(第2行,第0列的元素是7):
Eigen::Matrix3d tt;
tt << 1, 2, 3, 4, 5, 6, 7, 8, 9;