曼德博集合
外观
曼德博集合(Mandelbrot set)是在复平面上组成分形的点的集合。
定义
曼德博集合可以用复二次多项式
- 来定义
其中是一个复参数。对于每一个,从开始对进行迭代。
曼德博集合就是使以上序列不延伸至无限大的所有点的集合。
从数学上来讲,曼德博集合是一个复数的集合。一个给定的复数或者属于曼德博集合,或者不是。
计算的方法
曼德博集合一般用计算机程序计算。对于大多数的分形软件,例如Ultra fractal,内部已经有了比较成熟的例子。下面的程序是一段伪代码,表达了曼德博集合的计算思路。
For Each z0 in Complex
repeats = 0
z=z0
Do
z=z^2+z0
repeate = repeats+1
Loop until abs(z)>Bailout or repeats >= MaxRepeats
If repeats >= MaxRepeats Then
Draw z0,Black
Else
Draw z0,f(z,z0,Repeats) 'f返回颜色
End If
Next
f函数的一些例子
- 直接利用循环终止时的Repeats
- 综合利用z和Repeats
- Orbit Traps
也可以用Mathematica制作
DensityPlot[Block[{z, t = 0}, z = x + y*I; While[(Abs[z] < 2.0) && (t < 100), ++t; z = z^2 + x + y*I]; Return[t]],{x, -2, 0.8}, {y, -1.5, 1.5}, PlotPoints -> 500, Mesh -> False];