我是靠谱客的博主 无情楼房,这篇文章主要介绍Eigen使用,现在分享给大家,希望可以做个参考。

Eigen::Matrix初始化

定义一个4*4的矩阵

定义一个4*4的矩阵
Eigen::Matrix<float, 4, 4> rotMatrix;
下面是几种我目前知道的初始化方法


基本初始化

复制代码
1
2
3
4
5
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可以做如下初始化

复制代码
1
2
trans << 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
4
Eigen::vector4d temp = {1,2,3,4}; temp.head(3) = {1,2,3}; temp.tail(3) = {2,3,4};

获得Eigen::Matrix的某行or某列

复制代码
1
2
3
4
Eigen::Matrix<float, 4, 4> rotMatrix; rotMatrix.row(i);//行 rotMatrix.col(i);//列

最后

以上就是无情楼房最近收集整理的关于Eigen使用的全部内容,更多相关Eigen使用内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(64)

评论列表共有 0 条评论

立即
投稿
返回
顶部