分形——分形树
基于分形的树木生长建模方法

基于分形的树木生长建模方法摘要:针对树木生长建模的复杂性和挑战性,采用分形的方法对树木的生长过程进行建模。
根据树木枝干和叶片的自然生长特点,模拟叶片的生长过程,采用分形的算法生成树木的主要枝干,并采用Logistic模型模拟树木的生长过程。
通过改变树叶的大小、树的深度、弯曲度以及树的大小等参数实现交互式动态生长模型,能够较为逼真地展现树的生长过程。
关键词:植物建模;分形;交互式;生长预测0 引言虚拟自然场景是计算机图形学研究领域中一个富有挑战性的课题。
树木是自然场景的重要组成部分,目前针对植物形态结构的建模在很多方面得到了应用,例如在园林设计、影视艺术造型、计算机游戏等领域。
植物的生长模型是通过预测算法对植物的生长过程进行模拟,可以比较真实地展现植物的生长变化过程。
由于植物形态结构变化的复杂性,对其进行模拟困难较大,也是植物建模领域的研究热点之一。
本文采用分形算法对树木的生长进行模拟。
1 植物建模相关工作随着计算机图形学技术的不断发展,植物形态发生模型得到越来越多的关注,成为图形学研究的热点方向之一。
目前最常用的方法是分形和L系统以及近几年出现的交互式建模方法。
1.1 分形方法分形理论是近年来飞速发展的数学分支,它的研究对象是自然界和非线性系统中出现的不光滑和不规则的几何形体,实现的方法主要有迭代函数系统(IFS)、分枝矩阵、粒子系统、A系统等。
分形树是分形中的一个重要分支,是一个典型的具有自相似特点的分形问题。
由于受气候、土质、日照等客观因素的影响,每个树枝的倾斜角度和长度千差万别,所以自然界中树木具有的自相似不是绝对的自相似,在建模过程中需要增加相关的控制参数。
1.2 L系统方法L系统是由美国生物学家ARISTID LINDENMAYER 在1968年提出的并行重写系统。
它是一种描述植物形态和生长的有效方法。
用符号空间中的一个字符序列来解析、模拟植物的自组织、自增殖的行为,类似于自动机理论,是一种重写系统,应用初始条件和替换规则,经过有限次迭代生成字符串序列,对字符串序列进行解释就可以形成复杂的图形。
分形维数浅释

分形维数(Fractal Dimension)浅释笔者:喻麟佑博士(美国亚利桑那大学物理学博士) 2012年3月于广州.、八、-刖言:最近,数学课下课后,有学生问我一个网上流传的数学问题,令很多学生困惑。
简化以后,大意可以由下图描述:三角形的两个斜边一直往下折,折了无穷次后,看起来不就是和底边一样了?那么,1 + 1不就等于.2 了?要回答类似这个问题,必须了解分形(Fractal)的原理才行。
其实这两个斜边,折了无穷次后,是一个分形的结构,和一条直线是大不相同的。
现在,我们来了解一下分形的原理。
正文:分形(Fractal),又称“碎形”或“残形”。
这种几何形状,对很多人而言,其实并不陌生,大家或多或少都可在一些书本、杂志封面、海报或月历等地方看到过。
自从20世纪80年代开始[注一],“混沌(chaos) ”,“奇异吸引子(strangeattractors) ”,“分形(fractal) ” ,还有与以上相关的许多新名词,如雨后春笋般呈现,且被人们所津津乐道。
无论是专业人士的讨论或一般茶余饭后的闲谈皆然。
分形几何,有若干特性,例如“自相似性(self-similarity )”等等。
本文由一个最耐人寻味的特性切入,那就是分形维数(Fractal Dimension)。
并且,也借此讨论过程,得以对分形(碎形)有更深入的了解。
首先,众所周知,一般几何所用的维数,或维度 (Dime nsio n )是整数,如一个点是0维,一条线段是1维,一个在平面上的几何图形是2维,如一个方形或 一个圆形;再者,一个立方体或一个球形,则被视为 3维然而,分形,却具有非整数的维数。
这是怎么回事呢?为了解释清楚,我们先看看一条线段(如图一):1 ------------------- L —1t £A11 —! L ---------------------------- 1、一飞" £L一Ti T jdJC* -■ 11 ■ --------------------- 1 -------- ——1=4 cj ■‘4—11~<—1_<—*~*—*—M 二 £是=—38** 图一如果我们把此线段分割一次,则n 1, NI 2, i -L2式中L 是一个常数,n 是分割的次数,N n 乃分割n 次后的总碎片数,第二次分割(每个线段再分割一次):2n 2,2 4 2,第三次分割(每个线段再分割一次):n 3,N 3 8 23,L L8 23是分割n 次后的每碎片的长度因此,我们不难知道,分割 n 次后, 总碎片数:心2n , 每一碎片大小:现在,让我们来定义一个维数 D :式一也可写成(先暂不管 n ):L D-D n等式两边取自然对数:Dln — In N nnD In — In N nnD 哼或D In — In L In 丄nn严格来说,分割的次数n 为无穷大(n )因为In 丄? I nL ,我们也不难得到 nInN nIn 丄n..In N n Iim n0 I n =nnIim In no I nLnN nInn(式二)N n n (n ) (式一)式中,L 的D 次方(即维数)等于,分割 n 次后的总碎片数,乘上每一碎片长 度的D 次方。
基于分形理论的树木图像分割方法

