- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于L-系统的随机树模型.doc
基于L-系统的随机树模型
摘要:由于每次由同一个确定L-系统生成的植物模型都是固定不变的,而且显得很死板。本文在考虑植物生长规律的前提下,利用随机L-系统生成了一个随机树模型,该模型形态自然、具有很强的真实感。
Abstract: Plant model generated by the same deterministic L-system was identical, and appeared to be stiff. Considering the law of plant growth, a random tree model using stochastic L-system was generated, which appeared to be natural and had a strong sense of reality.
关键词:随机L-系统;随机树;生长规律
Key words: stochastic L-system;a random tree model;the law of growth
中图分类号:TP18 文献标识码:A 文章编号:1006-4311(2011)24-0149-02
0引言
利用计算机对植物进行建模和仿真现已成为人们研究植物学、生态学、农学等的重要方法之一。
L-系统是丹麦植物学家A Lindenmayer提出的一种并行文法,它以形式化的语言描述植物的结构和生长,现在已成为植物建模的重要工具。由确定L-系统生成植物的过程中,由于每次迭代都应用相同的产生式,所以经过相同次数的迭代后每次都生成相同的植物模型,而且在进行几何解释的过程中,各种数据都是固定不变的,所以经过有限次迭代以后生成的植物模型也是相同的。在植物生长中往往会受到各种随机因素的影响,所以引入了随机L-系统。
随机L-系统的随机性可用在字符解释上,如步长的值可以是随机的,分枝角度也可以是随机的,同时也可以用在产生式上。前者保持基本拓扑结构不变,而后者生成的植物模型的基本拓扑结构发生了变化,几何性质也发生了改变。参考文献[1]中利用同一个随机L-系统生成了几个不同的形态“活泼”的植物结构,但是这只是追求视觉上的变化,而没有考虑植物生长过程中的因素。本文结合植物生长规律,应用随机L-系统生成了形态自然的植物模型。
1L-系统表达机制
1.1 L-系统重写机制最简单的L-系统是D0L-系统,可以描述为令V表示一个字符集,V*表示V上所有单词(由符号或字符组成的字符串)的集合,一个0L-系统可以用一个有序的三元组L=来表示,其中ω是(ω∈V*)一个非空单词,称为公理,P是产生式规则的有限集合,产生式记作c→s,字符c和单词s分别叫做产生式的前驱和后继。如果对每一个字母c∈V,当且仅当有一个非空单词s,使得c→s,则0L-系统是确定的[2],即不考虑前驱字符的上下文语义。
L-系统的核心思想便是重写,即从公理ω开始,按照产生式规则,依次替换ω中的每个字符,得到新的字符串,对新的字符串再进一步对每个字符进行替换,按照上述规则一直替换下去,直到满足终止条件。
1.2 龟形解释为了把通过L-系统的重写机制生成的字符串描述成具体的植物形态,需要使用龟形系统[3]对生成的字符串进行几何解释。具体地做法是对迭代生成的字符串从左至右连续扫描,并对每一个字符做出相应的几何解释,这样就由字符串得到相应的植物形态。乌龟的爬行可以在二维或三维空间中进行。其中三维空间是对在二维空间的基础上进行扩展。龟形有它的状态,包括笛卡尔坐标系下的位置和方向,还有一些附加的属性,如当前的颜色和线宽。位置由矢量P定义,其中三维空间的方向由矢量H,L,U定义,分别表示乌龟的头方向和向左、向上的方向,如图1所示。
这三个矢量都是单位长,且互相垂直,满足H×L=U。因此,龟形的旋转可以用下面的式子表示:[ H′L′U′]=[HLU]R
这里的R是一个3×3的旋转矩阵。分别绕矢量U,L和H旋转α的旋转矩阵为:RU(α)=cosasina0-sina cosa00 0 1
RL(α)=cosa 0-sina01 0sina0cosa
RH(α)=1 000cosa-sina0sina cosa
龟行位置初始化为笛卡尔坐标系的原点,头矢量H指向y轴的正方向,左矢量L指向x轴的负方向,向上的矢量U指向Z轴的正方向。常用的龟行符号有:
引起龟行旋转的符号:
-:绕U向左旋转一定的角度;+:绕U向右旋转一定的角度;
:绕L向下旋转固定的角度;^:绕L向上旋转固定的角度;
\:绕H向下旋转固定的角度;/:绕H向上旋转固定的角度;
表示树枝分叉的符号:
文档评论(0)