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

Ale*_*lex 2 point-cloud-library

过滤器的 和 方法均setMin采用an作为参数。setMaxpcl::CropBoxEigen::Vector4f

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

Ard*_*iya 5

Vector4F 有什么用?

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

简单的答案是:只需将最后一位数字设置为 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]]
Run Code Online (Sandbox Code Playgroud)

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

请随意提出更多问题,因为我可以更新这个答案。