Matlab分形植物模拟
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
形植物,模拟的分形植物细节丰富,形态生动逼真,体现了分形学在描述自然景物的独特优势。
关键词:分形植物;L 系统;迭代函数系统;Matlab
中图分类号:O241.5
文献标识码:A
文章编号:1007-984X(2008)03-0063-04
1 L 系统与迭代函数系统
1.1 L 系统 L 系统是美国生物学家 Lindenmayer 1968 年为模拟生物形态而设计的描述植物形态与生长的方法。L 系
function Ltree(n);
S='F'; a=pi/8; A=pi/2; z=0; zA=[0,pi/2];
p='FF+[+F-F-F]-[-F+F+F]';
for k=2:n;
S=strrep(S,'F',p);
end
figure; hold on; for k=1:length(S);
n=2
2 分形植物模拟
L 系统用于植物结构绘制,比如一棵树,它是分支结构,即一根树干带大量的分枝,每个分枝都有一 个终点,是一种一个起点多个终点的图形。这就意味着在某一运算中,当画到一个分枝的尽头时画笔必须 退回来再画其它结构,即产生一种所谓进退操作。该操作符号是一对方括号[·],方括号中是 3 个简单符 号,即 F,+,-。当执行完方括号中的指令后,画笔回到方括号“[”前的位置并保持原方向不变。设公理 W: F;生成规则 P:F → FF+[+F-F-F]-[-F+F+F];角度增量 a:22.5°。在公理中,从起点往上两步后,先后
防止结垢的技术应考虑以下几点:1)防止结垢形成;2)防止结垢后物质之间的粘结及其在传热表面上的沉积;3)从 传热表面上除去沉积物。
防止结垢采取的措施包括以下几个方面: 1 设计阶段应采取的措施
在换热器的设计阶段,考虑潜在污垢时的设计,应考虑如下 6 个方面:1)换热器容易清洗和维修(如板式换热器);2) 换热设备安装后,清洗污垢时不需拆卸设备,即能在工作现场进行清洗;3)应取最少的死区和低流速区;4)换热器内流速 分布应均匀,以避免较大的速度梯度,确保温度分布均匀(如折流板区);5)在保证合理的压力降和不造成腐蚀的前提下, 提高流速有助于减少污垢;6)应考虑换热表面温度对污垢形成的影响。 2 运行阶段污垢的控制
换热器发生结垢的原因分析及处理方法
换热器是炼油厂常减压车间应用广泛的冷换设备,工厂每年因处理换热器的结垢而耗资巨大,问题严重时还会影响安全 生产的进行。根据结垢层沉积的机理,可将污垢分为颗粒污垢、结晶污垢、化学反应污垢、腐蚀污垢、生物污垢等。
1)颗粒污垢:悬浮于流体的固体微粒在换热表面上的积聚。这种污垢也包括较大固态微粒在水平换热面上因重力作用 形成的沉淀层,即所谓沉淀污垢和其他胶体微粒的沉积。
2)结晶污垢:溶解于流体中的无机盐在换热表面上结晶而形成的沉积物,通常发生在过饱和或冷却时。典型的污垢如 冷却水侧的碳酸钙、硫酸钙和二氧化硅结垢层。
3)化学反应污垢:在传热表面上进行化学反应而产生的污垢,传热面材料不参加反应,但可作为化学反应的一种催化 剂。
4)腐蚀污垢:具有腐蚀性的流体或者流体中含有腐蚀性的杂质对换热表面腐蚀而产生的污垢。通常,腐蚀程度取决于 流体中的成分、温度及被处理流体的 pH 值。
⎡ ⎢⎣
x′⎤ y′⎥⎦
=
⎡r ⎢⎣r
cos θ cosθ
− s sinϕ s sinϕ
⎤⎡ ⎥⎦⎢⎣
x⎤ y⎥⎦
+
⎡h⎤ ⎢⎣k ⎥⎦
利用表 1 中仿射变换的参量可以生成带梗的植物叶子——分形厥叶。
IFSJ.m.程序代码设计如下:在命令窗口运行 IFSJ (n),图形结果如图 2 所示。
function [xx,yy]= IFSJ (N)
n=3
switch S(k);
case 'F'
plot([z,z+exp(i*A)] ,'linewidth',2);
z=z+exp(i*A);
Βιβλιοθήκη Baidu
case '+'
A=A+a;
case '-' A=A-a;
n=4
n=5
case '['
图 1 分形树的模拟
zA=[zA;[z,A]]; case ']'
z=zA(end,1); A=zA(end,2); zA(end,:)=[ ]; otherwise end
收稿日期:2007-01-03 基金项目:黑龙江省教育厅科学技术项目(11523056, 11521306) 作者简介:丁永胜(1974-), 男, 黑龙江讷河人, 讲师, 硕士研究生,主要研究方向:CAGD, E-mail:dysnwpu@126.com。
·64·
齐齐哈尔大学学报
2008 年
作出两个分枝,而每个分枝又分别右凸左凸,最后形成一棵风吹动着树的模样。其 Ltree.m.程序代码设计 如下;在命令窗口运行 Ltree(n),结果如图。
迭代函数系统(Iterated Function System)是分形绘制的典型重要方法。其采用确定性算法与随机性算 法相结合的办法生成植物杆茎或叶片等分形图。“确定性”指用以迭代的规则是确定性的,它们由一组仿 射变换(如 R1,R2,R3 等) 构成;“随机性”指迭代过程是不确定的,即每一次究竟迭代哪一个规则是随机 性的,设最终要生成的图形(植物形态图)为 M ,它要满足集合方程:M=R1∪R2∪…∪RN 。公式的含义 是,随机地从 Ri(i=1,…,N)中挑选一个迭代规则迭代一次,然后再随机地在 Ri(i=1,…,N)中选一 个规则迭代一次,不断重复此过程,最后生成的极限图形 M 就是欲求的植物形态图。
Abstract:The paper introduces the methods of fractal Image for simulating the fractal natural plants. It adopts L
·66·
齐齐哈尔大学学报
2008 年
system and iterated function system with the Matlab functions and program. The fractal plants’ configuration is detail and lifelikeness, fractal gometric is excellence in simulating the fractal natural plants. Key words:fractal plants;L system;iterated function system;Matlab
5)生物污垢:除海水冷却装置外,一般生物污垢均指微生物污垢。其可能产生粘泥,而粘泥反过来又为生物污垢的繁 殖提供了条件,这种污垢对温度很敏感,在适宜的温度条件下,生物污垢可生成可观厚度的污垢层。
6)凝固污垢:流体在过冷的换热面上凝固而形成的污垢。例如当水低于冰点而在换热表面上凝固成冰。温度分布的均 匀与否对这种污垢影响很大。
统实际上是字符串重写系统。即把字符串解释成图形,于是只要能生成字符串,也就等于生成了图形。从 一个初始串(叫做公理)记为 W 开始,将生成规则 P 多次作用于其上,最后产生一个较长的命令串,用 它来绘图。
对于 L 系统可以用较复杂的图形解释,在除了模拟植物分支拓扑结构外,还要加上线段长度和转角等 几何形状。L 系统的符号串也称“龟行图”(turtle), 即设想一只乌龟在平面上爬行,乌龟的状态用三元组 (X,Y,D)表示, 其中 X 和 Y 分别代表横坐标和纵坐标,D 代表当前的朝向。令 δ 是角度增量,h 是步 长。文中所用 L 系统的符号规定与解释:F:从当前位置向前移一步,步长为 h,同时画线;G:从当前位 置向前移一步,步长为 h,但不画线;+:从当前方向逆时针转一个给定的角度 δ; -:从当前方向顺时 针转一个给定的角度 δ;|:原地转向 180°;[:Push,将龟行图当前状态压进栈(stack);]:Pop,将图形 状态重置为栈顶的状态,并去掉该栈中的内容;A:记录状态的方向;z:记录当前的位置。 1.2 迭代函数系统(IFS)
第 24 卷第 3 期 2008 年 5 月
齐齐哈尔大学学报 Journal of Qiqihar University
Vol.24,No.3 May,2008
Matlab 分形植物模拟
丁永胜,堵秀凤,张水胜
(齐齐哈尔大学 理学院,黑龙江 齐齐哈尔 161006)
摘要:研究了利用 Matlab 软件,采用 L 系统与迭代函数系统(IFS)分形绘制方法,通过数学实验的形式绘制分
x=0;y=0;p=rand(1,N);
AA=[0,0,0.16,0,0,0;0.85, -2.5/180*pi,0.85,-2.5/180*pi,0,1.6;…
0.3,49/180*pi,0.34,49/180*pi,0,1.6;0.3,120/180*pi,0.37,-50/180*pi,0,0.44];
elseif p(1,ss)<=0.9025;
第3期
Matlab 分形植物模拟
·65·
[x,y]=IFS(x,y,AA(3,1),AA(3,2),AA(3,3),AA(3,4),AA(3,5),AA(3,6)); else
[x,y]=IFS(x,y,AA(4,1),AA(4,2),AA(4,3),AA(4,4),AA(4,5),AA(4,6)); end xx(ss)=x; yy(ss)=y; end plot(xx,yy,'.b','markersize',2); set(gcf,'color','w') axis square off; %带概率的仿射变换函数 function [xp,yp]=IFS(x,y,r,thita,s,phi,h,k) xp=r*x*cos(thita)-s*y*sin(phi)+h; yp=r*x*sin(thita)+s*y*cos(phi)+k; return
为了显示该分形产生过程,现在命令窗口运行 IFSJ (5000);IFSJ (10000);IFSJ (50000);IFSJ (100000); IFSJ (200000)得到图 2 结果。
3 结论
图 2 随机迭代生成的厥叶
由于自然景物形态复杂和不规则性,用传统的几何工具很难对其进行描述,而用分形模型却能很好地 描述自然景物。本文基于 Matlab 平台,以数学实验为手段,通过两种分形绘制方法(L 系统、IFS)分形植物, 通过实验可知分形以其独特的手段解决了整体与部分的关系问题,并利用空间结构的对称性和自相似性, 采用各种模拟真实图形的模型,使整个生成的景物呈现出细节的无穷回归的性质,丰富多彩,具有奇妙的 艺术魅力。
参考文献
[1] 李水根.分形[M].北京:高等教育出版社,2004. [2] 清源计算机工作室.MATLAB 基础及其应用[M].北京:机械工业出版社,2000. [3] 齐东旭.分形及其计算机生成[M].北京:高等教育出版社,1994. [4]] 周晓阳.数学实验与 MATLAB[M].武汉:华中科技大学出版社.2002.
xx=zeros(N,1); yy=zeros(N,1);
for ss=1:N;
if p(1,ss)<=0.005;
[x,y]=IFS(x,y,AA(1,1),AA(1,2),AA(1,3),AA(1,4),AA(1,5),AA(1,6));
elseif p(1,ss)<=0.805;
[x,y]=IFS(x,y,AA(2,1),AA(2,2),AA(2,3),AA(2,4),AA(2,5),AA(2,6));
变换
1 2 3 4
表 1 仿射变换的参量
参数
r
S
θ
ϕ
h
0
0
0
0.16
0
0.85
0.85
-2.5 -2.5
0
0.3
0.34
49
49
0
0.3
0.37 120 -50
0
概率 k
0
0.005
1.6
0.8
1.6
0.0975
0.44
0.0975
end
在实际的分形图中,常常由随机迭代生成带梗的植物叶子,即在原来的 IFS 中增加一组随机数。这样 生成的叶子通过 3 个仿射变换及相应的概率向量决定。设二维仿射变换的形式为
The Matlab applied in simulating the fractal natural plants
DING Yong-sheng,DU Xiu-feng,ZHANG Shui-sheng
(Department of Mathematics,Qiqihar University,Heilongjiang Qiqihar161006,China)