マンデルブロ集合で遊ぶためのコンポーネント
【 概要 】
マンデルブロ集合で遊ぶためのコンポーネントです。
マンデルブロ集合とは、複素平面上において
z[k + 1] = z[k]^n + C
という漸化式をくり返し計算したときに z[k] が発散しない複素数 C の集合
のことを言います。すなわち複素平面上の点の集まりのことを言います。
複素平面上の実数軸をX軸、虚数軸をY軸としてとしてこの集合を描くと、
自然界の曼荼羅ともいえる美しい模様が表われます。
z[k + 1] = z[k]^n + C という単純な漸化式からこのような複雑な模様が
表われるというのはまさに驚きです。
z[k]^n は、k 番目の漸化式 z[k] の n 乗を意味しています。
テキストだけで漸化式や累乗を表現するのはなかなかむずかしいので、
やむなくこの様に配列風に表現しています。
複素数 z[k] が発散しないとは、z[k] = x + yi とすると、z[k] の絶対値
|z[k]| = Sqrt(x^2 + y^2) が無限大にならず、一定の範囲内に収まる
ということを意味しています。Sqrt() は、平方根です。
一般的には、初期値を 0 、n を 2 として、
z[0] = 0
z[k + 1] = z[k]^2 + C
という漸化式をくり返し計算したときにz[k] が発散しない複素数 C の集合
が基本のマンデルブロ集合です。
TMandelbrot は、この基本のマンデルブロ集合のみを扱います。
実は、基本のマンデルブロ集合では、|C| > 2 の点では、必ず発散するので
マンデルブロ集合は、
-2 <= x <= 2
-2 <= y <= 2
の範囲内に収まることになります。またくり返し計算の途中で、|z[k]| > 2
となると必ず発散するのですが、ここではこれ以上の説明は行ないません。
TMandelbrot は、TImage を継承していますので、TImage にマンデルブロ
集合表示機能を追加したものという感覚で使用できます。
既存の画像の中にマンデルブロ集合を表示するといったことも可能です。
実際の処理は、ScanLine をキャッシュしておこないますので、大変高速な
表示が可能です。
ソフト名: | マンデルブロ集合表示コンポーネント TMandelbrot |
---|---|
動作OS: | Windows 7/Vista/XP/Me/2000/NT/98/95 |
機種: | IBM-PC |
種類: | フリーソフト |
作者: | 槻 誠三 |