matlab植物,Matlab分形植物模拟

第24卷第3期 齐 齐 哈 尔 大 学 学 报 Vol.24,No.3 2008年5月 Journal of Qiqihar University May,2008 Matlab分形植物模拟 丁永胜,堵秀凤,张水胜 (齐齐哈尔大学 理学院,黑龙江 齐齐哈尔 161006) 摘要:研究了利用 Matlab 软件,采用 L 系统与迭代函数系统(IFS)分形绘制方法,通过数学实验的形式绘制分 形植物,模拟的分形植物细节丰富,形态生动逼真,体现了分形学在描述自然景物的独特优势。 关键词:分形植物;L 系统;迭代函数系统;Matlab 中图分类号:O241.5 文献标识码:A 文章编号:1007-984X(2008)03-0063-04 1 L 系统与迭代函数系统 1.1 L 系统 L 系统是美国生物学家 Lindenmayer 1968 年为模拟生物形态而设计的描述植物形态与生长的方法。L 系统实际上是字符串重写系统。即把字符串解释成图形,于是只要能生成字符串,也就等于生成了图形。从一个初始串(叫做公理)记为 W 开始,将生成规则 P 多次作用于其上,最后产生一个较长的命令串,用它来绘图。 对于 L 系统可以用较复杂的图形解释,在除了模拟植物分支拓扑结构外,还要加上线段长度和转角等几何形状。L 系统的符号串也称“龟行图”(turtle), 即设想一只乌龟在平面上爬行,乌龟的状态用三元组 (X , Y , D)表示, 其中 X 和 Y 分别代表横坐标和纵坐标,D 代表当前的朝向。令 δ 是角度增量,h 是步 长。文中所用 L 系统的符号规定与解释:F:从当前位置向前移一步,步长为 h,同时画线;G:从当前位置向前移一步,步长为 h,但不画线;+:从当前方向逆时针转一个给定的角度 δ; -:从当前方向顺时针转一个给定的角度 δ;|:原地转向 180°;[:Push,将龟行图当前状态压进栈(stack);]:Pop,将图形状态重置为栈顶的状态,并去掉该栈中的内容;A:记录状态的方向;z:记录当前的位置。 1.2 迭代函数系统(IFS) 迭代函数系统(Iterated Function System)是分形绘制的典型重要方法。其采用确定性算法与随机性算法相结合的办法生成植物杆茎或叶片等分形图。“确定性”指用以迭代的规则是确定性的,它们由一组仿射变换(如 R1,R2,R3等) 构成;“随机性”指迭代过程是不确定的,即每一次究竟迭代哪一个规则是随机 性的,设最终要生成的图形(植物形态图)为 M ,它要满足集合方程:M=R1∪R2∪⋯∪RN 。公式的含义 是,随机地从 Ri(i=1,⋯,N)中挑选一个迭代规则迭代一次,然后再随机地在 Ri(i=1,⋯,N)中选一个规则迭代一次,不断重复此过程,最后生成的极限图形 M 就是欲求的植物形态图。 2 分形植物模拟 L 系统用于植物结构绘制,比如一棵树,它是分支结构,即一根树干带大量的分枝,每个分枝都有一个终点,是一种一个起点多个终点的图形。这就意味着在某一运算中,当画到一个分枝的尽头时画笔必须退回来再画其它结构,即产生一种所谓进退操作。该操作符号是一对方括号[·],方括号中是3个简单符号,即 F,+,-。当执行完方括号中的指令后,画笔回到方括号“[”前的位置并保持原方向不变。设公理 W: F;生成规则 P:F → FF+[+F-F-F]-[-F+F+F];角度增量 a:22.5°。在公理中,从起点往上两步后,先后 收稿日期:2007-01-03 基金项目:黑龙江省教育厅科学技术项目(11523056, 11521306) 作

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值