fern.m
来自「通过MATLAB程序画分型厥的图形!程序会一直运行,产生出一个点越来越密的图形.」· M 代码 · 共 40 行
M
40 行
function fern
shg
clf reset
set(gcf,'color','white','menubar','none','numbertitle','off','name','Fractal Fern')
x=[.5;.5];
h=plot(x(1),x(2),'.');
darkgreen=[0 2/3 0];
set(h,'markersize',1,'color',darkgreen,'erasemode','none');
axis([-3 3 0 10])
axis off
stop=uicontrol('style','toggle','string','stop','background','white');
drawnow
p=[.85 .92 .99 1.00];
A1=[.85 .04;-.04 .85];b1=[0;1.6];
A2=[.02 -.26;.23 .22];b2=[0;1.6];
A3=[-.15 .28;.26 .24];b3=[0;.44];
A4=[0 0;0 .16];
cnt=1;
tic
while ~get(stop,'value')
r=rand;
if r<p(1)
x=A1*x+b1;
elseif r<p(2)
x=A2*x+b2;
elseif r<p(3)
x=A3*x+b3;
else
x=A4*x;
end
set(h,'xdata',x(1),'ydata',x(2));
cnt=cnt+1;
drawnow
end
t=toc;
s=sprintf('%8.0f points in %6.3f seconds',cnt,t);
text(-1.5,-0.5,s,'fontweight','bold');
set(stop,'style','pushbutton','string','close','callback','close(gcf)')
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?