MATLAB--圖形旋轉、壓縮、映象、剪下
%% 旋轉 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;