%% 旋转
x=[0 1 1 0 0];
y=[0 0 1 1 0];
plot(x,y)
h=patch(x,y,'b');
h.FaceAlpha=0.5;
hold on
axis([-2 2 -2 2])
axis equal
for i=1:40 %旋转40次
M=[cos(pi/40*i) -sin(pi/40*i);
sin(pi/40*i) cos(pi/40*i)];
T=M*[x;y];
plot(T(1,:),T(2,:))
h2=patch(T(1,:),T(2,:),'r');
h2.FaceAlpha=0.1;
pause(0.2)
end
%% X轴压缩
x=[0 1 1 0 0];
y=[0 0 1 1 0];
plot(x,y)
h=patch(x,y,'b');
h.FaceAlpha=0.5;
hold on
axis([-2 2 -2 2])
axis equal
M=[0.2 0;0 1];
T=M*[x;y];
plot(T(1,:),T(2,:))
h2=patch(T(1,:),T(2,:),'r');
h2.FaceAlpha=0.1;
%% Y轴压缩/延伸
clear
close
x=[0 1 1 0 0];
y=[0 0 1 1 0];
plot(x,y)
h=patch(x,y,'b');
h.FaceAlpha=0.5;
hold on
axis([-2 2 -2 2])
axis equal
M=[1 0;0 2];
T=M*[x;y];
plot(T(1,:),T(2,:))
h2=patch(T(1,:),T(2,:),'r');
h2.FaceAlpha=0.1;
%% X轴镜像
clear
close
x=[0 1 1 0 0];
y=[0 0 1 1 0];
plot(x,y)
h=patch(x,y,'b');
h.FaceAlpha=0.5;
hold on
axis([-2 2 -2 2])
axis equal
M=[1 0;0 -1];
T=M*[x;y];
plot(T(1,:),T(2,:))
h2=patch(T(1,:),T(2,:),'r');
h2.FaceAlpha=0.1;
%% Y轴镜像
clear
close
x=[0 1 1 0 0];
y=[0 0 1 1 0];
plot(x,y)
h=patch(x,y,'b');
h.FaceAlpha=0.5;
hold on
axis([-2 2 -2 2])
axis equal
M=[-1 0;0 1];
T=M*[x;y];
plot(T(1,:),T(2,:))
h2=patch(T(1,:),T(2,:),'r');
h2.FaceAlpha=0.1;
%% X轴剪切
clear
close
x=[0 1 1 0 0];
y=[0 0 1 1 0];
plot(x,y)
h=patch(x,y,'b');
h.FaceAlpha=0.5;
hold on
axis([-2 2 -2 2])
axis equal
M=[1 0.5;0 1];
T=M*[x;y];
plot(T(1,:),T(2,:))
h2=patch(T(1,:),T(2,:),'r');
h2.FaceAlpha=0.1;
%% Y轴剪切
clear
close
x=[0 1 1 0 0];
y=[0 0 1 1 0];
plot(x,y)
h=patch(x,y,'b');
h.FaceAlpha=0.5;
hold on
axis([-2 2 -2 2])
axis equal
M=[1 0;-0.5 1];
T=M*[x;y];
plot(T(1,:),T(2,:))
h2=patch(T(1,:),T(2,:),'r');
h2.FaceAlpha=0.1;
%% y=x轴旋转
clear
close
x=[-1 1 0 -1];
y=[0 0 1 0];
plot(x,y)
h=patch(x,y,'b');
h.FaceAlpha=0.5;
hold on
axis([-2 2 -2 2])
M=[0 1;1 0];%延y=x这条线翻转
T=M*[x;y];
plot(T(1,:),T(2,:))
h2=patch(T(1,:),T(2,:),'r');
h2.FaceAlpha=0.1;