matlab仿真分形树,使用MATLAB实现随机分形树模拟

使用MATLAB实现随机分形树模拟

尤鸿霞

(南通纺织职业技术学院,南通,226007)

摘要:阐述了植物模拟的典型方法L-系统及迭代函数系统(IFS)的基本原理。根据这两种方法,利用Matlab软件工具,模拟了带有随机因子的分形树,模拟的分形树形态生动逼真。Matlab具有强大的绘图工具和函数系统,实现随即分形树模拟的程序很简洁。

关键字:分形树;L-系统;迭代函数系统IFS;matlab

中图分类号:TP391.9文献标识码:A

1 介绍

自然界中种类繁多的植物大都具有自我相似的分形特征。近年来,随着分形理论的发展,分形理论在植物模拟领域得到了广泛的应用。基于分形理论的植物模拟方法主要有L-系统、迭代函数系统、粒子系统等[1]。本文以L系统、迭代函数系统(IFS)的算法思想为基础,以Matlab为编程工具,借助Matlab的绘图功能,实现了随机分形树的模拟。

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]]。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值