Julia 集和 Mandelbrot 集的圖片/Julia 集和 Fatou 域
設 是從複平面 到自身的可微對映。我們首先假設 作為複函式是可微的,也就是說, 是一個全純函式,因此可以像我們想的那樣多次微分。此外,我們假設 是有理的,也就是說,,其中 和 都是復多項式。如果 和 的次數分別為 m 和 n,我們稱 *d = m - n* 為 的次數。
Julia 集的理論從這個問題開始:當我們迭代一個點 *z* 時會發生什麼,也就是說,當我們形成序列 (*k = 0, 1, 2, ...*)時會發生什麼,其中 且 。
每個迭代序列都屬於以下三類之一
- 1: 該序列 *收斂* 到一個有限的點迴圈,並且 *z* 附近所有點在足夠小的鄰域內都收斂到同一個迴圈。
- 2: 該序列 *進入* 一個有限的迴圈(有限的)多邊形形狀或(無限的)環形形狀旋轉運動,並且 *z* 附近的所有點在足夠小的鄰域內都進行類似的但同心運動。
- 3: 該序列 *進入* 一個有限的迴圈,但 *z* 具有這種性質是孤立的,*或者*:對於 *z* 附近所有點 *w*,*z* 和 *w* 的迭代之間的距離大於 *z* 和 *w* 之間的距離。
在第一種情況下,迴圈是 *吸引* 的,在第二種情況下,迴圈是 *中性* 的(在這種情況下,存在一個 *中心* 的有限迴圈),在第三種情況下,迭代序列是 *排斥* 的。


點 *z* 的集合,其迭代序列收斂到同一個吸引迴圈或進入同一個中性迴圈,是一個開集,稱為 的 *Fatou 域*。這些域的並集的補集(滿足條件 3 的點)是一個閉集,稱為 的 *Julia 集*。
Julia 集總是非空且不可數的,並且它是*無限薄*的(沒有內點)。它不受 的影響,並且這裡的迭代序列表現出混沌現象(除了可數的有限序列點)。Julia 集可以是一條簡單的曲線,但通常是一個分形。
關於復有理函式迭代的均值定理如下:
- 每個 Fatou 域都有相同的邊界。
因此,共同邊界就是 Julia 集。這意味著 Julia 集的*每個*點都是每個 Fatou 域的*累積點*。
如果存在兩個以上的 Fatou 域,我們可以推斷 Julia 集一定是一個分形,因為 Julia 集的*每個*點都有來自兩個以上不同開集的點無限靠近,但這是“不可能的”,因為平面只有二維。
因此,如果我們以特定方式構建 ,我們可以確定 Julia 集是一個分形。這是求解方程 的牛頓迭代的情況。這裡 ,並且可以透過迭代找到的解屬於不同的 Fatou 域(由迭代到該解的點組成)。第一張圖顯示了求解 的牛頓迭代的 Julia 集。但 Julia 集也可以因其他原因成為分形,下一張圖顯示了形式為 的迭代的 Julia 集,這裡只有一個 Fatou 域。
臨界點
[edit | edit source]首先,我們必須找到所有 Fatou 域。由於 Fatou 域可以透過知道其中的一個點來確定,所以我們必須找到一個點集,使得每個 Fatou 域都包含這些點中的至少一個。這很容易做到,因為
- 每個 Fatou 域都包含 的至少一個臨界點。
的*臨界點*是指滿足 的(有限)點*z*,或者如果 的次數*d* 至少為 2,或者如果 對於某個*c* 和滿足此條件的有理函式 則*z* = ∞。
由於我們已經預設 f(z) 是有理函式,這意味著 Fatou 域的數量是有限的。
我們可以透過牛頓迭代找到 的解:如果*z*是解,則透過 → 對*z*附近的點進行迭代。我們可以對平面中大量規則分佈的點應用牛頓迭代,並記錄不同的臨界點(如果起始點屬於迭代的 Julia 集,它不一定導致解,同樣,我們也不能完全確定我們會捕獲所有臨界點,但對於我們的任務,我們應該不在乎這一點)。
這裡我們只處理吸引的 Fatou 域:中性域無法以自然的方式著色,除非 特別選定,在實踐中 Fatou 域不可能是中性的。
我們可以用以下方法找到不同的吸引 Fatou 域:我們對每個臨界點進行大量迭代(或者如果迭代點在數值上大於給定的大數,則停止迭代),使得迭代點 z* 非常接近其終點,該終點可能是一個包含 ∞ 的迴圈,並且我們繼續迭代直到該點再次非常接近 z*。用於此的迭代次數 r(z*) 是迴圈的階數。此後,我們透過刪除屬於以前註冊迴圈的點 z* 來註冊不同的迴圈。這組點對應於 Fatou 域的集合。
一個 Fatou 域可以包含幾個臨界點,從 Fatou 域中的臨界點數量,我們可以說一些關於 Julia 集的連通性:Fatou 域中的臨界點越少,Julia 集就越連通。
迴圈的吸引力
[edit | edit source]為了以自然和平滑的方式對 Fatou 域進行著色,除了迴圈的階數外,我們還必須知道它的吸引力 - 一個大於 1 的實數
對於指向階數為 r 的吸引迴圈的迭代,我們有,如果 z* 是迴圈中的一個點,那麼(r 次複合),吸引力是數字 。注意 = 迴圈的 r 個點的 的乘積。如果 w 是一個非常接近 z* 的點,而 是 w 迭代 r 次,我們有 limw→z*.
然而,這個數字 可以是 ∞,即如果迴圈包含一個臨界點(意味著臨界點在 *r* 次迭代後迭代到自身),在這種情況下,法圖域(和迴圈)被稱為 *超吸引*。我們現在設定 limw→z* 或者 limw→∞ 如果 *z* = ∞。
在最後一種情況下,即 ∞ 是一個臨界點並且 *屬於* 迴圈,我們有 *|d|* > 1 並且 。在這種情況下,我們假設 ∞ 是一個不動點 (*r* = 1),因此 *d* ≥ 2 並且 (因此我們忽略了像 這樣的函式,其中吸引迴圈是 {*c*, ∞})。
在使用牛頓迭代法求解方程 (因此 )的情況下,法圖域(包含解)是超吸引的,並且 (如果解不是重根)。
我們的著色方法基於 *實際迭代次數*,它與法圖域的 *勢函式* 相關聯。在這三種情況下,勢函式由下式給出
- limk→∞ (非超吸引)
- limk→∞ (超吸引)
- limk→∞ (d ≥ 2 且 z* = ∞)
實際迭代次數取決於對一個非常小的數的選擇 (對於趨向有限迴圈的迭代)和一個非常大的數 N(例如 10100,對於趨向 ∞ 的迭代),以及由 z 生成的序列,當滿足以下條件時停止: 對於其中一個點 z*(對應於 Fatou 域)或 ,或者 當達到一個選定的最大迭代次數 M 時(這意味著我們已經命中了 Julia 集,儘管這不太可能)。
如果迴圈不是不動點,我們必須將迭代次數 k 除以迴圈的階數 r,並取該數的整數部分。

