基于林氏系统语言的树木枝条分形特征模拟
基于林氏系统语言的树木枝条分形特征模
拟
第34卷第1期
2006年1月
东北林业大学
JOURNALOFNORTHEASTFORESTRYUNIVERSITY Vo1.34No.1
Jan.2oo6
基于林氏系统语言的树木枝条分形特征模拟
刘兆刚李凤日卢军曲智林
f(东北林业大学,哈尔滨.150040)
摘要基于树木分枝的分形特征,在简要介绍林氏系统语言基本概念和海龟解释基础上,应用L—studio软
件编写林氏系统语言程序对不同枝条的分枝类型进行生长模拟,并通过引入随机性因子使得应用林氏系统生成的
树木分枝图形更加丰富多彩和形象逼真.林氏系统可对树木枝务仿真和树冠动态生长可视化模拟提供参考.
关键词林氏系统;分形;海龟解释;生长模拟
分类号TP391
SimulationofFractalCharacteristicsforTreeBranchesBasedonL—System/LiuZhaogang,LiFengi,LuJun,Qu Zhilin(NortheastForestryUniversity,Harbin150040,P.R.China)//JournalofNortheastFor
estryUniversity.一2006,
34(1).一34,37
Intermsoffractalcharacteristicsfortreebranches,growthfordifierentbranchingtypeswassi
mulatedwithL—studio
softwarebasedonthebasicconceptsofL—
systemandturtleinterpretation.Graphicsoftreebranchesbecomemorecolor-
fulandvividbyintroducingrandomicityfactorsfromL—system.L—
systemcanprovidevaluablereferencefortreebran—
chessimulationanddynamicgrowthvisualizingfortreecanopy.
KeyWOrdsL—system;Fractal:Turtleinterpretation;Growthsimulation
分形理论是由BenoitB.Mandelbrot在1975年正式提出 与建立的一种探索复杂性的新的科学方法和理论J,已成为 研究无特征尺度却有着自相似性质的体系的强有力的理论工 具.树木是真正的分形物体,但用传统的方法来描述树冠的 形状和结构是十分困难的.采用分形几何方法研究树木的树 冠结构以及分支格局为解决问题提出了方向.但如果将具有 分形特征的树木分枝格局的形态和结构以可视化的形式描述 出来,需要寻找一种数学方法来描述和理解树木枝条的几何 模式和自相似性.AristidLindenmayer于1968年提出的林氏 系统语言为研究类似植物结构的物体提供了一种机制J. 笔者利用林氏系统语言及不同树木的分枝类型来研究和构造
并编写了程序模拟具有分形特征的树 树木枝条的形状特征,
木枝条的生长过程,同时引入了随机性因子,使构建生成的枝 条更具逼真效果.
1林氏系统语言
林氏系统语言的本质是基于LOGO语言的字符串重写技 术.也就是应用其它的字符或字符串对字符串中的字符进行 替换的技术.它与早些时期Chomsky'S提出的字符串重写 技术的主要差别是采用并行重写技术,即对字符串中的字母 采用同时替换的方法.它通过一条公理(或称初始式)与几 条产生式(或称生成规则),多次反复替换,就可以生成一个 复杂的字符串,并对产生的字符串进行几何解译,生成复杂的 图形J.例如,有两个字符a,b,初始式为:=n,有两条生成 规则:0—6,6一.6,经过若干次反复迭代替换,其结果见图1.
第一次迭代后,根据替换规则字符a被字符b替换,第二次迭 代后,字符b被字符串n6替换,第三次迭代后,字符a,b同时 1)家}】然科学肚金(30371163),教白部归啊人员科研n动照 金,东北林业大学校基金资助.
笫一作者简介:刘兆刚,男,1970年6月生,东北林业大学林学 院,士研究生.
收稿口期:20054月4口.
贞任编辑:张建华.
替换,生成新的字符串bab,第四次迭代后生成新字符串 abbab,经过5次迭代后,生成新字符串bababbab.从图1可以 看出,经过若干有限次迭代,一个十分简单的字符串将变得非 常复杂.正基于此,对于有着自相似分形的树木枝条,采用林 氏系统可以很好地模拟其生长发育状况.
b
/\
abb
babab
图1林氏系统语言的简单定义
如此迅速膨胀的字符串如何能描述树木枝条的生长,也 就是说将一系列字符串翻译成图形,以便在屏幕上显示是一 个至关重要的问题,否则生成的复杂的字符串将一点意义ci王 没有.
由Prusinkiewicz等人提出的基于海龟几何的字符串图 形解释,为林氏系统语言生成的复杂字符串进行图形显示提 供了理想的方法.
2字符串的海龟解释
海龟的状态可以定义为(,,),(,Y)作为海龟所在位 置的坐标,作为海龟的头面朝的方向.给定一初始步长d, 然后用占表示角度的增量,海龟将按照一系列指令进行移动,
八
.一
/,.,
一
6(,
n6
第1期刘兆刚等:基于林氏系统语言的树木枝条分形特征模拟35 完成字符串向图形的解释.表1列出了常用的海龟命令. 表1常用的海龟命令
符号意义
F(f)按当前方向,移动一定的步长d,绘制线段
G(g)按当前方向,移动,定n{J步长d,不绘制线段 十逆时针旋转角度
一
顺时针旋转角度
用作分杖的开始 [将的状态压人堆栈,
]将堆栈【{I弹IJj一个状态作为当前状态,用作分枝的结束 @nYin川因子IqllliB乘以当前的步长
根据海龟规定的字符含义,将生成复杂的字符串转换成 几何图形,实现图形的生成.
3基于林氏系统语言构建枝条模拟的思想
林氏系统语言最主要的应用就是构建具有分形特征的树 木生长的模拟.通过引入分枝符号,]设立初始条件,确定 生成规则和角度增量,就可以生成具有植物形态的几何图形. 应用林氏系统语言模拟植物枝条的长情况,见图2. t鲥i』:;
,?.
成觇lpl:—_--1.
,IJE觇IJ!IJp2:I—_.-I
图2利用林氏系统模拟枝条生长
图2中的虚线段表示当年新生枝条,实线段表示非当年 生枝条.初始式设为当年生枝条.当年生枝条经过生成规则 p1,变成非新生枝条,同时在顶端和侧端生成3个新的枝条; 生成规则1)2表明,以前的非新生枝条只进行生长,并不产生 当年生枝条.这种行为与现实植物生成的原理基本是一致 的,也就是在老的树的基部生成新叶和新枝条的概率很少,在 一
些当年新枝条上生成新叶和新枝条的机会更多一些. 基于L—s1:udio软件应用海龟命令编写简单的语句实现 上述枝条生成的图形模拟.图3显示了6次迭代后植物枝条 屏幕显示结果及相应的程序语句.
Lsystem:O;derivationlength:6;Axiom:F;F一>G[+F][一F]GF; G一>GG:Endlsystem
囤3经6次迭代后植物枝条模拟及对应的程序语句 如果对图3中角度增量占值进行一些改变,就会直接影 响最终屏幕生成的枝条图形效果,见图4.
毒
.
囤4角度增量的改变影响枝条模拟生成的效果
4枝条分枝类型及模拟
树木枝条常见的分枝类型有3种:单轴分枝,合轴分枝和 假二叉分枝.
4.1单轴分枝
单轴分枝的特点是主茎顶芽的生长活动始终占优势,形成 直立而明显的主干,各级分枝依次较小(图5).用材树种的分枝 方式多为单轴分枝.根据单轴分枝的特点,应用L—studio软件 进行生长模拟,其结果及相应L—system程序语句见图6.
T一>T[+B]r[一B]T;T一主卜;B一分枝
图5单轴分枝示意图
4.2合轴分枝
合轴分枝的特点是主茎顶芽生长活动形成一段主轴后即 停止生长或形成花芽,由下侧的一个腋芽代替主芽继续生长, 又形成一段主轴,之后又停止生长或形成花芽,再由其下侧的 腋芽接替生长,如此继续下去.因此,植物的主轴是由主茎和 相继接替的各级侧枝共同组成,因而称为合轴分枝.合轴分 枝可产生较多的分枝和较多的花芽,许多果树具有合轴分枝的 特性,见图7.根据合轴分枝的特点,应用L—studio软件进行 生长模拟,其模拟结果及相应L—system程序语句见图8. 4.3假二叉分枝
常见于具有对生叶序的植物中,主茎顶芽活动到一定的 时间就停止生长或死亡,由顶芽下面的-x~腋芽同时生长形 成两个分枝.每个分枝的顶芽活动到一定时候又停止生长, 再由其下面的一对腋芽同时生长,如此继续发育,形成许多二 l1
一
.一?l0
;
0
00?
:
j?.^.,
.
'
36东北林业大学第34卷
叉状的分枝.因不是由顶端分生组织形成的分枝,故称为假
二叉分枝,其示意图见图9.根据单轴分枝的特点,应用L— studio软件进行生长模拟,其结果及相应L—system程序语句 见图1O.
Lsystem:0;de~vatlonlength:5;axiom:F;F一>}[+F]F[一F]F; Endlsystem
,
=
l,
图6枝条单轴分枝模拟结果及程序语句
T一>T[一一B]+T
图7台轴分枝示意图
Lsystem:0;derivationlength:5;axiom:F;F一>F[一一一一一F]+F Endlsystem
图8枝条合轴分枝模拟结果殛程序语句
5应用随机性林氏系统模拟树木分枝形态
前面应用林氏系统语言对不同树木分枝类型进行了模 拟,但会发现生成的图形有太多的同一性,过于人工化,图形 呆板,不生动形象.因此,在林氏系统语言中引入随机性生成 因子,并保留树木枝条主要特征的基础上,通过改变生成图形 的局部细节,可以使生成的植物枝条更加逼真和可视化J. 随机性林氏系统与前述的确定性林氏系统的主要区别就是加 入随机因子.图II显示了随机性同一林氏系统语句生成不 同植物分枝组图.该组分枝组图的程序语句如下: T,>T[一B][+B]
图9假二叉分枝示意图
Lsystem:0;derivationlength:5;axiom:F;F一>F[一F][+F];Endl— system
图1O枝条假二叉分枝模拟结果及程序语句
由于引入了随机概率因子,使得应用林氏系统生成的植
物分枝图形更加丰富多彩和形象逼真.在图11的程序语句 中,对应F字符存在3种概率相等(均为1/3)的生成规则,在 字符串中的每个字符F,通过植物分枝生成器软件随机从3 种生成规则中选取一种生成规则进行替换,由于该实例中所 给的概率是相等的,所以3种生成规则被选取的概率也是一 致的.如果对每种生成规则所被可能选取的概率进行修改, 那么每种生成规则被选取的概率电将发生变化,直接影响模 拟枝条生成的图形.
6结论与讨论
应用林氏系统语言,可以模拟具有分形特征树木的不同 形态枝条的生长发育状况,特别是引入随机性因子可以使生 成的树木枝条更加形象逼真.在应用林氏系统模拟树木枝条 的过程中,初始式和角度增量至关重要,不同的初始条件和角 度增量的些许变化都将较大程度地改变最后树木枝条生成的 模拟效果.
前面研究的树木分枝特征还仅仅局限于二维平面图形的 生成,仅是对二维平面枝条分枝的简单模拟,并未探讨林氏系
本文档为【基于林氏系统语言的树木枝条分形特征模拟】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。