eigen::Affine3d 转换

平移eigen::vector3d和四元数Eigen::Quaterniond 转 eigen::Affine3d

复制代码
Eigen::Vector3d t = Eigen::Vector3d::Zero();
Eigen::Quaterniond q = Eigen::Quaterniond ::Identity();

Eigen::Affine3d affine3d = t * q.toRotationMatrix();

Eigen::Matrix4d 转 eigen::Affine3d

复制代码
Eigen::Matrix4d mat = Eigen::Matrix4d::Identity();
Eigen::Affine3d transform = Eigen::Affine3d::Identity();
transform.matrix() = mat; 

这里主要是用于点云加速,pcl自带的点云变换包含指令集优化,如下:

复制代码
 template <typename PointT, typename Scalar> inline PointT
 transformPoint (const PointT &point, const Eigen::Transform<Scalar, 3, Eigen::Affine> &transform)
 {
   PointT ret = point;
   pcl::detail::Transformer<Scalar> tf (transform.matrix ());
   tf.se3 (point.data, ret.data);
   return (ret);
 }

Point Cloud Library (PCL): pcl/common/impl/transforms.hpp Source File

相关推荐
feng_you_ying_li2 小时前
linux之运行状态(2),内核链表与进程状态
linux
图图玩ai2 小时前
SSH 命令管理工具怎么选?从命令收藏到批量执行一次讲清
linux·nginx·docker·ai·程序员·ssh·可视化·gmssh·批量命令执行
Robot_Nav3 小时前
DPMPC-Planner:复杂静态环境与动态障碍物下的无人机实时轨迹规划框架
c++·无人机·mpc
似水এ᭄往昔3 小时前
【Linux】--基础IO
linux·服务器
StarryX3 小时前
Mac 用 UTM 装 Debian 实操教程(二)
linux
陆伟峰(云固件作者)4 小时前
Linux Mint 22.3:给初学者的第一份 Linux 说明书
linux·运维·服务器
水饺编程4 小时前
第5章,[标签 Win32] :获取设备环境的信息
c语言·c++·windows·visual studio
lhbian4 小时前
C++、C与易语言:编程语言对比解析
c语言·开发语言·c++
顺风尿一寸4 小时前
深入 Linux 6.8.12 内核:x86_64 系统调用的快速路径与安全博弈
linux
hehelm4 小时前
二叉搜索树
c++