例1:一个三维矩阵,如何绕着z轴逆时针旋转90°?(及z方向不变,xy平面的数组逆时针旋转)
a = rand(4,3,2);
先给出一个随机的三维矩阵a,将矩阵a绕z轴逆时针旋转90°,能得到下方矩阵c的形式,下面演示如何把矩阵a变成矩阵c的样子。
b = permute(a,[2,1,3]);
可以看出permute中[2,1,3]表示,第三个维度位置不变,第一个维度和第二个维度对调。其实此时这个命令就相当于对二维数组进行转置,b(:,:,1)=a(:,:,1)' b(:,:,2)=a(:,:,2)'
得到矩阵b,发现X轴和Y轴是对调了,但是这个方向和矩阵C不一样,那么再修改一下:
c = flipud(b); %对矩阵进行上下翻转
上下翻转后,结果就和目标矩阵c一致啦,实现了三维矩阵绕z轴进行了一个逆时针的旋转。文章来源:https://www.toymoban.com/news/detail-851457.html
例2:二维矩阵如何逆时针旋转?文章来源地址https://www.toymoban.com/news/detail-851457.html
a = rand(3,4);
b = a';
c = flipud(b);
到了这里,关于Matlab---逆时针旋转三维矩阵(permute、flipud)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!