如果我們計算 對於停止迭代的 k,並將 或 分別用 或 N 替換,我們必須將迭代次數 k 替換為一個實數,這就是實際迭代次數。它可以透過從 k 中減去一個在 [0, 1[ 區間內的數來找到,在三種情況下,它由以下公式給出:
- (非超吸引)
- (超吸引)
- (d ≥ 2 且 z* = ∞)
為了進行著色,我們必須選擇迴圈顏色尺度:無論是圖片還是數學或手動構造的尺度,透過選擇一些顏色並以連續的方式連線它們。如果尺度包含 H 種顏色(例如 600),我們將顏色從 0 到 H-1 編號。然後,我們將實際迭代次數乘以一個決定圖片中顏色密度的數,並取該積對 H 的模的整數部分。密度實際上是著色中最重要的因素,如果它選擇得當,我們可以得到很好的顏色搭配。然而,一些分形圖案似乎無法令人滿意地著色,在這些情況下,我們必須將圖片保持為黑白或中等灰色調。
著色 Julia 集
[edit | edit source]
為了得到一張漂亮的圖片,我們還必須著色 Julia 集,否則 Julia 集只能透過著色 Fatou 域來觀察,而這種著色在 Julia 集附近變化劇烈,給人一種模糊的感覺(可以透過仔細選擇顏色尺度和密度來避免這種情況)。一個點 z 屬於 Julia 集,如果迭代不停止,也就是說,如果我們已經達到選定的最大迭代次數 M。但由於 Julia 集是無限薄的,而且我們只對規則排列的點進行計算,因此在實踐中我們無法用這種方式著色 Julia 集。但幸運的是,存在一個公式可以(直到一個常數因子)估計 Julia 集外部的點 z 到 Julia 集的距離。這個公式與一個 Fatou 域相關聯,並且該公式給出的數字越接近 Julia 集越準確,因此偏差沒有意義。
距離函式是指函式 (參見 *非複數函式的Julia集合和Mandelbrot集合* 部分),其等勢線必須大致均勻分佈。公式中出現了關於 *z* 的 的導數 。但由於 (k 次複合), 是數字 (*i = 0, 1, ..., k-1*)的乘積,這個序列可以透過 和 (*在* 計算下一個迭代 *之前*)遞迴地計算。在三種情況下,我們有
- limk→∞ (非超吸引)
- limk→∞ (超吸引)
- limk→∞ (d ≥ 2 且 z* = ∞)
如果這個數字(針對最後一次迭代次數 kr 計算得出,需要除以 r)小於給定的小數字,則例如將點 z 著色為深藍色。
燈光效果
[edit | edit source]

我們可以透過使用燈光效果,使某些圖案的著色更具吸引力。我們假設我們將勢函式或距離函式繪製在帶有分形的平面上,並且從給定方向(由兩個角度確定)照亮生成的丘陵景觀,並從正上方觀察。對於每個點,我們對另外兩個非常接近該點的點進行真實迭代次數的計算,一個在 x 方向,另一個在 y 方向。這三個真實迭代次數的值在空間中形成一個小的三角形,我們用該三角形的法線(單位)向量與光方向的單位向量形成標量積。將標量積乘以一個確定光效果的數字後,我們將該數字新增到真實迭代次數(乘以密度數字)。
除了真實迭代次數,我們還可以使用從距離函式構造的相應實數。真實迭代次數通常給出最佳結果。使用距離函式等同於形成分形景觀並從正上方觀察它。
當 是一個多項式,並且當迴圈是超吸引時,效果通常最好,因為勢函式或距離函式的奇點會產生凸起,這可能會破壞著色。
場線
[edit | edit source]

在一個法圖域(不是中性的)中,存在一個與等勢線系統正交的線系統,該系統中的線稱為場線。如果我們根據迭代次數(不是真實迭代次數)對法圖域進行著色,則迭代帶將顯示等勢線的走向,也顯示場線的走向。如果迭代走向 ∞,我們可以很容易地顯示場線的走向,即透過根據最後序列點位於 x 軸上方還是下方來改變顏色,但在這種情況下(更準確地說:當法圖域是超吸引時),我們無法連貫地繪製場線(因為我們使用 迴圈點的乘積的幅角)。對於一個吸引迴圈 C,場線從迴圈點發出,並從迭代進入迴圈點的(無限多個)點發出。場線在朱利亞集上以非混沌點(即生成有限迴圈的點)結束。
令 r 為迴圈 C 的階數,令 z* 為 C 中的一個點。我們有 (r 重複合),我們定義複數 為
- .
如果C的點為, 是r個數字 的乘積。實數 1/ 是迴圈的吸引力,我們假設迴圈既不是中性的也不是超吸引的,這意味著 1 < 1/ < ∞。點 z* 是 的不動點,並且在該點附近,對映 具有(與場線相關)旋轉的特徵,其幅角為 的(因此)。
為了對法圖域進行著色,我們選擇了一個小數字,並將迭代序列 停止於 時,並根據數字k(或如果我們更喜歡平滑著色,則根據實際迭代次數)對點z 進行著色。如果我們從z* 選擇一個由角度 給定的方向,則從該方向發出的z* 的場線由滿足以下條件的點z 組成
- .
因為如果我們沿著場線方向(遠離迴圈)透過迭代帶,迭代次數k增加 1,數字增加,因此數字沿著場線是常數。
對法圖域場線的著色意味著我們對場線對之間的空間進行著色:我們從z*選擇一些規律分佈的方向,並在這些方向的每一個方向上選擇兩個方向。由於可能會發生兩個邊界場線不以朱利亞集的同一點結束的情況,我們著色的場線在通往朱利亞集的途中可能會(無限地)分叉。我們可以根據到場線中心線的距離進行著色,並且可以將這種著色與通常的著色混合使用。
令n為場線數,t為它們的相對厚度(區間[0, 1]中的一個數)。對於點z,我們已經計算了數字,如果數字(在區間[0, 1]中)滿足|v - i/n| < t/(2n),其中i = 0, 1, ..., n,我們可以使用數字|v - i/n|/(t/(2n))(在區間[0, 1]中 - 到場線中心的相對距離)進行著色。
在第一張圖片中,函式的形式為,我們只對單個法圖域進行了著色。第二張圖片顯示,場線可以做得非常裝飾性(函式的形式為)。

(彩色)場線被迭代帶分割,這樣的部分可以與單位正方形建立一一對應關係:一個座標是到一個邊界場線的相對距離,這個數字是(v - i/n)/(t/(2n)) + 1/2,另一個是到內部迭代帶的相對距離,這個數字是實際迭代數的非整數部分。因此,我們可以將圖片放入場線中。如果我們根據迭代次數和場線數對它們進行索引,我們可以根據需要放入任意數量的圖片。然而,似乎很難找到適合放置圖片的分形圖案 - 如果目的是具有藝術價值的圖片。但我們可以將繪製限制在場線內(並可能在嵌入的圖片中引入透明度),並讓場線外的域成為另一個分形圖案(第三張圖片)。
填充的朱利亞集
[edit | edit source]
法圖域的補集稱為填充朱利亞集。它是朱利亞集和其他法圖域的並集。外部法圖域通常是包含∞的域,填充的朱利亞集通常用黑色著色,就像曼德爾布羅特集一樣。程式更容易編寫,但執行速度更慢,因為黑色的點會達到最大迭代次數。由於精細的朱利亞集通常只有一個法圖域,因此您也可以製作一個更容易的程式,該程式只對單個法圖域進行著色。您在外部法圖域中選擇一個點,並對該點進行大量迭代,以找到吸引迴圈,然後填充的朱利亞集包括未向該迴圈迭代的點。如果有理函式的次數至少為 2,那麼包含∞的法圖域的填充朱利亞集由其迭代序列保持有界的點組成。