MATLAB画的准周期结构

2011-05-11 20:41

% Quasiperiodic
clc;clear;close all;
A=pi/2+[0:pi/7:[pi*2-pi/8]];
z1=exp(i*A);
hold on;
LD=2;
for k=1:length(z1);
    zt=[0,z1(k)];
    plot(real(zt),imag(zt),'b','Linewidth',LD);
end
z2=[z1+[z1(2:end),z1(1)]];
N=length(z2);
for k=1:N;
    kt=mod(k-1,N)+1;
    zta=[z2(kt),z1(kt)];
    kt=mod(k,N)+1;
    ztb=[z2(k),z1(kt)];
    plot(real(zta),imag(zta),'r','Linewidth',LD);
    plot(real(ztb),imag(ztb),'r','Linewidth',LD);
end
z3=[z2+[z2(2:end),z2(1)]]-[z1(2:end),z1(1)];
for k=1:N;
    kt=mod(k-1,N)+1;
    zta=[z3(kt),z2(kt)];
    kt=mod(k,N)+1;
    ztb=[z3(k),z2(kt)];
    plot(real(zta),imag(zta),'b','Linewidth',LD);
    plot(real(ztb),imag(ztb),'b','Linewidth',LD);
end
z4=[z3+[z3(2:end),z3(1)]]-[z2(2:end),z2(1)];
for k=1:N;
    kt=mod(k-1,N)+1;
    zta=[z4(kt),z3(kt)];
    kt=mod(k,N)+1;
    ztb=[z4(k),z3(kt)];
    plot(real(zta),imag(zta),'r','Linewidth',LD);
    plot(real(ztb),imag(ztb),'r','Linewidth',LD);
end
z5=[z4+[z4(2:end),z4(1)]]-[z3(2:end),z3(1)];
for k=1:N;
    kt=mod(k-1,N)+1;
    zta=[z5(kt),z4(kt)];
    kt=mod(k,N)+1;
    ztb=[z5(k),z4(kt)];
    plot(real(zta),imag(zta),'b','Linewidth',LD);
    plot(real(ztb),imag(ztb),'b','Linewidth',LD);
end
z6=[z5+[z5(2:end),z5(1)]]-[z4(2:end),z4(1)];
for k=1:N;
    kt=mod(k-1,N)+1;
    zta=[z6(kt),z5(kt)];
    kt=mod(k,N)+1;
    ztb=[z6(k),z5(kt)];
    plot(real(zta),imag(zta),'r','Linewidth',LD);
    plot(real(ztb),imag(ztb),'r','Linewidth',LD);
end
z7=z5+[z1(3:end),z1(1:2)];
for k=1:N;
    zt=[z7(k),z5(k)];
    plot(real(zt),imag(zt),'b','Linewidth',LD);
end
z8a=z7+z6-z5;
for k=1:N;
    kt=mod(k-1,N)+1;
    zta=[z8a(kt),z7(kt)];
    kt=mod(k-1,N)+1;
    ztb=[z8a(k),z6(kt)];
    plot(real(zta),imag(zta),'r','Linewidth',LD);
    plot(real(ztb),imag(ztb),'r','Linewidth',LD);   
end
z8b=z7+[z6(end),z6(1:end-1)]-z5;
for k=1:N;
    kt=mod(k-1,N)+1;
    zta=[z8b(k),z7(kt)];
    kt=mod(k-2,N)+1;
    ztb=[z8b(k),z6(kt)];
    plot(real(zta),imag(zta),'b','Linewidth',LD);
    plot(real(ztb),imag(ztb),'b','Linewidth',LD);   
end
z9a=z8a+[z8b(2:end),z8b(1)]-z6;
for k=1:N;
    kt=mod(k-1,N)+1;
    zta=[z9a(k),z8a(kt)];
    kt=mod(k,N)+1;
    ztb=[z9a(k),z8b(kt)];
    plot(real(zta),imag(zta),'r','Linewidth',LD);
    plot(real(ztb),imag(ztb),'r','Linewidth',LD);   
end
z9b=z9a+z7-z8a;
for k=1:N;
    kt=mod(k-1,N)+1;
    zta=[z9b(k),z9a(kt)];
    kt=mod(k-1,N)+1;
    ztb=[z9b(k),z7(kt)];
    plot(real(zta),imag(zta),'b','Linewidth',LD);
    plot(real(ztb),imag(ztb),'b','Linewidth',LD);   
