元胞自动机——渗流集群
<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]