Eigen::Matrix初始化
定义一个4*4的矩阵
定义一个4*4的矩阵
Eigen::Matrix<float, 4, 4> rotMatrix;
下面是几种我目前知道的初始化方法
基本初始化
复制代码
1
2
3
4
5rotMatrix << 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可以做如下初始化
复制代码
1
2trans << a, b, 0, 0, 0, 1;
上面部分代码的意思是,rotMatrix的前3行的前3列,由矩阵a初始化。
前3行的最后一列由向量b初始化
最后一行由0, 0, 0, 1初始化
初始化为单位矩阵
通过Identity()可初始化单位矩阵
Eigen::Matrix<float, 4, 4> rotMatrix = Eigen::Matrix4f::Identity();
获得Eigen::vector的某部分
复制代码
1
2
3
4Eigen::vector4d temp = {1,2,3,4}; temp.head(3) = {1,2,3}; temp.tail(3) = {2,3,4};
获得Eigen::Matrix的某行or某列
复制代码
1
2
3
4Eigen::Matrix<float, 4, 4> rotMatrix; rotMatrix.row(i);//行 rotMatrix.col(i);//列
最后
以上就是无情楼房最近收集整理的关于Eigen使用的全部内容,更多相关Eigen使用内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复