基于分形技术竹生长模拟研究.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于分形技术竹生长模拟研究

基于分形技术竹生长模拟研究   【摘要】本文用分形算法中的迭代函数系统对竹子生长过程中的分形特点进行了研究,并通过编程实现对算法的可行性进行了佐证。   【关键词】分形;迭代函数系统;竹模拟;双缓冲;分枝模型   自然景物在外部形态上呈现出千姿百态,其生长都具有一定的盲目性,但是分枝模式总有规律可循,对这些结构进行具体的放大会发现不规则程度是一样的,即他们的自相似性。分形以其独特的手段来解决不规则形态物体的仿真问题,利用空间结构的对称性和自相似性,可以将自然界中绝大多数的非规则图形真实地在计算机上再现。自然界中大多数树木和草的分叉结构都具有分形的性质,为计算机分形模拟提供了基础。据此如何真实地描述竹子的生长变化过程,本文在算法及实现上做了一些研究。   1.主要的相关技术   1.1 分形模拟方法   分形作为一种方法,在图形学领域主要是利用迭代、递归等技术来实现某一具体的分形构造。它的主要任务是以分形几何学为数学基础,构造非规则的几何图素,从而实现分形体的可视化,以及对自然景物的逼真模拟。   植物的分形模拟就是基于分形理论的植物形态模拟,其原理是利用植物自身结构的分形性质(结构的自相似性)生成植物图形或图像的方法。当前,分形植物模拟的方法主要有L-系统、迭代函数系统(Iterated Function System,IFS)、受限扩散凝聚(Diffusion Limited Aggregation,DLA)模型和粒子系统。这四种方法的算法原理互不相同,模拟对象也是各有侧重。   1.2 IFS(迭代函数系统)   迭代函数系统是从一个坐标系到另一个坐标系的映射系统,其算法分为确定性算法和随机性算法。   确定性算法是指用以迭代的规则是确定性的,它们由一组仿射变换(如R1,R2,R3等)构成。随机性的算法,又被人们称为混沌游戏,指迭代过程是不确定的,每一次迭代采用哪一个规则,即Ri(i=1∽N)中具体哪一个,不是预先定好的,而是类似靠掷骰子的办法来决定。也既是说,随机地从Ri(i=1∽N)中选一个迭代规则迭代一次,再从Ri(i=1∽N)中选一个迭代一次,依此类推,那么最终的生成图形是Ri(i=1∽N)中各个迭代规则的并集。令最终生成的图形为M,它要满足如下集合关系:M=R1∪R2∪…∪RN。   数学上的仿射变换是一种由旋转、平移、映射构成的变换,仿射变换可以由一个函数来表示,这也正是命名“迭代函数系统”的原因。简单地说,迭代函数系统就是指把仿射变换函数系统经过多次迭代形成的分形。   2.竹子的分形生成研究及算法   2.1 分枝模式   虽然植物在外部形态上呈现出千姿百态,但是植物的分枝模式总是有规律可循的,外部形态是其内部某种形态控制机制的反映,而外部形态是可以用植物的分枝模式来描述的。植物的分枝模式分2种,单轴分枝模式和合轴分枝模式。   单轴分枝模式。顶芽不断向上生长,形成主干。同时侧芽也发展成为侧枝,侧枝又以同样方式形成次级侧枝,但侧枝不及主干粗、长。这种分枝模式有明显的主轴,称为单轴分枝模式,单轴分枝的主干上能产生各级分枝,主干的伸长和粗细比侧枝强得多。因此这种分枝模式主干特征显著,如竹子、松树、云杉、杨树等。   合轴分枝模式。顶芽发育一定时期后死亡或生长缓慢,而位于顶芽下面的侧枝就取而代之,继续发育,形成强壮的侧枝,连接在原来的主轴上。之后,这种侧枝上的顶芽又停止发育,再由它下面的侧芽来代替,便形成了弯曲的主轴。以这种方式分枝植物的地上部分呈开放状态,典型的如柳树、榆树等等。   2.2 竹干的分形算法   前文提到竹子的生长变化属于单轴分枝模式。本文采用的分形算法为:以一个竹干作为单位来向上依次递归形成竹子,如图1所示。假设最接近地面的那一段竹干AB长为L,并且与地面夹角为a,两侧枝CD、BE与主干的夹角皆为b,侧枝与主干的长度比例为s2。其中主干起点A(x,y),主干终止和右侧枝起点B(x2,y2),右侧枝终点E(x2R,y2R),左侧枝起点C(x1,y1)以及左侧枝终点D(x1L,y1L)。   主要步骤如下:   2.3 竹叶的生成算法   位于侧枝上的叶子也采用了类似的算法,以左侧枝中间的叶子为例,其他的侧枝叶子可以由此递归、迭代产生:   以一个多边形来描绘一片叶子,如图2所示。   假设左侧枝终点作为该叶子的起点,叶子的终点设为(xLLeafEnd,yLLeafEnd),叶子的长度与主干的长度比值0.4,叶子中间突起两点坐标分别为(xLLeafLCent-er,yLLeafLCenter)和(xLLeafRCenter, yLLeafRCenter)。   左边叶子的终点坐标这样就可以完成第一个竹干以及叶子的绘制,上层的竹干可以由第一节竹干递归

文档评论(0)

189****7685 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档