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

相关推荐
怀旧,9 分钟前
【Linux网络编程】9. 数据链路层
linux·服务器·网络
蒋胜山24 分钟前
PowerPoint插入音频报错
windows·经验分享·音视频
用户23678298016826 分钟前
Linux watch 命令深度解析:从实时监控到变化检测的完整实现
linux
Liangwei Lin1 小时前
LeetCode 22. 括号生成
linux·运维·服务器
win水1 小时前
八、命令行参数和环境变量
linux·环境变量·命令行参数
( •̀∀•́ )9201 小时前
Linux 下部署 `social-auto-upload` 遇到的问题及完整解决方案
linux·运维·服务器
代码中介商1 小时前
Libevent实战:高性能网络编程指南
linux·运维·网络
happytree0011 小时前
linux0.11 - setup.s第一阶段(获取系统信息)
linux
蜡笔小马1 小时前
07.C++设计模式-组合模式
c++·设计模式·组合模式
怀旧,1 小时前
【Linux网络编程】2. Socket编程 UDP
linux·网络·udp