Eigen库提供了几何模块,但是没有提供李代数的支持。一个较好的
李代数库是由Strasdat维护的Sophus库。Sophus库支持三维运动的
SO(3)、
SE(3),此外还支持二维运动的
SO(2)、
SE(2)和相似变换
Sim(3)等内容。它是直接在Eigen库基础上开发的,因此我们不需要安装额外的依赖库。读者可以直接从github上获取Sophus库
[2],Sophus库有模板类库和非模板类库两个版本,
本书选择的是非模板类库。可以通过输入以下命令获得非模板类的Sophus库:
git clone http://github.com/strasdat/Sophus.git
Sophus库本身是一个cmake工程,使用以下命令对它进行编译(Sophus库只需编译,无需安装)。
git checkout a621ff 版本 |
* 在cmake编译 mkdir build cd build cmake .. make |