Matrix4f 为 4x4 浮点数矩阵
typedef Matrix<float, 4, 4> Matrix4f;
向量只是矩阵的一种特殊情况,要么是一行,要么是一列。最常见的情况是只有一列;这样的向量称为列向量,通常简称为向量。在另一种情况下,它们有一行,它们被称为行向量。
包含3个浮点数的(列)向量
typedef Matrix<float, 3, 1> Vector3f;
2个整数的行向量
typedef Matrix<int, 1, 2> RowVector2i;
Eigen并不局限于在编译时已知维数的矩阵。RowsAtCompileTime和ColsAtCompileTime模板参数可以采用特殊的动态值,该值指示大小在编译时未知,因此必须作为运行时变量来处理,这样的大小称为动态大小;而在编译时已知的大小称为固定大小。例如,定义动态的typedef MatrixXd,即具有动态大小的双精度矩阵,定义如下:
typedef Matrix<double, Dynamic, Dynamic> MatrixXd;
定义动态的typedef VectorX,即具有动态大小的整数向量,定义如下:
typedef Matrix<int, Dynamic, 1> VectorXi;
固定数量的行和动态数量的列,如:
Matrix<float, 3, Dynamic>