如何从特征中的向量中生成矩阵?

Dan*_*lLC 10 c++ vector matrix eigen

我有四个列向量.我需要将它们附加到一个四乘四的矩阵.是否有构造函数或其他东西?

gga*_*ael 19

您还可以使用逗号初始化程序语法附加它们:

m << v1, v2, v3, v4;
Run Code Online (Sandbox Code Playgroud)

矩阵m mus已经首先适当调整大小.

  • Eigen太棒了. (14认同)
  • 这是否复制了向量“v1”、“v2”、“v3”和“v4”?是否可以使用向量中的数据创建矩阵“m”而不复制它们?也许是一个常量引用或类似的东西? (3认同)

Ian*_*ros 7

快速查看文档

Vector4f v1(1,0,0,0);
Vector4f v2(0,1,0,0);
Vector4f v3(0,0,1,0);
Vector4f v4(0,0,0,1);
Matrix4f m;

m.row(0) = v1;
m.row(1) = v2;
m.row(2) = v3;
m.row(3) = v4;

std::cout << m << std::endl;
Run Code Online (Sandbox Code Playgroud)

输出:

1,0,0,0
0,1,0,0
0,0,1,0
0,0,0,1
Run Code Online (Sandbox Code Playgroud)