迭代函数系统matlab实现,使用MATLAB实现随机分形树模拟

摘要: 阐述了植物模拟的典型方法 L-系统及迭代函数系统(IFS)的基本原理. 根据这两种方法,利用MATLAB 软件工具,模拟了带有随机因子的分形树,模拟的分形树形态生动逼真. MATLAB 具有强大的绘图工具和函数系统,实现随机分形树模拟的程序很简洁. 关键词: 分形树; L-系统; 迭代函数系统 IFS; MATLAB 中图分类号: TP391.9 文献标志码: A 文章编号: 1671-6191(2010)04-0018-03 自然界中种类繁多的植物大都具有自我相似的分形特征. 近年来,随着分形理论的发展,分形理论在植物模拟领域得到了广泛的应用. 基于分形理论的植物模拟方法主要有 L-系统、迭代函数系统、粒子系统等[1]. 本文以 L 系统、迭代函数系统(IFS)的算法思想为基础,以 MATLAB 为编程工具,借助 MATLAB 的绘图功能,实现了随机分形树的模拟. 1 分形模拟的实现 1.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]. 简单描述如下:第一步生成字符串. ① 声明并设置产生式规则;② 声明并设置起始点、初始角、迭代步长以及迭代上限等控制参数;③ 循环用替换字符串替换种子. 第二步读取字符并画图. ① 逐个读取字符串中的每个字符. ② 根据读取到的字符采取不同的动作,读取’F’时,画线段;读取’+’时,逆时针旋转;读取’-’时,顺时针旋转;读取’[’时,进栈,记录当前状态;读取’]’时,出栈. 图 1 为笔者以 MATLAB 为平台实现的基于 L-系统思想的分形树,其产生式规则分别为 FF[-F+F+F] +[+F-F-F]、F[+F]F[-F]F、F[+F]F[-F[+F]]. 随着植物模拟技术的发展,一些研究者提出在分形树的基础上加入随机因子,这样的生成树就不是完全按照某一确定的规则,体现了自然界由于外界条件造成的树木生长的偶然性,这样得到的分形 树更自然,更逼真. 丁永胜等人[3]曾以 MATLAB 实现 使用MATLAB 实现随机分形树模拟 尤 鸿 霞 (南通纺织职业技术学院,南通 226007) 图 1 不同生成规则的分形树 收稿日期: 2010-07-05 作者简介: 尤鸿霞(1980- ),女,黑龙江伊春人,南通纺织职业技术学院信息系教师,研究方向为模式识别,计算机图形学。 南通纺织职业技术学院学报(综合版) JournalofNantongTextileVocationalTechnologyCollege Vol.10,No.4 Dec.2 0 1 0 第 10 卷 第 4 期2 0 1 0 年12月 分形树模拟,其分形树是使用单一规则实现的,整棵树采用同一种自相似规则,每一个分枝的分形方法都相同,其生成树的结果如图 2. 笔者在其基础上

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值