【发布时间】:2016-03-07 13:23:55
【问题描述】:
这似乎是一个特别愚蠢的问题,但我没有设法在文档中找到答案:
如何将变换矩阵(平移和旋转)应用于点云,即应用于云中的每个点。
提前致谢。
【问题讨论】:
-
向我们展示您的尝试
-
可能只使用矩阵乘法
这似乎是一个特别愚蠢的问题,但我没有设法在文档中找到答案:
如何将变换矩阵(平移和旋转)应用于点云,即应用于云中的每个点。
提前致谢。
【问题讨论】:
您可以使用矩阵乘法。如果您的转换矩阵是 4x4 矩阵,则必须用 1 填充您的点。
T = [1, 0, 0, 0; 0, 1, 0, 0; 0, 0, 1, 0; 0, 0, 0, 1];
P1 = [1; 2; 3];
P2 = T * [P1; 1];
如果您想将转换应用到整个云,您将不得不使用单元格。如果你想让它更快,试试this library
【讨论】:
affine3d)使用将点乘以变换矩阵的约定:p * T。见mathworks.com/help/images/ref/affine3d-class.html#properties。为什么需要使用元胞数组来转换多个点?将n x 4 点数组乘以变换矩阵就足够了,对吗?