跳转到内容

曼德博集合

本页使用了标题或全文手工转换
维基百科,自由的百科全书

这是本页的一个历史版本,由L1988770613留言 | 贡献2011年11月4日 (五) 14:55 (修飾語句)编辑。这可能和当前版本存在着巨大的差异。

如果c点属于曼德博集合M则为黑色,反之为白色

曼德博集合(Mandelbrot set,或译為曼德布洛特复数集合)是一种在复平面上组成分形的点的集合,以數學家本華·曼德博的名字命名。曼德博集合與朱利亚集合有些相似的地方,例如使用相同的复二次多项式來进行迭代

定义

曼德博集合可以用复二次多项式来定义:

解析失败 (SVG(MathML可通过浏览器插件启用):从服务器“http://localhost:6011/zh.wikipedia.org/v1/”返回无效的响应(“Math extension cannot connect to Restbase.”):): {\displaystyle f_c(z) = z^{2} + c \,}

其中 是一个复数参数。

开始对 进行迭代,每次迭代的值依序如以下序列所示:

不同數值的参数 可能使序列的值逐漸發散到无限大,也可能收斂在有限半径的圆盘内。

曼德博集合 就是使序列不延伸至无限大的所有复数 集合

计算的方法

曼德博集合一般用计算机程序计算。对于大多数的分形软件,例如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函数的一些例子

  1. 直接利用循环终止时的Repeats
  2. 综合利用z和Repeats
  3. 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];

各種圖示

動畫
最原始圖片
放大等級1
放大等級2
放大等級3
放大等級4
放大等級5
放大等級6
放大等級7
放大等級8
放大等級9
放大等級10
放大等級11
放大等級12
放大等級13
放大等級14

Template:Link GA