Eigen矩阵可以使用成员函数col(int i);
row(i);
对矩阵的行列进行赋值,要注意的是左值和右值为同一个矩阵中的块时容易出现bug,尽量使用中间变量去避免这种情况,一个示例如下
#include
#include
using namespace std;
int main()
{
Eigen::Matrix3d R;
Eigen::Vector3d v(1,2,3);
Eigen::AngleAxisd t_V(1, Eigen::Vector3d::UnitZ());
//UnitZ()返回一个z轴上的单位向量(0,0,1)
R=t_V.matrix();
cout<<"R = \n"< T;
T.col(0)=R.col(0);
T.col(1)=R.col(1);
T.col(2)=R.col(2);
T.col(3)=v;
cout<<"T = \n"<
CMakeLists.txt的写法
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
project(useGeometry)
include_directories("/usr/include/eigen3")
add_executable(eigen_geometry eigen_geometry.cpp)
【Eigen的常用矩阵类型和行列操作】这个头文件中包含了eigen常用到的矩阵类型的宏定义,存在这儿以备不时之需
//
// eigen_types.h Created by gaoxiang19 on 11/3/18.
//#ifndef MYSLAM_EIGEN_TYPES_H
#define MYSLAM_EIGEN_TYPES_H#include
#include
#include
#include
推荐阅读