使用MATLAB实现随机分形树模拟
尤鸿霞
(南通纺织职业技术学院,南通,226007)
摘要:阐述了植物模拟的典型方法L-系统及迭代函数系统(IFS)的基本原理。根据这两种方法,利用Matlab软件工具,模拟了带有随机因子的分形树,模拟的分形树形态生动逼真。Matlab具有强大的绘图工具和函数系统,实现随即分形树模拟的程序很简洁。
关键字:分形树;L-系统;迭代函数系统IFS;matlab
中图分类 :TP391.9文献标识码:A
1 介绍
2分形模拟的实现
2.1 基于L系统的仿真
1968年,著名理论生物学家Lindenmayer,在研究植物形态的进化和构造时,提出了一种文法描述方法作为植物生长的数学理论,即L系统,它能很好地表达植物的分枝特征。之后,各地的研究人员开始关注L-系统,并对其做了各种改进。至今,L-系统仍然是植物模拟的一种重要思想方法。
L-系统是一种符 重写系统,基本思想为字符串替换,其替换规则基本如下:b→a,a→ab。
则其基本演变规律为:b→a→ab→aba→abaab→abaababa→abaababaabaab→……。字符串的增长符合fibonacci数列,即F(n+2)=F(n+1)+F(n)。
L-系统应用于植物模拟时,首先根据其符 元和替换规则产生一系列字符串,然后读取字符,按照不同字符表示的意义来执行不同的动作[2]。简单描述如下:
第一步:生成字符串
1)声明并设置产生式规则
2)声明并设置起始点、初始角、迭代步长以及迭代上限等控制参数
3)循环用替换字符串替换种子
第二步:读取字符并画图
4)逐个读取字符串中的每个字符
5)根据读取到的字符采取不同的动作
读取’F’时,画线段;
读取’+’时,逆时针旋转
读取’-’时,顺时针旋转
读取’[’时,进栈,记录当前状态
读取’]’时,出栈
图1为笔者用matlab为平台实现的基于L-系统思想的分形树,其产生式规则分别为FF[-F+F+F]+[+F-F-F]、F[+F]F[-F]F、F[+F]F[-F[+F]]。
相关资源:win10,win11可用,智尊宝纺服装CAD制版软件,win7可用最新版9.74…
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!