3
M
是仿射變換矩陣,可以從一個變換座標系到另一個如下:如何將仿射變換(4x4矩陣)應用於ndgrid/meshgrid結果?
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
以上),但必須有一個更好的解決方案。
整潔!我有一個非常大的矩陣,但(X_old是512x512x300),所以我不能創建矩陣,而我仍然得到ndgrid結果。 – Anna
(「保證」在「保留在RAM中」) – Anna
@Anna在這種情況下,您可能需要一個循環來構建矩陣的每一行:'result(ii,:) = [X_old(ii)Y_old(ii)Z_old (ii)1] * M;'其中'ii'是循環變量(從'1'到'numel(X)')。或者在塊中建立矩陣,使用盡可能多的行,每塊可以承受 –