matlab中如何实现坐标轴旋转

来源:百度知道 编辑:UC知道 时间:2024/06/16 19:24:11
想要让坐标轴旋转逆时针旋转45度
我给每个点的坐标乘以一个转换矩阵[cos(45) -sin(45);sin(45) cos(45)]
得到的结果好像不对
对于二次函数 坐标轴变化后 图形的几何形状好像都变了
请问该怎么做

要旋转图像或视角,请分别用rotate和view函数,具体用法自己看其帮助文档,有图有真相,一看就清楚了。二维情形一样做,把它看成是三维的一部分就行了。

你用的旋转公式是顺时针旋转坐标轴45度的,也就是逆时针旋转图像45度。
你想反过来,把45改为-45就可以了。
下面是例子
x=linspace(-2,2);
y=x.^2;
A=[cosd(-45) -sind(-45);sind(-45) cosd(-45)]*[x;y];
plot(x,y,'r',A(1,:),A(2,:));
axis equal;
legend('原图像','顺时针旋转45°后的图像')

1先绘制个基本图形:
x = -pi/2:0.01:pi;
plot(x,sin(x))
2 上面坐标轴长了,只要-pi/2到pi的:
set(gca,'XLim',[-pi/2 pi])
3坐标轴只显示整数和.5,想制定出'-pi/2' '-pi/4:' '0' 'pi/4' 'pi/2' 'pi*3/4' 'pi'坐标:
set(gca,'XTick',[-pi/2:pi/4:pi])
4 显示的都是小数,要显示成'-pi/2' '-pi/4:' '0' 'pi/4' 'pi/2' 'pi*3/4' 'pi':
set(gca,'XTickLabel',{'-pi/2' '-pi/4:' '0' 'pi/4' 'pi/2' 'pi*3/4' 'pi'})
5 想把X轴反过来,左边值大右边值小:
set(gca,'XDir','rever