フラクタル・マンデルブロ集合・ジュリア集合
フラクタルとは、1970年代にIBMで研究員をしていたフランス人数学者
マンデルブロが発見した概念です。
厳密にはフラクタル次元とかあるのですが、
難しい定義を抜きにして簡単に言うと、
複雑な形状が簡単な関係で構成されているものです。
理屈を言うより具体例を見た方が分かりやすいでしょう。
例えば、2次のマンデルブロ集合は、
という単純な式から成り立っています。 プログラムの中では Zk の初期値 Z0 を
Z0 = Real + i Imagと置いています。 また C は画面上の位置で決まります。 横の座標値が実数部・縦の座標値が虚数部で、 初期値はそれぞれ -2 〜 2 となっています。 マンデルブロ集合とは、上の漸化式を何回計算しても無限遠方へ発散せず、 ある範囲内に収まる複素数Cの集合です。 プログラムでは Zk の大きさ
|Zk| = sqrt(ZkReal2 + ZkImag2)が 2 を超えると必ず発散するのでその時点で反復計算を止め、
また反復回数 k が100 に達した時点で収束したと見なします
(拡大を続けると境界が粗くなるのはこのためです)。
そして、それぞれのポイントでの反復回数 k によって色をつけます。
このプログラムでは
0 〜 50 〜 99, 100
青 〜 緑 〜 赤, 黒
と色をつけています
(ver.2では藍〜白,黒・赤〜白,黒が追加されました)。
ジュリア集合のジュリアはフランス人の数学者で、
マンデルブロより31歳年上の大先輩です。
このジュリア集合はマンデルブロ集合の
Zk と C を入れ替えたものです。
つまり、 C を
で固定し、画面上の位置で Z0 を決めています。 ソースコードを見れば、 上の2つが単に Z0 と C を入れ替えているだけなのがわかると思います。 また、ver.2では3次〜5次も追加されました。
バーニングシップ・トライコーン
いずれもマンデルブロ集合の亜種です。
バーニングシップは2次の表示を反転してアプレットの右側の小さな黒いカタマリを
拡大するとその名の由来がわかります。式は
です。
トライコーンは2次の形からその名が付けられました。
3次以上は実際にはテトラ・ペンタ・ヘキサになっています。式は
です。
自己相似性
フラクタル最大の特徴は、自己相似性と呼ばれるものです。
自分自身の一部を拡大すると、元の図形とそっくりになるというものです。
このプログラムでも拡大機能がありますので、
実際に拡大してみるとよく分かると思います。
マンデルブロ集合の小さな団子部分が分かりやすいでしょう。
(中には自己相似性の無いひねくれたフラクタルもありますが、
マンデルブロ集合とジュリア集合
・ニュートンアトラクタはそんなことはありません。)
ニュートンアトラクタ
ver.2で追加されたニュートンアトラクタについて簡単に説明します。
ニュートンアトラクタとは、方程式
の (複素数の) 解を、 初期値を変えてニュートン=ラプソン法の逐次計算
Zk+1 = Zk - ( Zkn - 1 ) / nZkn - 1によって解いた時、
n 個の解の内どれに収束するかで数を分けたものです。
2次では単に +1 と -1 の領域が真っ二つに別れるだけですが、
3次以上では、分けた領域がフラクタルになります。