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

相关推荐
七七七七071 小时前
【计算机网络】深入理解ARP协议:工作原理、报文格式与安全防护
linux·服务器·网络·计算机网络·安全
学涯乐码堂主4 小时前
GESP C++ 四级第一章:再谈函数(上)
c++·青少年编程·gesp·四级·学漄乐码青少年编程培训
微露清风5 小时前
系统性学习C++-第九讲-list类
c++·学习·list
lhxcc_fly5 小时前
Linux网络--8、NAT,代理,网络穿透
linux·服务器·网络·nat
大佬,救命!!!5 小时前
C++多线程同步与互斥
开发语言·c++·学习笔记·多线程·互斥锁·同步与互斥·死锁和避免策略
摇滚侠5 小时前
Spring Boot3零基础教程,Spring Boot 应用打包成 exe 可执行文件,笔记91 笔记92 笔记93
linux·spring boot·笔记
yuanManGan5 小时前
走进Linux的世界:初识操作系统(Operator System)
android·linux·运维
散峰而望6 小时前
C++入门(一)(算法竞赛)
c语言·开发语言·c++·编辑器·github
C_Liu_6 小时前
13.C++:继承
开发语言·c++
Thexhy6 小时前
在 CentOS 7 的 Linux 系统中配置 NFS
linux·运维·学习·centos