2004年3月农业机械学报第35卷第2期基于分形理论的树木图像分割方法3赵茂程 郑加强 林小静 封晓强 【摘要】 提出用分形维数和颜色对树木图像进行分割的方法,分割时用双毯法计算分形维数,用颜色、强度、局部分维、边界边缘等特征组合的方法进行区域生长。
试验表明,基于分形理论对树木图像进行分割是一种非常有效的方法。
关键词:树木 图像 分割 分形维数中图分类号:T P 39114文献标识码:ATree I mage Segm en ta tion M ethod Ba sed on the Fractiona l D i m en sionZhao M aocheng Zheng J iaqiang (N anj ing F orestry U n iversity ) L in X iao jing Feng X iaoqiang(S ou theast U n iversity )AbstractT he tree i m ages w ere segm en ted based on bo th the fracti onal di m en si on and co lo r of these natu ral i m ages .T he fracti onal di m en si on s w ere esti m ated by the Ε2b lanket covering m ethod and the regi on s grew by m ean s of an in tegrated info rm ati on of the i m age ,co lo r ,the in ten sity featu res ,the local fracti onal di m en si on s and the boundary and edge characteristics.T heexp eri m en ts show ed that the tree i m age segm en tati on m ethod based on fracti onal di m en si on w as p ractical and efficien t .Key words T ree ,I m age ,Segm en tati on ,F racti onal di m en si on收稿日期:200304163国家自然科学基金资助项目(项目编号:30070625,30271078)和江苏省高校自然科学研究计划项目(项目编号:03KJB 220050)赵茂程 南京林业大学机械电子工程学院 副教授 博士,210037 南京市郑加强 南京林业大学机械电子工程学院 教授 博士生导师林小静 东南大学交通运输系 硕士生,210096 南京市封晓强 东南大学交通运输系 博士生 引言对自然图像的分割非常困难,因为自然图像背景中包括天空、树木、房屋、山脉等,含有各种图像元素,如平滑表面、边缘和各种纹理特征等。
基于带参IFS的3D分形树及其摇曳形态的实现

