Eigen::Matrix初始化
定义一个4*4的矩阵
定义一个4*4的矩阵
Eigen::Matrix<float, 4, 4> rotMatrix;
下面是几种我目前知道的初始化方法
基本初始化
rotMatrix << 1, newY[0], newZ[0], _current_center[0], 0, newY[1], newZ[1], _current_center[1], 0, newY[2], newZ[2], _current_center[2], 0, 0, 0, 1;
讯享网
上面的代码,就是逐个对4*4float型矩阵rotMatrix赋值。
块初始
假设已经定义好
Eigen::Matrix<float, 3,3> a;
Eigen::Vector3f b;
那么rotMatrix可以做如下初始化
讯享网trans << a, b, 0, 0, 0, 1;
上面部分代码的意思是,rotMatrix的前3行的前3列,由矩阵a初始化。
前3行的最后一列由向量b初始化
最后一行由0, 0, 0, 1初始化
初始化为单位矩阵
获得Eigen::vector的某部分
Eigen::vector4d temp = {1,2,3,4}; temp.head(3) = {1,2,3}; temp.tail(3) = {2,3,4};
获得Eigen::Matrix的某行or某列
讯享网Eigen::Matrix<float, 4, 4> rotMatrix; rotMatrix.row(i);//行 rotMatrix.col(i);//列

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/60819.html