问题记录-(2019/11/5)

Posted xiaoniubenrecord-6161

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了问题记录-(2019/11/5)相关的知识,希望对你有一定的参考价值。

  • 坐标变换-旋转(我们把点云原坐标系称为世界坐标系,把以本身正方向得到的坐标系称为 基坐标系)

让点云cloud 旋转到与坐标轴重回,且质心位于世界坐标系原点;

1。由cloud 本身参数求得质心,获得协方差矩阵,由协方差矩阵solver 得到 vectors 和 values,

使得vectors 正交化,得到点云主方向极坐标,也是由cloud世界坐标到基坐标的旋转矩阵,

2.点云旋转至世界坐轴系重回即为基坐标向世界坐标系旋转。求仿射变换矩阵。

    Eigen::Matrix4f transfroms_residual = Eigen::Matrix4f::Identity();
    Eigen::Matrix4f transfroms_residual_inv = Eigen::Matrix4f::Identity();
    transfroms_residual.block<3, 3>(0, 0) = eigenVectorsPCA_residual.transpose();
    transfroms_residual.block<3, 1>(0, 3) = -1.0f*(eigenVectorsPCA_residual.transpose())*(pcaCentroid_residual.head<3>()); //-R*t
    transfroms_residual_inv = transfroms_residual.inverse();

要使质心位于世界坐标系原点,则平移向量为质心点坐标;

求得仿射变换矩阵;

 

 

 

 

 

以上是关于问题记录-(2019/11/5)的主要内容,如果未能解决你的问题,请参考以下文章

用于从 cloudkit 检索单列的代码模式/片段

记录C#常用的代码片段

[未解决问题记录]python asyncio+aiohttp出现Exception ignored:RuntimeError('Event loop is closed')(代码片段

discuz X3.1 源代码阅读,记录代码片段

提效小技巧——记录那些不常用的代码片段

ElasticSearch学习问题记录——Invalid shift value in prefixCoded bytes (is encoded value really an INT?)(代码片段