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

相关推荐
暮雪倾风2 分钟前
【WPF开发】超级详细的“文件选择”(附带示例工程)
windows·wpf
小O_好好学13 分钟前
CentOS 7文件系统
linux·运维·centos
咖啡里的茶i29 分钟前
C++之继承
c++
NormalConfidence_Man38 分钟前
C++新特性汇总
开发语言·c++
x晕x1 小时前
Linux dlsym符号查找疑惑分析
linux·运维·服务器
风清扬_jd1 小时前
Chromium 中JavaScript Fetch API接口c++代码实现(二)
javascript·c++·chrome
冷白白1 小时前
【C++】C++对象初探及友元
c语言·开发语言·c++·算法
活跃的煤矿打工人1 小时前
【星海saul随笔】Ubuntu基础知识
linux·运维·ubuntu
睡觉然后上课2 小时前
c基础面试题
c语言·开发语言·c++·面试
qing_0406032 小时前
C++——继承
开发语言·c++·继承