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

相关推荐
__lost3 分钟前
为什么new分配在堆上,函数变量在栈上+递归调用时栈内存的变化过程
c++·内存分配
小镇青年达师傅10 分钟前
System V信号量 vs. POSIX信号量:核心区别与选型指南
linux·嵌入式·多线程·系统编程
cjie22114 分钟前
linux系统调试PCIe板卡常用指令
linux·fpga开发
牛马小陈同学16 分钟前
Kafka+Zookeeper从docker部署到spring boot使用完整教程
linux·spring boot·docker·zookeeper·kafka·prettyzoo·kafka-ui
緣起緣落18 分钟前
Linux(CentOS 7) 部署 redis 集群
linux·运维·服务器·redis·centos·集成学习
序属秋秋秋33 分钟前
算法基础_基础算法【位运算 + 离散化 + 区间合并】
c语言·c++·学习·算法·蓝桥杯
jyyyx的算法博客1 小时前
【再探图论】深入理解图论经典算法
c++·算法·图论
蒋星熠1 小时前
在VMware下Hadoop分布式集群环境的配置--基于Yarn模式的一个Master节点、两个Slaver(Worker)节点的配置
大数据·linux·hadoop·分布式·ubuntu·docker
念_ovo1 小时前
【算法/c++】利用中序遍历和后序遍历建二叉树
数据结构·c++·算法
Vitalia1 小时前
⭐算法OJ⭐寻找最短超串【动态规划 + 状态压缩】(C++ 实现)Find the Shortest Superstring
开发语言·c++·算法·动态规划·动态压缩