« 上一篇: 生成分形树 下一篇: 分形三维地形生成1 »
萝卜 @ 2005-05-09 22:09

出处:
http://blog.china-pub.com/more.asp?name=reverie&id=5709
%============源程序============

function fern
%   FERN  分形蕨
%   参考Michael Barnsley, Fractals Everywhere, Academic Press, 1993.
%   此版本不会自动停止,除非按停止

shg %显示图形窗口
clf reset %删除除位置和长度之外的所有图形属性,恢复到初始值
set(gcf,'color','white','menubar','none', ...
  'numbertitle','off','name','Fractal Fern') %设置窗口为白色背景、无菜单
                                    % 条、numbertitle关闭、标题为Fractal Fern
x = [.5; .5]; %初始点位置
h = plot(x(1),x(2),'.');  %在选定的位置画点,并令点的句柄为h
darkgreen = [0 2/3 0]; %点的颜色(RGB)
set(h,'markersize',1,'color',darkgreen,'erasemode','none'); %设置点的大
                                          % 小为1,颜色为darkgreen,不可擦除
axis([-3 3 0 10]) %设置-3≤x1≤3,0≤x2≤10
axis off %不显示坐标轴
stop = uicontrol('style','toggle','string','stop', ...
  'background','white'); %在窗口上画了一个按钮控件,标题为Stop,背景设为白色
drawnow %立刻显示上述图形内容

p  = [ .85  .92  .99  1.00]; %设置一个概率矢量,改变其中值可以得到不同的分形蕨
A1 = [ .85  .04; -.04  .85];  b1 = [0; 1.6];
A2 = [ .20 -.26;  .23  .22];  b2 = [0; 1.6];
A3 = [-.15  .28;  .26  .24];  b3 = [0; .44];
A4 = [  0    0 ;   0   .16]; %A1~A4,b1~b3定义了四个仿射变换

cnt = 1; %计数
tic %计时
while ~get(stop,'value') %按下Stop键之后才停止绘画
  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)); %改变点的位置
  drawnow
  cnt = cnt + 1;
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)') %按钮显示为Close,如果按下则调用关闭事件

最新评论


summer

2008-06-19 08:49 匿名 219.243.*.*

谢谢,看了你的程序受益颇深!!


评论 / 个人网页 / 扔小纸条
* 昵称

已经注册过? 请登录

新用户请先注册 以便能显示头像及追踪评论回复

Email
网址
* 评论
表情
 


 

分类小组论坛
杂谈 , 娱乐、八卦 , 文学、艺术 , 体育 , 旅游、同城 , 象牙塔 , 情感 , 时尚、生活 , 星座 , 科技

请注意遵守中华人民共和国法律法规, 如威胁到本站生存, 将依法向有关部门报告, 同时本站的相关记录可能成为对您不利的证据.

相关法律法规
全国人大常委会关于维护互联网安全的决定
中华人民共和国计算机信息系统安全保护条例
中华人民共和国计算机信息网络国际联网管理暂行规定
计算机信息网络国际联网安全保护管理办法
计算机信息系统国际联网保密管理规定