20 0 7年 第 9期
计 算 机 与 现 代 化 JS A J Y I N A H A IU N 1 U X A D I U
总第 15期 4
文章 编 号 : 0 —4 5 2 0 )90 0 -3 1 62 7 ( 07 0 -090 0树的 IS码 , F 并绘 制 了此 3 D分形树在风 中摇曳形 态。 并提 出了此 算法的优
点 和 不足
关键 词 : 带参 IS 3 F ; D:分形树 ; 曳 摇
中 图 分 类 号 :P9 .2 T 3 1 7 文 献 标 识 码 : A
Ab t a t T i p p rf s y d s u s so ii a F ri e p r mee ,a ay e h h p f h r ei i d,b s d o F e r sr c : h s a e rt ic s e r n lI S i n a a tr n z st e s a eo e t n w n i l g d l t e a e n I S t oy, h g v sa d f i o f f ca re h nC l mst eat e marx sa d p r mee , n l ie e I S c d faf u - rn h i e ei t n o 3 r tl e ,t e O  ̄r i t e n a a tr f a y gv st F o e o o rb a c ni a D a t l h l n i s i l h
te re,a d d a n r ws a 3D r e a wig. te ts n
Ke r s I S p r mee s D;fa t r e w n y wo d :F a a tr ;3 rc a t ;s i g l e
分形树叶脉络建模算法研究

所说 的拉伸变换 。
植 物建摸领 域的研究 内容繁 多复杂 ,要获得 一个非 常逼真 的 植 物图形 ,不仅仅是 建摸算法 的问题 ,还与 光照 、纹理 映射 等许多 因素有关 。本 文所做工 作是对 建摸方 法进行 了一定 程 度 的研究 主要包括 :如何在设计 的过 程 中将 惯用 的直线 用 自
坐标随初值 (,y X )及变换系数 d作线性变化。
一
个迭代 函数 系统 由一个完 备度量空 间 (, )和一个 有 Xd
Ⅳ
. .
限压缩映射集 wn —x n= , …, : x , 1 , N组成 ,用 IS f ; , 1 2 F XWnn= , 2…, , N}表示 。则 变换 W 定义 为: (): W B
Ke r s f e a e r ; h p f e f; rp is y wo d : r t t o a l h y s a eo a ga hc l
1 分 形 的定 义
一
考 虑 到 分 形 的 自相 似 性 和 压 缩 映 射 的 不 动 点 原 理 , H t isn于 18 年首先提 出可 以用压 缩映射方法产生分形 , uc no h 91 继 而美 国 G oga 工学 院的数学 教授 M.a l eri 理 B ms y于 18 e 9 5年
图 1 平移 变 换
( ) ̄ B X VB ( ) x
是完备空 间 ( (), d)上具有压缩 因子 S的压缩 映射, h x x h() 即
l l
()缩放 变换 ,将 每一 点的横坐标放 大 ( 2 缩小)至 S 倍 ,纵 X
/【
( ( ) , ( ) ≤s ( ,) , W A w B) h AB 对 AB EX ( ) , P= , X 且
基于IFS分形算法的树木形态分析与实现

