如何在 matlab 中旋转 3D 数组?
我的输入数据是一个矩阵 n*n*n。我想将它围绕其中心旋转到任意角度(theta,phi),并在输出处有另一个 n*n*n 矩阵(当然,无论在哪里定义值)。
例如,给定
a(:,:,1) = [0 0 0;
0 0 0;
0 0 0];
a(:,:,2) = [0 0 0;
0 0 1;
0 0 0];
a(:,:,3) = [0 0 0;
0 0 0;
0 0 0];
被旋转到 [pi/2; pi/2](因此,Z 周围 45 度和 x 周围 45 度)应该产生类似
a(:,:,1) = [0 0.1 0.5;
0 0.05 0.1;
0 0 0];
a(:,:,2) = [0 0.1 0.05;
0 0 0.1;
0 0 0];
a(:,:,3) = [0 0 0;
0 0 0;
0 0 0];
(数值为近似值)。
如果有一个内置函数呢?你会建议我创建什么?