您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 资本运营 > 基于迭代函数系统的分形植物模拟
AdvancesinAppliedMathematics应用数学进展,2018,7(1),128-138PublishedOnlineJanuary2018inHans.://doi.org/10.12677/aam.2018.71016文章引用:李彩云,郑红婵,林增耀.基于迭代函数系统的分形植物模拟[J].应用数学进展,2018,7(1):128-138.DOI:10.12677/aam.2018.71016SimulationofFractalPlantBasedonIterationFunctionSystemCaiyunLi,HongchanZheng,ZengyaoLinDepartmentofAppliedMathematics,NorthwesternPolytechnicalUniversity,Xi’anShanxiReceived:Dec.23rd,2017;accepted:Jan.23rd,2018;published:Jan.30th,2018AbstractInthispaper,basedontheintroductionofthebasictheoryofIterativeFunctionSystem(IFS),thefirstapplicationofIFScodetoagivenimagecanrevealtheshrinkagecharacteristicsofinternalaffinetransformation.Theinfluenceofthenumbersandparametersofaffinetransformationsonthegenerationoffractaltreeisanalyzed.Thusitcangeneratefractaltreeswithdifferentmor-phologiesbymodifyingtheIFScode.Usingpseudo-affinetransformationtoachievetheinterpola-tionoftheattractorimage,thetriangularmapleleavesandthepentagonmapleleavesaregener-ated.Meanwhile,controllablefractalleavescanbeobtainedthroughadjustinginterpolationpoints.Finally,someexamplesoffractalimagesaregivenwithMatlab.KeywordsFractal,PlantSimulation,Pseudo-AffineTransformation,MapleLeaves基于迭代函数系统的分形植物模拟李彩云,郑红婵,林增耀西北工业大学理学院,陕西西安收稿日期:2017年12月23日;录用日期:2018年1月23日;发布日期:2018年1月30日摘要本文在介绍迭代函数系统(IFS)基本理论的基础上,根据IFS码对给定图像的第一次应用来揭示内部的仿射变换收缩特性,分析了仿射变换个数以及参数对生成分形树的影响,从而修改IFS码,生成了具有不同形态的分形树。利用拟仿射变换实现吸引子图像的插值,并生成三角枫叶、五角枫叶等,通过调整插值李彩云等DOI:10.12677/aam.2018.71016129应用数学进展点生成形状可控的分形树叶。最后,结合Matlab给出分形图的若干实例。关键词分形,景物模拟,拟仿射变换,枫叶Copyright©2018byauthorsandHansPublishersInc.ThisworkislicensedundertheCreativeCommonsAttributionInternationalLicense(CCBY).引言自然景物模拟是计算机图形学中一个重要研究课题,其中植物形态仿真模拟引起了广泛的关注。许多学者对其进行了大量的研究,目前常见的方法有L-系统[1][2]、迭代函数系统[3][4][5]、粒子系统[6][7]、扩散受限凝聚(DLA)模型[8]等。迭代函数系统(IterationFunctionSystem,简称IFS)是绘制植物分形图的主要方法,利用该方法既可以模拟自然界存在的物种也可以创造新物种。1999年郝小琴[9]提出了基于树木的分枝模式与叶序模式的三维IFS建模法并生成了槐树和雪松。2004仲兰芬、王琰等[10]给出了生成单轴分枝和合轴分枝两类树木的递归算法。2008年潘陆益[11]提出了基于IFS的分形图的拟仿射变换模型。2012年韩江萍、周敏等[12]利用拟仿射变换实现树木成行、树木成林。2016年仲兰芬、王文忠等[13]提出了一种通过包含边缘轮廓和主叶脉的树叶草图生成三维树叶的方法。在利用迭代函数系统生成植物的过程中,大多数文献是直接给出IFS码,鲜有文献分析IFS码中各参数对分形图生成的影响。本文通过IFS码对给定图像的第一次应用来揭示内部的仿射变换收缩特性,分析了各仿射变换参数对分形图的影响效果,根据需求可以人为地设定仿射变换的个数以及参数继而得到相应的IFS码,生成单轴、合轴以及树冠的个数不同的分形树。通过IFS码生成的分形图的拟仿射变换即对分形图的平移、旋转、缩放、错切等变换生成具有相似性的多片叶瓣的树叶如三角枫叶、五角枫叶等。2.预备知识仿射变换是指在不同的方向上变化的比率可以不同的一种比例变换。使一个图形产生它的复制品,于是可以将原图分解为几个部分,每个部分可看作是在不同仿射变换下的复制品,而这种分解与尺度无关,即原图经仿射变换后仍可对其局部图形进行类似的分解,这种整体与局部相似的性质正是分形的特征。定义1[8]:变换22:WRR→具有形式为,xabxeWycdyf=+其中,,,,,abcdef为实数,则称W为一个(二维)仿射变换。当2xR∈时,上式常改写为(),WxAxt=+其中,abeAtcdf==。定义2[8]:度量空间(),Xρ上的变换:fXX→称为压缩映射或压缩,如果存在一常量01s≤,使得OpenAccess李彩云等DOI:10.12677/aam.2018.71016130应用数学进展()()()(),,,,,fxfysxyxyXρρ≤∀∈数s称为f的压缩因子。定义3[8]:(迭代函数系统IFS)一个迭代函数系统由一个完备度量空间(),Xρ和一个有限的压缩映射集:nWXX→及相应的压缩因子,1,2,,nsnN=所组成,每个nW有一个伴随概率,01nnpp且1np=∑。迭代函数系统IFS记为:{};,1,2,,nXWnN=,随机迭代函数系统IFSP记为:{};,,1,2,,nnXWpnN=,且其压缩因子都是{}max:1,2,,nssnN==。IFS若满足条件3121231NppppNssss⋅⋅,则称之为一个IFS码。定理1[8]:设{};,1,2,,nXWnN=是拥有压缩因子s的IFS码,则定义变换()():WHXHX→为()()()1,,NnnWBWBBHX==∀∈∪且W是完备空间()()(),HXhρ上具有压缩因子s的压缩映射,即()()()()(),,,,,hWAWBshABABHX≤∀∈它的唯一不动点集()PHX∈满足()()1,NnnPWPWP===∪且()()lim,nnPWBBHX→∞=∀∈。不动点集()PHX∈被称为IFS的吸引子。定理2[14]:(拼贴原理)设(),Xρ为度量空间,给定()LHX∈和0ε,选定一个IFS{};,1,2,,nXWnN=,其压缩因子01s≤,使得()1,NnnhLWLε=≤∪,则有(),1hLAsε≤−。这里,A是该IFS的吸引子,h为Hausdorff距离。3.不同形态分形树的生成利用IFS方法生成分形图的关键是找出其相应的IFS码,即仿射变换的系数。下面就介绍仿射变换的一些概念,从而更好地确定IFS码。3.1.简单的变换图形的基本变换包括平移变换、缩放变换、旋转变换、反射变换、错切变换等。利用仿射变换进行分形模拟往往需要连续进行多次基本变换,将整体图形映射为局部图形,称之为组合变换或连续变换。仿射变换对一个图像的第一次应用,通常会揭示其内部的仿射线性收缩特征[15]。但是我们还必须注意到,选择一个具有合适结构的图像是非常重要的,只有这样才能够鉴别出其独特的变换,不然就不能够确切地检测出一些可能发生了的旋转和反射。在本文剩下的这些图像中,我们都代表性地使用一个在左上角镶嵌了一个“L”的[][]0,10,1×单位正方形作为初始图像。图1给出了图形的4个基本变换。仿射变换是由6个系数所决定的,为了更方便地探讨压缩变换。将矩阵A改写为以下形式:cossinsincosabrscdrsθϕθϕ−=只须令2222arccosracaacθ=+=+李彩云等DOI:10.12677/aam.2018.71016131应用数学进展初始图像缩放错切旋转反射Figure1.Basictransformationofgraphics图1.图形的基本变换即可,用类似的式子可以得到s和ϕ。其中,rs分别表示沿,xy轴方向缩放的倍数,,θϕ分别表示,xy轴逆时针方向的旋转角度。因此对于任意一个仿射变换都可以用,,,rsθϕ来表示。3.2.分形树的算法实现上一小节已经介绍了各参数的意义,当给定对应的参数值就可以得到每个仿射变换的系数,而每一个仿射变换被调用的概率不一定相同,随机迭代函数系统{};,,1,2,,nnXWpnN=绘制IFS吸引子的实质是按照概率来选择不同仿射变换,即落入图形各部分中点的数目不一定相同。其中:()1,01,1,2,,,nnppnN==∑一般情况下,np由下式给出[16]:11,nnnnnnNNnnnnnnnAadbcpAadbc==−==−∑∑其中,,,nnnnabcd为第n个仿射变换的系数。本文采用随机迭代算法,通过Matlab提供的随机数rand(),用随机生成的概率选择一个仿射变换nW作为迭代规则迭代一次,不断重复此迭代过程,产生的极限图形就是所要绘制的分形图形。设计的算法步骤如下:(1)定义IFSP为{};,,1,2,,nnXWpnN=,设定初始点()00,xy和迭代次数level;(2)利用rand()函数生成在区间[]0,1的随机数R,以概率np选取仿射变换nW;(3)以nW作用点()00,xy,得到新坐标()11,xy;(4)令0101,xxyy==并在屏幕上打出()00,xy;(5)重返第(2)步,进行下一次的迭代,直到迭代次数大于level为止。下面就根据IFS对给定图像的第一次应用来揭示内部的仿射变换收缩特性,从而调整已有的IFS码中仿射变换的参数,生成形态各异的分形树。在图2中,图b~图e是在a的基础上修改IFS码中参数得到的图像,a图对应的IFS码见附录的附表1。图b,图c是修改IFS码中的参数,θϕ生成的,从第一行可以看出,b图的旋转角度相对于a图变小,从而生成的树各枝干较紧凑,相反地,c图是旋转角度变大,从而生成的树枝干较分散。图d,图e是修改IFS码中的参数,rs生成的,其中图d是增大y轴的缩放系数s,生成树的枝干较笔直,图e是增大x轴的缩放系数r,树枝较弯曲。在此基础上,我们还可以通过修改仿射变换的个数来改变分形树的形态。在图3中图a通过3个仿射变换生成嫩枝,图b用4个仿射变换生成了枝干繁多的单轴[10]分形树,图c用5个仿射变换生成一棵李彩云等DOI:10.12677/aam.2018.71016132应用数学进展Figure2.Fractaltreesofaffinetransformwithdiffere
本文标题:基于迭代函数系统的分形植物模拟
链接地址:https://www.777doc.com/doc-7455008 .html