逆写像によるジュリア集合(1)

2011 / 09 / 07 by
Filed under: AS 
Bookmark this on Delicious
[`livedoor` not found]
[`yahoo` not found]

先般、フラクタルやカオスについていろいろ調べていたときに、カオス&フラクタル紀行というサイトに行き当たりました。
そちらのギャラリーページには、見た目が超萌えなカオス、フラクタルがてんこ盛り。しかもソース解放(ただし java)!
でもボクちん数学いまいちよく分からんので、ActionScript で書きたくても読み解けない悲しさよ。
まぁすべてが解析できないわけでもなくて、いくつかは理解できたんですが、その中から今回は「逆写像によるジュリア集合」ってのを ActionScript で書いてみましたその簡単な説明。

写像ってのは、まぁざっくり言っちゃうと要は関数ですかね。ある値を与えると、ある値が得られる。別の値を与えると、また別の値が得られる。そんな値の1対1対応が成立する規則ですね。

写像を f、与える値を x、得られる値を y とすると、y = f(x) という表し方をします。
例えば y = 5 * x + 3 という方程式。x を 1、2、3、4、5 …… と与えていくと、y は 8、13、18、23、28…… と変化します。
このとき x の側の数値の集合と y の側の数値との間には1対1の対応が成立している写像なわけです。
そして y 側の集合の値を与えたときに x 側の集合の値が得られる、そのような写像を f に対する逆写像と呼び、f-1 で表します。表記上、マイナス1乗と同じですが、まったく違うもので混同してはイカンとのこと。

y = 5 * x + 3 である写像 f(x) の逆写像 f-1(x) は方程式で表すと y = (x – 3) / 5 ですか。
数学よう分からんので間違えてるかもしんないけど、まぁそんな雰囲気ですわ。

で、以前ブログにエントリーしましたが、ジュリア集合を描く漸化式は z ← z * z + c でした(z、c 共に複素数)。
その逆写像はというと、f-1(z) = ±√(z – c) となるそうです。
一つの複素数 z を与えると、+√(z – c) と -√(z – c) の二つの値を返すわけですね。
それを ActionScript で書いたのが↓

逆写像によるジュリア集合の描画 – wonderfl build flash online

比較できるよう、以前投稿したジュリア集合描画コードと見栄えを同じにしてみました。

ジュリア集合 – wonderfl build flash online

両方の複素数 c の値を同じにしてみるとよく分かりますが、逆写像によるジュリア集合の描画は、その境界を描きます。

色つきの方のコードで表されているビジュアルのうち、ジュリア集合に相当するのは黒く塗られた部分で、色つきの部分はジュリア集合ではありません。
それはマンデルブロ集合でも同じです。マンデルブロ集合のビジュアルのうち、中央部の黒くなった桃みたいな部分がマンデルブロ集合です。



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