M
是一种仿射变换矩阵,可以将坐标从一个坐标系转换为另一个坐标系,具体如下:
v_old = [ x_old y_old z_old 1];
v_new = M * v_old;
% v_new contains [ x_new y_new z_new 1 ]
现在,我有ndgrid/meshgrid格式的坐标:
[ X_old Y_old Z_old ] = ndgrid( 0:15 ); % for instance
我该如何将它们转换为X_new
等?
我可以使用三个 for 循环(X_old(i,j,k)
对应上面的 x_old
),但肯定有更好的解决方案。
result(ii,:) = [X_old(ii) Y_old(ii) Z_old(ii) 1] * M;
,其中ii
是循环变量(从1
到numel(X)
)。或者使用尽可能多的行来分块构建矩阵。 - Luis MendoM
必须被转置。谢谢! - Anna