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

相关推荐
OpenC++2 分钟前
【C++QT】Layout 布局管理控件详解
c++·经验分享·qt·leetcode
dessler23 分钟前
Kubernetes(k8s)-集群监控(Prometheus)
linux·运维·kubernetes
一夜沐白24 分钟前
Linux用户管理
linux·运维·服务器·笔记
1白天的黑夜137 分钟前
贪心算法-860.柠檬水找零-力扣(LeetCode)
c++·算法·leetcode·贪心算法
BS_Li44 分钟前
C++类和对象(上)
开发语言·c++·类和对象
PLUS_WAVE1 小时前
【Tools】chezmoi 跨多台不同的机器管理 dotfiles 的工具
linux·服务器·软件工程·工具·chezmoi
补三补四1 小时前
操作系统:计算机世界的基石与演进
开发语言·windows·计算机外设
超能力MAX1 小时前
关于C++中的指针值的传递
开发语言·c++
wuqingshun3141592 小时前
蓝桥杯 16. 密文搜索
c++·算法·职场和发展·蓝桥杯·深度优先
唐青枫2 小时前
Linux man 命令使用教程
linux