Вы можете использовать команду viewmtx для определения правильной матрицы преобразования. Чтобы это работало, вы берете все свои значения X, Y и Z и переформируете их в одну строку. Если ваши исходные данные не имеют значений Z, установите их на ноль.
Вы должны изменить свои преобразованные координаты обратно к их предыдущим формам, чтобы использовать их в командах «прибоя» и т. Д.
Матрица преобразования - это просто функция представления, поэтому вы можете применить одно и то же преобразование к нескольким наборам данных, просто создав новую переменную XYZ1 и снова умножив ее. Это также удобно, если вы хотите сделать анимацию, когда вы кружите вокруг сюжета. Вы можете просто повторно применить преобразование.
sizeX = size(X); % repeat for Y, Z;
X = reshape(X,1,numel(X)); % repeat for Y, Z;
XYZ1 = [X; Y; Z; ones(size(X))]; % it's important that you make this 4 rows
A = viewmtx(Azimuth, Elevation);
Transformed_XYZ = A * XYZ1; % you must left-multiply by A
X_Transformed = Transformed_XYZ(1,:); % rows 2 and 3 for Y and Z respectively
X_Transformed = reshape(X_transformed, sizeX); % putting X' into the same shape as X - repeat for Y and Z