Eigen vector3d 默认为列向量,Eigen(3)矩阵Matrix及其简单操

Eigen::Vector3d a(1.0, 2.0, 3.0)
std::cout << "a = \n" << a << std::endl;
std::cout << "a.transepose() = \n" << a.transepose() << std::endl;

输出结果为:
a = 
1.0
2.0
3.0
a.transepose() = 
1.0  2. 0  3.0
 

 

原文链接

1. Matrix类

   在Eigen,所有的矩阵和向量都是Matrix模板类的对象,Vector只是一种特殊的矩阵(一行或者一列)。

    Matrix有6个模板参数,主要使用前三个参数,剩下的有默认值。

Matrix

Scalar是表示元素的类型,RowsAtCompileTime为矩阵的行,ColsAtCompileTime为矩阵的列。

库中提供了一些类型便于使用,比如:

typedef Matrix Matrix4f;

 

2. Vectors向量

列向量

typedef Matrix Vector3f;
 

行向量

typedef Matrix RowVector2i;
 

3. Dynamic

Eigen不只限于已知大小(编译阶段)的矩阵,有些矩阵的尺寸是运行时确定的,于是引入了一个特殊的标识符:Dynamic

typedef Matrix MatrixXd;

typedef Matrix VectorXi;

Matrix
 

你可能感兴趣的:(eigen)