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

相关推荐
A.A呐4 分钟前
【Linux第十九章】网络基础
linux·网络
桌面运维家12 分钟前
BGP路由优化实战:加速收敛,提升网络稳定性
网络·windows·php
陳103014 分钟前
Linux:基础开发工具
linux·运维·服务器
sg_knight17 分钟前
CentOS 裸机实操:5分钟完成 MinIO 单机部署与公网访问
linux·python·centos·文件管理·minio·ftp·oss
dgvri20 分钟前
Linux(CentOS)安装 MySQL
linux·mysql·centos
Coder个人博客20 分钟前
06_apollo_third_party子模块整体软件架构深入分析文档
linux·人工智能·架构
我爱学习好爱好爱28 分钟前
Ansible 常用模块详解:cron、archive、unarchive实战
linux·服务器·ansible
十年编程老舅33 分钟前
Linux 多线程高并发编程:读写锁的核心原理与底层实现
linux·c++·linux内核·高并发·线程池·多线程·多进程
wildlily842738 分钟前
C++ Primer 第5版章节题 第十三章(二)
开发语言·c++
xiaoye-duck1 小时前
【C++:unordered_set和unordered_map】 深度解析:使用、差异、性能与场景选择
开发语言·c++·stl