为什么 pcl::CropBox 的最小和最大向量是 4 维的?

Why are the min and max vectors for pcl::CropBox 4-dimensional?

pcl::CropBox 过滤器的 setMinsetMax 方法每个都接受一个 Eigen::Vector4f 作为参数。

为什么是 4f 而不是 3f?什么是第四维度?

Vector4F 有什么用?

Vector4f对应homogeneous coordinate。例如,(3, 4, 5, 1) 和(6, 8, 10, 2) 是齐次坐标系中的同一点。在这种情况下,您可以将 (a, b, c, d) 规范化为 (a/d, b/d, c/d, 1)。

Easy answer is: Just set the last digit to 1

为什么 PCL CropBox 需要 Vector4f?

这是因为 PCL CropBox 可以通过 setTransform

处理任何框变换

变换矩阵通常包含一个 4x4 矩阵,示例如下,其中 r 是一个 3x3 旋转矩阵,t 是一个 3-d 向量

[[r0, r1, r2, t0],
 [r3, r4, r5, t1],
 [r6, r7, r8, t2],
 [ 0,  0,  0,  1]]

将齐次坐标 (1x4) 向量与 (4x4) 矩阵相乘会更容易。

欢迎提出更多问题,因为我可以更新此答案。