森之张卫东 发表于 2015-8-17 19:40

元胞自动机——渗流集群

<p>%渗流集群
%Percolation Cluster
clc
clear
close all
threshold=0.63;
%最初的图形是由图形操作决定的,以下程序设定坐
%标系为一个固定的尺寸,在坐标系里写入文本,然后
%获得并返回坐标系内容,并用getframe函数把它们
%写入一个矩阵。
ax=axes( 'units','pixels','position',,'color','k' );%1050,400画布大小!
text( 'units','pixels', 'position',,...
    'string','ZhangWeiDong','color','w','fontname','helvetica',...
    'fontsize',50 )
text( 'units','pixels', 'position',,...
    'string','1302034220','color','w','fontname','helvetica',...
    'fontsize',50 )
initial=getframe( gca );</p><p>=size(initial.cdata);
z=zeros(a,b);
cells=double( initial.cdata(:,:,1)==255 );
visit=z;
sum=z;
imh=image( cat(3,z,cells,z) );
set( imh,'erasemode','none' )</p><p>for i=1:100
    sum(2:a-1,2:b-1)=cells(2:a-1,1:b-2)+cells(2:a-1,3:b)+...
                             cells(1:a-2,2:b-1)+cells(3:a,2:b-1)+...
                             cells(1:a-2,1:b-2)+cells(1:a-2,3:b)+...
                             cells(3:a,1:b-2)+cells(3:a,3:b);
    pick=rand(a,b);
    %edge only
    cells=cells | ( (sum>=1)&(pick>=threshold)&(visit==0) );
    visit=(sum>=1);
   
    set( imh,'cdata',cat(3,z,cells,z) )
    drawnow
    %pause(0.5)
end</p><p>return
figure(2)
image( cat(3,z,cells,z) )</p><p><p><p><p><p><p>
</p>
页: [1]
查看完整版本: 元胞自动机——渗流集群