ジュリア集合

2011 / 02 / 16 by
Filed under: Coding の素 
Bookmark this on Delicious
[`livedoor` not found]
[`yahoo` not found]

マンデルブロ集合の話をすると、もうひとつの集合が必ずといって頻度で話題になりますね。そう。ジュリア集合です。
聞くところによるとジュリア集合の方が古いそうな。マンデルブロはジュリア集合をいろいろ研究しているうちにマンデルブロ集合のアイディアに辿りついたとか。ジュリア集合の特殊な形がマンデルブロ集合、という感じなんですかね。
そんなわけか、マンデルブロ集合とジュリア集合は基本的には同じようなもん。どちらもその漸化式は、マンデルブロ集合のときにさんざん出てきた下のものです。


zn+1 = zn ^ 2 + c;

マンデルブロ集合は、複素数 z の初期値 z0 を 0 + 0i に固定し、複素数 c の方は複素数平面を走査する形で値を切り替え、その都度発散の評価をおこなう、というものでした。

ジュリア集合では、固定するのは c の方です。そして複素数平面を走査する形で値を切り替えるのは z0 です。

z0 と c の違いがありますが、やっていることは同じですね。

ところでジュリア集合では複素数 c はどんな値に固定されるんでしょうか。
それは別に 0 + 0i に限ったものではなく、何らかの任意の値です。

つまりジュリア集合は、マンデルブロ集合と違ってひとつではありません。

c = 0.37 – 0.61i としたジュリア集合、c = -0.27 + 0.66i としたジュリア集合、c = -0.05 + 0.7i としたジュリア集合…… といった具合に無数のジュリア集合があり得る、ということらしい。

さて、以上を踏まえて、先日のマンデルブロ集合描画コードを改造してジュリア集合描画コードを投稿しました。
横のスライダーで複素数 c の実数部を、縦のスライダーで複素数 c の虚数部を、それぞれ -2 ~ 2 の間で変化させることができます。
左上に表示されている文字列の r: は複素数 c の実数部、i: は虚数部です。

ジュリア集合 – wonderfl build flash online

また、マンデルブロ集合描画コードを投稿したとき、漸化式の冪乗を 2 以外のものとする
マルチブロ集合というものも併せて投稿しました。下の漸化式の D が 3 以上のやつですね。


zn+1 = zn ^ D + c;

マンデルブロ集合とジュリア集合は基本的に同じもの、ってことはジュリア集合のマルチ版もあるだろう、ってことでコーディングしたものが以下のものです。

ジュリア集合 (z = z ^ D + c) – wonderfl build flash online

マルチブロ集合のときは D – 1 個のこぶが描かれていましたが、ジュリア集合の場合は D 個の枝が描かれるようです。

[ad#aquioux_net_article]



Comments

Tell me what you're thinking...
and oh, if you want a pic to show with your comment, go get a gravatar!





WP-SpamFree by Pole Position Marketing