如果c點屬於曼德博集合M則為黑色,反之為白色
曼德博集合(英語:Mandelbrot set,或譯為曼德布洛特複數集合)是一種在複平面上組成分形的點的集合,以數學家本華·曼德博的名字命名。曼德博集合與朱利亞集合有些相似的地方,例如使用相同的復二次多項式來進行迭代。
曼德博集合可以用複二次多項式來定義:

其中
是一個複數參數。
從
開始對
進行迭代:




每次迭代的值依序如以下序列所示:
不同的參數
可能使序列的絕對值逐漸發散到無限大,也可能收斂在有限的區域內。
曼德博集合
就是使序列不延伸至無限大的所有複數
的集合。
若
,則
假設
為真
則
當
時

因為

由以上可得知
假設
成立

由上式可得知
由數學歸納法可得知對於所有的n(n=1,2,...),
皆比
小。
當n趨近無限大時
依然沒有發散,所以
,故得證。
若
,則
假設
則
當
時

由
,左右同乘
再減去
可得到下式

由以上可得知
假設
成立,則

因為

由
,左右同乘
再減去
可得到下式

由以上可得知
由數學歸納法可得知
,可看出隨著迭代次數增加
逐漸遞增並發散。
假如
不發散,則收斂於某個常數
,
由
再取極限得
即
。
又
,矛盾,故
發散。
所以若
,則
,故得證。
若
,則
要證明若
,則
首先分別探討
與
兩種情形
由定理二可知道
且
時,
。
接著要證明
時的情況:
假設
,因為
,所以
,而

因為

由
,左右同乘
再減去
可得到下式

由以上可得知
由數學歸納法可得知
,可看出隨著迭代次數增加
逐漸遞增並發散。
所以在
且
的情況下也是
。
綜合上述可得知不論
為多少
若
,則
,故得證。
利用定理三可以在程式計算時快速地判斷
是否會發散。
曼德博集合一般用計算機程序計算。對於大多數的分形軟件,例如Ultra fractal,內部已經有了比較成熟的例子。下面的程序是一段偽代碼,表達了曼德博集合的計算思路。
For Each c in Complex
repeats = 0
z = 0
Do
z = z^2 + c
repeats = repeats + 1
Loop until abs(z) > EscapeRadius or repeats > MaxRepeats '根据定理三,EscapeRadius可设置为2。
If repeats > MaxRepeats Then
Draw c,Black '如果迭代次数超过MaxRepeats,就将c认定为属于曼德博集合,并设置为黑色。
Else
Draw c,color(z,c,repeats) 'color函数用来决定颜色。
End If
Next
- 直接利用循環終止時的Repeats
- 綜合利用z和Repeats
- Orbit Traps
mand = Compile[{{z0, _Complex}, {nmax, _Integer}},
Module[{z = z0, i = 1},
While[i < nmax && Abs[z] <= 2, z = z^2 + z0; i++]; i]];
ArrayPlot[
Reverse@Transpose@
Table[mand[x + y I, 500], {x, -2, 2, 0.01}, {y, -2, 2, 0.01}]]
動畫
點擊此圖像可觀看動態影像。
最原始圖片
|
放大等級1
|
放大等級2
|
放大等級3
|
放大等級4
|
放大等級5
|
放大等級6
|
放大等級7
|
放大等級8
|
放大等級9
|
放大等級10
|
放大等級11
|
放大等級12
|
放大等級13
|
放大等級14
|