🟠 中心到直线距离计算尺寸

功能描述

算子通过几何方法计算包围框长度和宽度。

其核心逻辑是:

  1. 首先,根据一个给定的主体点云计算出一个中心点。

  2. 然后,计算该中心点到输入的四条直线的垂直距离。

  3. 最后,算子假定这四条直线构成一个矩形的四条边,通过将相对的距离相加(即最大的两个距离相加,最小的两个距离相加),从而得出该矩形的长和宽。

使用场景

主要应用于包围盒计算点云外包围框时有偏差的场景,得到更加精准的包围框边长。

输入输出

输入项

点云:用于计算中心点的点云。

直线方程参数列表:包含四条直线模型的列表。

直线点云:包含四条直线上所有点的点云列表。仅在参数距离计算方法选择为“三角形面积周长计算高”时,此输入项才为必需项。

输出项

包围框大小:输出一个包含两个元素的列表[尺寸1,尺寸2],代表计算出的包围框长度和宽度。

参数说明

该算子有两个版本:

  • 中心到直线距离计算尺寸:处理不带法向信息的点云。

  • 中心到直线距离计算尺寸(带法向):处理带有法向信息的点云。

两者核心功能和参数完全相同,仅处理的点云数据类型不同。

中心点类型

参数说明

定义从输入的“点云”中计算中心点的方法。

调参说明

  • 点云均值:将点云中所有点的三维坐标取平均值,得到中心点。这种方法计算速度快,适用于点云分布比较均匀、噪声较少的场景。

  • 点云中位数:将点云中所有点的三维坐标取中位数,得到中心点。这种方法对离群点或稀疏噪声不敏感,当点云中存在可能影响均值计算的异常点时,使用中位数会更加稳健。

距离计算方法

参数说明

定义计算中心点到每条直线距离所使用的数学方法。

调参说明

  • 点到直线的距离:采用标准的三维空间点到直线距离公式进行计算。利用输入的“直线方程参数列表”计算较精确,是常规情况下的首选,但它依赖于直线拟合的准确性。

  • 三角形面积周长计算高:此方法需要“直线点云”输入。它将中心点与每条直线上实际点云的两个端点构成一个三角形,然后通过海伦公式计算三角形的面积和底边长,从而反算出三角形的高,以此作为点到直线的距离。当直线方程不是很精准时,或直线两点距离较短时,可以尝试此方法。