フラクタルを描画しよう

マンデルブロ集合とは

マンデルブロ集合

マンデルブロ集合は、マンデルブロがジュリア集合から生み出せることを示唆していました。実際にその数式をマンデルブロ集合と名づけたのは、ジョン・ハバードによってです(論争はあるが)。 マンデルブロ集合の中で最も有名な式(反復写像)の一つを紹介します。
または、

反復式

上記の式において、

とします。このとき反復式は、
となります。そして、この式を展開し、実数部と虚数部に分け
実数部:
虚数部:
とします。

C=a+biって?

Cは、複素数パラメータ(定数)です。実数をa、虚数をbとします。では、実際に指定するa、bの値を説明します。複素数の世界では、以下のような座標系を使用します。



マンデルブロ集合は、ある範囲(x1<=x<=x2, y1<=y<=y2)の座標領域の点(座標)を一つ一つ計算します。たとえば、座標(x,y)=(1,0)をマンデルブロ集合の反復式にあてはめるとき、a,bの値は(a,b)=(1,0)になります。

反復終了の条件は?

反復回数をnとした場合、n回の反復計算をする中で、以下の判定式で判定します。

このαの値を超えた場合に、発散と認定し、その回数に対応する何らかの処理を行います。一般的には、その点(x1,y1)の色付けに使用します。たとえば、1のとき赤、2のとき青...nのとき黒のように指定します。またαの値は、一般的には2ですが、なんでも結構です。この発散判定値や判定条件式を変えることによっても違った趣の発散が得られます。

アルゴリズム

ここでは、全ての言語に対応するため、一般的な方法を示します。個別の方法は、それぞれのプログラミングのページを見てください。
  1. 変数x,yの値を0に設定する。
  2. 変数a,bに計算座標の座標を設定する。
  3. n回を上限とする反復をします。
  4. 反復式を計算する。
  5. 発散条件を判定する。
  6. 発散していない場合、3.に戻る
  7. 発散した場合、その回数を保持する。
終わり。

 

戻る



Copyright (C) 1999-2008 Office KAI. All Rights Reserved.