分形图形学实验指导实验一二维空间上的分形图形生成实验目的1
Mandelbrot集与Julia集的计算机实现2
掌握用L系统语言生成分形实验内容及步骤1
编写程序生成Mandelbrot集在复迭代中影响最大的当属迭代z→z^2+c,实际上它只是形式更一般的复解析迭代z_(n+1)=F(z_n)+c的一种,F是一个非线性函数
显然z→z^2+c也是最简单的一种,它在复迭代中的地位相当于逻辑斯蒂映射x_(n+1)=ax_n(1-x_n)在实迭代中的地位(见第八章)
考虑一般形式的F,令z=x+iy,c=c_(X)+ic_(Y),其中i表示虚数,i=SQRT(-1)
分离实部与虚部,具体化迭代关系便有:x→f(x,y)+c_(X),y→g(x,y)+c_(Y)
通常所说的M集是迭代二次函数z→z^2+c产生的,此函数具体化就是x→x^2-y^2+c_(X),y→2xy+c_(Y)
其中z=x+iy,c=c_(X)+ic_(Y),以横轴x记录实数的实部,以纵轴y记录实数的虚部
M集合实际上是常数c=(c_(X),c_(Y))构成的图象
让c从屏幕左上角开始变化,逐行增加,一直变到屏幕右下角
如果取的区域是200×200,则一共要计算40,000个点,把计算的结果用不同的颜色标记下来,就得到一幅图象,这就是M集
对于不同的c值,如何得到表征迭代性质的不同的结果呢
容易知道,无穷远处肯定是迭代的一个吸引子,即对于复平面上相当多的初始条件,迭代最终都跑到无穷远处
但研究发现,在原点附近还存在一个奇特的区域,在迭代过程中此1区域永远不会跑掉
在非严格的意义上,这个不变的集合就是M集,我们的主要任务就是画出这个集合的边界——实际上边界是分形曲线,极其复杂,M集图象的全部魅力就在这里
在复平面上,我们以原点(0,0)作为参考点,观察迭代过程是否远离原点,以及逃离原点的速度如何
为此规定一个距离