如何在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];
(值是近似值)。
如果有内置功能吗?你建议我创建它的是什么?