秋天的萝卜

萝卜的哈工大博客

输入密码GUI的小程序 »

MATLAB画的准周期结构

% 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;

%%%%% 输出图形:

  • 相关文章:
  • quote 1.hitwdh
  • 不错,萝卜还保留着经常搞小程序的习惯呢,提点建议,程序多给点背景介绍和注释呗...
  • 2011-5-12 16:39:14 回复该留言
  • quote 2.zjliu
  • 老弟还是第一个留言的访客,呵呵
    欢迎常来踢场,提意见
  • 2011-5-12 21:26:17 回复该留言
  • quote 3.zjliu
  • 这个图的出处可以在下面网址的文章中查到
    http://eprints.iisc.ernet.in/1794/
  • 2011-5-12 21:35:40 回复该留言

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

日历

最新评论及回复

最近发表

Powered By Z-Blog 1.8 Arwen Build 90619 Code detection by Codefense  theme by BokeZhuti

Copyright;2009-2009 blog.hit.edu.cn All Rights Reserved 哈工大网络与信息中心