【问题标题】:How to expand a matrix in Eigen?如何在 Eigen 中展开矩阵?
【发布时间】:2016-08-31 14:09:18
【问题描述】:

假设我有一个矩阵Eigen::Matrix<double, 3, 3>,其条目是

1 2 3
4 5 6
7 8 9

如何将其扩展为

1 2 3 0
4 5 6 0
7 8 9 0
0 0 0 1

我需要它来将 3D 仿射/投影变换(4 x 4,在 Eigen::Transform 类型下)与 3D 旋转矩阵(3 x 3)相乘。

【问题讨论】:

标签: matrix eigen matrix-multiplication


【解决方案1】:

你想要conservativeResize:

Eigen::MatrixXf mat;
mat.resize(3,3);
mat << 1, 2, 3, 4, 5, 6, 7, 8, 9;
std::cout << mat << "\n\n";
mat.conservativeResize(4,4);
mat.col(3).setZero();
mat.row(3).setZero();
mat(3, 3) = 1;
std::cout << mat << "\n\n";

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-12-17
  • 2022-11-16
  • 1970-01-01
  • 1970-01-01
  • 2013-03-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多