【发布时间】:2013-05-04 11:12:42
【问题描述】:
我有四个列向量。我需要附加它们以制作一个四乘四矩阵。有没有构造函数之类的?
【问题讨论】:
-
@FantasticMrFox Eigen 有自己的矩阵和向量。我猜他是在问他们,而不是使用
std::vector。 -
@HakanDemir 这是前一段时间,但我想我想要的是你可以使用一个向量来初始化它。无论如何,不是骗子。
我有四个列向量。我需要附加它们以制作一个四乘四矩阵。有没有构造函数之类的?
【问题讨论】:
std::vector。
您也可以使用逗号初始化语法来附加它们:
m << v1, v2, v3, v4;
矩阵m必须先正确调整大小。
【讨论】:
v1、v2、v3 和 v4?是否可以使用向量中的数据而不复制它们来创建矩阵m?也许是一个 const 引用或类似的东西?
v{i} 是行向量呢?
快速查看docs:
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;
输出:
1,0,0,0
0,1,0,0
0,0,1,0
0,0,0,1
【讨论】: