在matlab中旋转3D数组

时间:2013-10-18 13:04:49

标签: arrays matlab matrix 3d rotation

如何在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];

(值是近似值)。

如果有内置功能吗?你建议我创建它的是什么?

0 个答案:

没有答案