Mam cztery wektory kolumn. Muszę dołączyć je, aby utworzyć matrycę cztery na cztery. Czy istnieje konstruktor lub coś takiego?Jak utworzyć matrycę z wektorów w eigen?
10
A
Odpowiedz
17
Można również dołączyć je za pomocą składni przecinek initializer:
m << v1, v2, v3, v4;
Matryca m mus mieć została najpierw odpowiednio zmieniona.
3
Szybkie sprawdzenie na 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;
wyjściowa:
1,0,0,0
0,1,0,0
0,0,1,0
0,0,0,1
Eigen jest NIESAMOWITY. –
Czy to kopiuje wektory 'v1',' v2', 'v3' i' v4'? Czy możliwe jest utworzenie macierzy 'm' przy użyciu danych w wektorach bez ich kopiowania? może odniesienie do const lub coś podobnego? –
tak, wszystkie wektory są kopiowane w obrębie 'm'. – ggael