由图 1粗略计算 可得各子 图的 rq , 参数值 , 如表 1所示。
表 1 各子 图 的 rq值 l
3 树 木的 IS算 法设 计与 实现 F
在树木 的形态模拟方 面,F IS方法 为人们 表达树 木实体
提供 了很好 的帮助。为此 , 利用 IS法构造 分形树 时必须找 F
出 自然界树木不规则 中的规则 , 构造 相应 的模型 , 能在计 才
1 rq的 确定 ),
rq表示 子 图在 x Y 向上的压缩 比 , 由下面各式计 , ,方 可
算求得 : r 子 图 I 宽 度/ N) w i 0,…
q ,:子图 I 的高度/ 总高度
: iH ( =0 1 …N) h/ i ,…
关键词 : 分形 ; 迭代 函数系统; 树木形态模拟 ; 随机迭代算法
中 图分 类 号 :P 9 T31 文 献标 识 码 : B
An l ss a a i a i n a o t Tr e Fo m s a y i nd Re lz to b u e r
Ba e n I a t lAl o ih s d o FS Fr c a g r t m
ay e b u e e ai g s ge c lu ry lv l re a r e a e n ta i o a a d m t rt n ag r h ,a d al l z d a o tg n rt i l oo rg a e e a t t s b s d o rd t n lr n o i ai o i m n n f l e i e o l t n l
其 中:
{ 詈
图 1 树 木 整 图 与子 图拼 贴 示 意 图
32 树 木 的 I S码 的设 计 . F
谁创立了分形几何学
谁创立了分形几何学?1973 年,曼德勃罗(B.B.Mandelbrot )在法兰西学院讲课时,首次提出了分维和分形几何的设想。
分形(Fractal )一词,是曼德勃罗创造出来的,其原意具有不规则、支离破碎等意义,分形几何学是一门以非规则几何形态为研究对象的几何学。
由于不规则现象在自然界是普遍存在的,因此分形几何又称为描述大自然的几何学。
分形几何建立以后,很快就引起了许多学科的关注,这是由于它不仅在理论上,而且在实用上都具有重要价值。
分形几何与传统几何相比有什么特点:⑴从整体上看,分形几何图形是处处不规则的。
例如,海岸线和山川形状,从远距离观察,其形状是极不规则的。
⑵在不同尺度上,图形的规则性又是相同的。
上述的海岸线和山川形状,从近距离观察,其局部形状又和整体形态相似,它们从整体到局部,都是自相似的。
当然,也有一些分形几何图形,它们并不完全是自相似的。
其中一些是用来描述一般随即现象的,还有一些是用来描述混沌和非线性系统的。
什么是分维?在欧氏空间中,人们习惯把空间看成三维的,平面或球面看成二维,而把直线或曲线看成一维。
也可以梢加推广,认为点是零维的,还可以引入高维空间,但通常人们习惯于整数的维数。
分形理论把维数视为分数,这类维数是物理学家在研究混沌吸引子等理论时需要引入的重要概念。
为了定量地描述客观事物的“非规则”程度,1919 年,数学家从测度的角度引入了维数概念,将维数从整数扩大到分数,从而突破了一般拓扑集维数为整数的界限。
分维的概念我们可以从两方面建立起来:一方面,我们首先画一个线段、正方形和立方体,它们的边长都是1。
将它们的边长二等分,此时,原图的线度缩小为原来的1/2 ,而将原图等分为若干个相似的图形。
其线段、正方形、立方体分别被等分为2人1、2人2和2人3个相似的子图形,其中的指数1、2、3,正好等于与图形相应的经验维数。
一般说来,如果某图形是由把原图缩小为1/a 的相似的 b 个图形所组成,有:a A D=b, D=logb/loga的关系成立,则指数 D 称为相似性维数, D 可以是整数,也可以是分数。
(修改)第七讲从海岸线长度谈起——分形几何
分形几何进入中学数学课程
▪ 1.分形几何进入中学数学课程的必要性 ▪ 1)分形几何的创立是数学发展历史上的又一次进
步 ▪ 2)分形理论是描述现实世界的有力工具 ▪ 3)分形几何是培养创新思维的极好材料 ▪ 4)有利于学生掌握数学思想方法,发展辩证思维,
提高审美情趣的思想方法。 ▪ 5)课程现代化的需要
数学文化:一般到特殊,特殊到一般, 归纳总结找规律的猜想, 证明规律的猜想得结论
▪ 雪花曲线的特点——自相似性。任何一个局 部放大后都与整体非常相似。(欧几里得中 的圆就没有这个性质)
邮票上的雪花曲线(保加利亚)有什 么奥秘?
雪花边 界线的 长度? 面积?
隆冬雪花
你细瞧海岸 线,就有类 似的形状
B.B.Mandelbrot(蒙德尔布罗)在《科学》 杂志上发表文章 “英国的海岸线有多长?” 。 他发现这个差距源于海岸线形状的不规则性及用 来测量的尺子长短不一。
这看似极其简单,但Mandelbrot发现:
当测量单位变小时, 所得的长度是无限增大的。
但是,在欧几里得几何中, 当尺的长度趋于零的时候, 测量出的长度趋于圆周长!
“首先,它们处处无规则可言。其次 ,它们 在各种尺度上都有同样程度的不规则性。不论从远 处观察,还是从近处观察,分形看起来一个模样— —它是自相似的。
“整体中的小块,从远处看是不成形的 小点,近处看则发现它变得轮廓分明,其外 形大致和以前观察的整体形状相似。 ”
“自然界提供了许多分形实例。例如, 羊齿植物、菜花和硬花甘兰,以及许多其他 植物,它们的每一分支和嫩枝都与其整体非 常相似。其生成规则保证了小尺度上的特征 成长后就变成大尺度上的特征。”
蝴蝶效应
1963年,美国气象学家洛伦茨发现的“蝴蝶效应”便是其中 典型一例。洛伦茨在一个由三维一阶微分方程组描述的气象 预报模型中,发现该确定的数学模型产生的结果不是趋于稳 定平衡的,也不是趋于某种周期性变化,而是貌似随机的。 近似的初始条件并不能获得近似的结果,更甚者,两者的差 异随时间增大而越大。但这种现象并不是由于计算机的精度 或可靠性等原因造成的。之后,这种类似现象被大量发现, 引起众多学者的关注。1975年,美国数学家约克和华人学者 李天岩将“蝴蝶效应”之类的现象称之为“混沌”。对混沌 现象的研究加深了人们对非线性现象的理解,深化了对混沌 现象本质的认识。
迭代、递归 分形之美
迭代、递归分形之美以迭代、递归分形之美为标题,我将为您展示迭代和递归在分形中的美妙应用。
分形是一种特殊的几何形状,它具有自相似性的特点。
自相似性意味着整个形状的一部分可以看作是整体的缩小版。
而迭代和递归是实现分形的重要方法。
我们来了解一下迭代。
迭代是通过重复执行某个过程来逐步逼近目标的方法。
在分形中,我们可以通过迭代来构建出复杂而美丽的图案。
一个经典的例子是谢尔宾斯基三角形。
我们可以从一个等边三角形开始,然后将其分割成四个小三角形,再将其中的三个小三角形作为新的起点,重复这个过程,直到达到预定的层数。
通过这种迭代的方式,我们可以得到一个越来越接近谢尔宾斯基三角形的图案。
接下来,让我们来介绍递归。
递归是指一个过程或函数在其定义中直接或间接地调用自身的方法。
递归在分形中的应用也是非常广泛的。
一个经典的例子是科赫曲线。
我们可以从一条线段开始,将其分成三等分,然后将中间那段线段转化成一个等边三角形的两条边,接着对另外两段线段进行相同的操作。
通过不断地递归调用这个过程,我们可以得到一个越来越接近科赫曲线的图案。
迭代和递归在分形中的应用不仅仅局限于几何图形,还可以扩展到其他领域。
例如,分形树是一种常见的分形结构,它模拟了树木的生长过程。
我们可以通过迭代和递归来模拟树枝的生长,并且可以根据不同的参数调整树木的形态,使分形树呈现出不同的美感。
迭代和递归还可以应用于图像生成、音乐创作等艺术领域。
通过在图像的像素点上进行迭代运算,我们可以生成出绚丽多彩的图案。
而在音乐创作中,通过递归地运用一些音乐元素,我们可以创作出富有层次感和变化的音乐作品。
迭代和递归不仅仅是一种算法或方法,更是一种思维方式。
它们的应用不仅仅局限于分形,还可以在许多其他领域中发挥重要作用。
通过迭代和递归,我们可以创造出独特而美妙的事物,展现出分形之美。
迭代和递归在分形中的应用为我们带来了无尽的美妙。
通过不断重复和自我调用,我们可以创造出具有自相似性的复杂图案,展现出分形的奇妙魅力。
几何里的艺术家——分形几何
几何里的艺术家——分形几何分形几何是一个结合了数学和艺术的领域,它研究的是自相似的图案和结构。
分形的概念最早由法国数学家勒谢德雷于20世纪70年代提出。
他认为自然界中存在着许多看似无规律的现象,如云朵的形状、山脉的轮廓、树的分枝等,但这些现象却具有某种规律性。
通过数学的方法,勒谢德雷研究了这些现象背后的规律,并将其命名为“分形”。
分形几何的一个重要特点就是自相似性。
自相似是指一个物体的一部分与整体非常相似。
树的分枝和整棵树的形状非常相似,云朵的一小块与整个云朵的形状也非常相似。
这种自相似性使得分形图案可以无限地重复下去,越往细节处观察,越能发现新的图案。
分形几何的应用非常广泛。
在科学领域,分形几何可以用来研究各种现象,如地理地貌的形成、动植物的生长规律等。
在工程领域,分形几何可以用来设计更高效的网络、建筑和交通系统等。
在艺术领域,分形几何可以用来创作各种艺术作品,如绘画、雕塑和音乐。
分形几何在艺术创作中的应用非常有意思。
艺术家可以利用分形几何的原理,创造出各种奇妙的图案和结构。
他们可以通过数学软件生成分形图案,然后再加以修改和装饰,使其更具艺术效果。
艺术家还可以利用分形几何的自相似性,创作出逐渐放大或缩小的图案,使观众感受到无限的延伸和变化。
分形几何作品可以以各种形式呈现。
在绘画中,艺术家可以使用分形图案来创造各种纹理和形状。
在雕塑中,艺术家可以使用分形几何的结构来构建复杂的雕塑作品。
在音乐中,艺术家可以利用分形几何的规律来创作出奇妙的音乐作品,如迭代曲线和分形序列。
分形几何是一个充满艺术魅力的领域。
它的研究和应用为我们揭示了自然界和人类社会中的规律和美丽。
分形几何作品以其奇妙和无限的形式给人带来了无尽的想象空间,使我们更好地了解和欣赏世界的复杂性和多样性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
分形树两次递归调用:
分形树六次递归调用:
分形树十次递归调用:
分形树二十五次递归调用
后面的我不敢往下试了——机子会爆掉的……
下面是绘制次分形树的方法:
package Elps;
im javax.swing.JFrame;
public class Main extends JFrame {
g.drawLine((int)x3, (int)y3, (int)x4, (int)y4);
g.drawLine((int)x4, (int)y4, (int)x0, (int)y0);
g.drawLine((int)x2, (int)y2, (int)x5, (int)y5);
g.drawLine((int)x5, (int)y5, (int)x3, (int)y3);
double x2;
double y2;
double x3;
double y3;
double x4;
double y4;
double x5;
double y5;
if(count<1)
{
return;
}//判断是否继续进行递归调用,注意:判断一定要放在递归调用之前,否则这段代码将永远不会被执行
x2 = x0 - l*Math.cos(a);
this.setSize(1000,700);//
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(3);
this.setVisible(true);
Graphics g = this.getGraphics();
}
public void paint(Graphics g){
y5 = y2 - l*Math.cos(Math.PI/6)*Math.sin(c);
//计算五个点的位置,以右下点为(X0,Y0)
g.drawLine((int)x0, (int)y0, (int)x2, (int)y2);
g.drawLine((int)x2, (int)y2, (int)x3, (int)y3);
//划线——注意方法所需要的数据类型
Show(x2,y2,l*Math.cos(Math.PI/6),a+Math.PI/6,b+Math.PI/6,c+Math.PI/6,count-1,g);
Show(x5,y5,l*Math.sin(Math.PI/6),a-Math.PI/3,b-Math.PI/3,c-Math.PI/3,count-1,g);
y2 = y0 - l*Math.sin(a);
x3 = x2 - l*Math.cos(b);
y3 = y2 - l*Math.sin(b);
x4 = x0 - l*Math.cos(b);
y4 = y0 - l*Math.sin(b);
x5 = x2 - l*Math.cos(Math.PI/6)*Math.cos(c);
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Main a = new Main();
a.draw();
}
public void draw(){//绘制窗体,添画布
super.paint(g);
this.Show(500,550,100, Math.PI/2,0,Math.PI/6,25,g);
//(Math.PI为180°)
}
public void Show(double x0,double y0,double l,double a,double b,double c,double count,Graphics g){
分形(二)——分形树
上次我们画出了谢尔宾斯基三角形,这次我们所画分形图形同样也是比较简单的——分形树,记得在上次的递归里~我们传入的参数是所绘的点的坐标,但这种方法并不一定的最好的,在绘制分形图案的时候,使用递归,所传参数应根据实际情况来定:(可以是角度,变长等)
同学们可以自己也试着画一下分形:这是今天的题目:
//进行递归调用(注意传到方法里的点是相对于新正方形的右下点)
}
}