下载此文档

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


文档分类:研究生考试 | 页数:约5页 举报非法文档有奖
1/5
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/5 下载此文档
文档列表 文档介绍
使用MATLAB实现随机分形树模拟
尤鸿霞
(南通纺织职业技术学院,南通,226007)
摘要:阐述了植物模拟的典型方法L-系统及迭代函数系统(IFS)的基本原理。根据这两种方法,利用Matlab软件工具,模拟了带有随机因子的分形树,模拟的分形树形态生动逼真。Matlab具有强大的绘图工具和函数系统,实现随即分形树模拟的程序很简洁。
关键字:分形树; L-系统; 迭代函数系统 IFS; matlab
中图分类号: 文献标识码:A
1 介绍
自然界中种类繁多的植物大都具有自我相似的分形特征。近年来,随着分形理论的发展,分形理论在植物模拟领域得到了广泛的应用。基于分形理论的植物模拟方法主要有L-系统、迭代函数系统、粒子系统等[1]。本文以L系统、迭代函数系统(IFS)的算法思想为基础,以Matlab为编程工具,借助Matlab的绘图功能,实现了随机分形树的模拟。
2分形模拟的实现
基于L系统的仿真
1968年,著名理论生物学家Lindenmayer,在研究植物形态的进化和构造时,提出了一种文法描述方法作为植物生长的数学理论,即L系统,它能很好地表达植物的分枝特征。之后,各地的研究人员开始关注L-系统,并对其做了各种改进。至今,L-系统仍然是植物模拟的一种重要思想方法。
L-系统是一种符号重写系统,基本思想为字符串替换,其替换规则基本如下:b→a,a→ab。
则其基本演变规律为:b→a→ab→aba→abaab→abaababa→abaababaabaab→……。i数列,即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]]。

图1 不同生成规则的分形树
随着植物模拟技术的发展,一些研究者提出在分形树的基础上加入随机因子,这样的生成树就不是完全按照某一确定的规则,体现了自然界由于外界条件造成的树木生长的偶然性,这样得到的分形树更自然,更逼真。丁永胜等人[3]曾以matlab实现分形树模拟,其分形树是使用单一规则实现的,整棵树采用同一种自相似规则,每一个分枝的分形方法都相同,其生成树的结果如图1。笔者在其基础上,对程序进行了改进,加入了随机因子,整棵树的生成采用三种自相似规则(如程序中的p1、p2和p3),在树木分枝的部位,到底采用哪一种规则生成新的枝干部分,由随机数决定。如function Sltree(n)程序中,使用c=rand(1)函数随机生成一个0~1之间的数字,在分枝部位,~1之间,则采用p1='FF+[

使用MATLAB 实现随机分形树模拟 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数5
  • 收藏数0 收藏
  • 顶次数0
  • 上传人lu0474
  • 文件大小0 KB
  • 时间2015-10-20