平移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自带的点云变换包含指令集优化,如下:文章来源:https://www.toymoban.com/news/detail-765212.html
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文章来源地址https://www.toymoban.com/news/detail-765212.html
到了这里,关于eigen::Affine3d 转换的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!