当前位置:文档之家› 数学实验迭代:分形

数学实验迭代:分形

迭代:分形
姓名:
学号:
班级:数学与应用数学4班
实验报告
实验目的:以迭代的观点介绍分形的基本特性以及生成分形图形的基本方法,使读者在欣赏美丽的分形图案的同时对分形几何这门学科有一个直观的了解,并从哲理的高度理解这门学科诞生的必然,激发读者探寻科学真理的兴趣。

实验环境:Mathematica软件
实验基本理论和方法:
在19世纪末及20世纪初,一些数学家就构造出一些边界形状极不光滑的图形,而这类图形的构造方式都有一个共同的特点,即最终图形F都是按照一定的规则R通过对初始图形不断修改得到的。

其中最有代表性的图形是Koch曲线,Koch曲线的构造方式是:给定一条直线段,将该直线段三等分,并将中间的一段用以该线段为边的等边三
角形的另外两条边代替,得到图形,然后再对图形中的每一小段都按上述方式修改,以至无穷。

则最后得到的极限曲线即是所谓的Koch曲线。

生成元:Koch曲线的修改规则R是将每一条直线段用一条折线代替,我们称为该分形的生成元。

分形的基本特性完全由生成元确定,因此,给定一个生成元,我们就可以生成各种各样的分形图形。

Julia集绘制方法:(1)设定初值p,q,一个最大的迭代次数N,图形的分辨率的大小a,b,和使用的颜色数(如K=16)(或者给定灰度
级L);(2)设定一个上界值;(3)将矩形区域
分成的网格,分别以每个网格点,
,,,作为初值利用riter做迭代(实际上,只需对满足的初值点做迭代)。

如果对所有,,则将图形的像素点用黑
色显示,否则,如果从迭代的某一步开始有,则用
modK种颜色显示相应像素(或者用相应的灰度级显示)。

Mandelbrot集绘制方法:设定一个最大的迭代次数N,图形的分辨率的大小a,b,和使用的颜色数(如K=16)(或者给定灰度级L);(2)
设定一个上界值;(3)将矩形区域分成
的网格,分别以每个网格点,,,
,作为参数值利用riter做迭代(实际上,只需对的初值点做迭代),每次迭代的初值均取为。

如果对所有,,则将图形的像素点用黑色显示,否则,如果从迭代的某一步开始有,则用modK种颜色显示相应像素(或者用相应的灰度级显示)。

IFS迭代绘制分形:设计算机屏幕的可视窗口为

按分辨率大小的要求将分成的网格,网格点为,这里
,,
,,
用表示矩形区域,假设我们采取具有
L(如L=256)级灰度的黑白图像绘制,总共的迭代次数为N,其中落于区域中的点的个数为,再记
,,,
则像素的灰度与落于区域中的点数成正比:
,于是即给出了IFS迭代产生的分形的L级灰度图像。

实验内容和步骤及结果分析:
问题一:几个经典的分形图形及其生成元。

Koch雪花曲线
其步骤是:(1)打开Mathematica软件;
(2)输入下列语句:
(3)运行。

结果如下图:
Minkowski香肠
其步骤是:(1)打开Mathematica软件;
(2)输入下列语句:
(3)运行。

结果如下图:
Sierpinski三角形
其步骤是:(1)打开Mathematica软件;
(2)输入下列语句:
(3)运行。

结果如下图:
树木花草
其步骤是:(1)打开Mathematica软件;
(2)输入下列语句:
(3)运行。

结果如下图:
问题二:定义Weierstrass函数如下:
,.
对不同的s值,画出函数的图像,观察图像的不规则性与s的关系,由此猜测Weierstrass函数图像的维数与s的关系。

其步骤是:(1)打开Mathematica软件;
(2)输入下列语句:
(3)运行。

结果如下图:
结果分析:由上图可知,当s的值越大时,图像越有规则。

故Weierstrass 函数图像的维数与s的关系是s的值越大,维数越大。

问题三:编写绘制Julia集和Mandelbrot集的程序及他们的局部放大。

其步骤是:(1)打开Mathematica软件;
(2)输入下列语句:
Julia集:
Mandelbrot集
(3)运行。

结果如下图:
问题四:IFS迭代生成Sierpinski三角形,其程序是:
附录(源程序)见文章具体步骤.。

相关主题