end
z9c=[z9a(end),z9a(1:end-1)]+z7-z8b;
for k=1:N;
    kt=mod(k-2,N)+1;
    zta=[z9c(k),z9a(kt)];
    kt=mod(k-1,N)+1;
    ztb=[z9c(k),z7(kt)];
    plot(real(zta),imag(zta),'r','Linewidth',LD);
    plot(real(ztb),imag(ztb),'r','Linewidth',LD);   
end
z10a=z9b+z9c-z7;
for k=1:N;
    kt=mod(k-1,N)+1;
    zta=[z10a(k),z9b(kt)];
    kt=mod(k-1,N)+1;
    ztb=[z10a(k),z9c(kt)];
    plot(real(zta),imag(zta),'b','Linewidth',LD);
    plot(real(ztb),imag(ztb),'b','Linewidth',LD);   
end
z10b=z10a+[z9a(end),z9a(1:end-1)]-z9c;
for k=1:N;
    kt=mod(k-1,N)+1;
    zta=[z10b(k),z10a(kt)];
    kt=mod(k-2,N)+1;
    ztb=[z10b(k),z9a(kt)];
    plot(real(zta),imag(zta),'r','Linewidth',LD);
    plot(real(ztb),imag(ztb),'r','Linewidth',LD);   
end
z10c=z10a+z9a-z9b;
for k=1:N;
    kt=mod(k-1,N)+1;
    zta=[z10c(k),z10a(kt)];
    kt=mod(k-1,N)+1;
    ztb=[z10c(k),z9a(kt)];
    plot(real(zta),imag(zta),'b','Linewidth',LD);
    plot(real(ztb),imag(ztb),'b','Linewidth',LD);   
end
z11a=z10c+[z10b(2:end),z10b(1)]-z9a;
for k=1:N;
    kt=mod(k-1,N)+1;
    zta=[z11a(k),z10c(kt)];
    kt=mod(k,N)+1;
    ztb=[z11a(k),z10b(kt)];
    plot(real(zta),imag(zta),'r','Linewidth',LD);
    plot(real(ztb),imag(ztb),'r','Linewidth',LD);   
end
z11b=z10c+z10b-z10a;
for k=1:N;
    kt=mod(k-1,N)+1;
    zta=[z11b(k),z10c(kt)];
    kt=mod(k-1,N)+1;
    ztb=[z11b(k),z10b(kt)];
    plot(real(zta),imag(zta),'b','Linewidth',LD);
    plot(real(ztb),imag(ztb),'b','Linewidth',LD);   
end
z12a=z11a+z11b-z10c;
for k=1:N;
    kt=mod(k-1,N)+1;
    zta=[z12a(k),z11a(kt)];
    kt=mod(k-1,N)+1;
    ztb=[z12a(k),z11b(kt)];
    plot(real(zta),imag(zta),'r','Linewidth',LD);
    plot(real(ztb),imag(ztb),'r','Linewidth',LD);   
end
z12b=z11b+[z11a(end),z11a(1:end-1)]-z10b;
for k=1:N;
    kt=mod(k-2,N)+1;
    zta=[z12b(k),z11a(kt)];
    kt=mod(k-1,N)+1;
    ztb=[z12b(k),z11b(kt)];
    plot(real(zta),imag(zta),'b','Linewidth',LD);
    plot(real(ztb),imag(ztb),'b','Linewidth',LD);   
end
z13a=z12a+z12b-z11b;
for k=1:N;
    kt=mod(k-1,N)+1;
    zta=[z13a(k),z12a(kt)];
    kt=mod(k-1,N)+1;
    ztb=[z13a(k),z12b(kt)];
    plot(real(zta),imag(zta),'r','Linewidth',LD);
    plot(real(ztb),imag(ztb),'r','Linewidth',LD);   
end
z13b=z13a+z11a-z12a;
for k=1:N;
    kt=mod(k-1,N)+1;
    zta=[z13b(k),z13a(kt)];
    kt=mod(k-1,N)+1;
    ztb=[z13b(k),z11a(kt)];
    plot(real(zta),imag(zta),'b','Linewidth',LD);
    plot(real(ztb),imag(ztb),'b','Linewidth',LD);   
end
z13c=z13a+[z11a(end),z11a(1:end-1)]-z12b;
for k=1:N;
    kt=mod(k-1,N)+1;
    zta=[z13c(k),z13a(kt)];
    kt=mod(k-2,N)+1;
    ztb=[z13c(k),z11a(kt)];
    plot(real(zta),imag(zta),'r','Linewidth',LD);
    plot(real(ztb),imag(ztb),'r','Linewidth',LD);   
end
axis equal;
axis off;

%%%%% 输出图形:

点击微信扫一扫

关联阅读

最近留言

没有数据
扫描二维码访问
欢迎使用手机扫描二维码访问