分形算法及C++实现

本文介绍了分形几何的概念,通过迭代函数系统算法展示了如何用C++模拟分形图形,如一棵树的生成,并提供了相应的源代码实现。此外,还提到了递归算法和逃逸时间算法等其他分形计算方法。
摘要由CSDN通过智能技术生成

1 .分形简介

我们人类生活的世界是一个极其复杂的世界,例如,喧闹的都市生活、变幻莫测的股市变化、复杂的生命现象、蜿蜒曲折的海岸线、坑坑洼洼的地面等等,都表现了客观世界特别丰富的现象。基于传统欧几里得几何学的各门自然科学总是把研究对象想象成一个个规则的形体,而我们生活的世界竟如此不规则和支离破碎,与欧几里得几何图形相比,拥有完全不同层次的复杂性。分形几何则提供了一种描述这种不规则复杂现象中的秩序和结构的新方法。

什么是分形几何?通俗一点说就是研究无限复杂但具有一定意义下的自相似图形和结构的几何学。什么是自相似呢?例如一棵苍天大树与它自身上的树枝及树枝上的枝杈,在形状上没什么大的区别,大树与树枝这种关系在几何形状上称之为自相似关系;我们再拿来一片树叶,仔细观察一下叶脉,它们也具备这种性质;动物也不例外,一头牛身体中的一个细胞中的基因记录着这头牛的全部生长信息;还有高山的表面,您无论怎样放大其局部,它都如此粗糙不平等等。这些例子在我们的身边到处可见。分形几何揭示了世界的本质,分形几何是真正描述大自然的几何学。

例如,首先画一个等边三角形,把边长为原来三角形边长的三分之一的小等边三角形选放在原来三角形的三条边上,由此得到一个六角星;再将这个六角星的每个角上的小等边三角形按上述同样方法变成一个小六角星…… 如此一直进行下去,就得到了雪花的形状。

 

 

                      

2 .分形中的迭代函数系统

   相似变换是指在各个方向上变换的比率必须相同的一种比例变换;仿射变换是指在不同的方向上变换的比率可以不同的一种比例变换。

   仿射变换的数学表达式为:

其中, a b c d e f 是仿射变换系数。

对于比较复杂的图形,可能需要多个不同的仿射变换来实现,而且,每个仿射变换被调用的概率不一定相同,所以引进一个参数概率 p a b c d e f p 就构成了一个 IFS 码。

3 .分形中计算机模拟算法

   递归算法。

   字符串替换算法。

   迭代函数系统算法。

  逃逸时间算法。

4 .使用迭代函数系统算法对一棵树的C++ 实现程序

fractal.h 文件:

#ifndef _FRACTAL_H

#define _FRACTAL_H

 

#include <cstdlib>

#include <ctime>

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值