Glynn Fractal (1)

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

Glynn Fractal – wonderfl build flash online

どうよこれ!
Burning Ship Fractal と並ぶ見た目のインパクトが強烈なフラクタル、それがこの Glynn Fractal です。
まるで内臓の断面図のような、何ともキモいルックスじゃあありませんか。

これは Earl F. Glynn という人による、ジュリア集合の亜種で、またの名を Glynn Julia Set とも呼ぶらしい。

その存在自体は以前から本で見て知っていましたが、今まで手をつけなかった理由はその漸化式にあります。


z ← z^1.5 - 0.2

この漸化式を、よりジュリア集合っぽく記述すると、以下のような感じになりますか。


z ← z^1.5 + c
c = -0.2 + 0i

c は虚数部のない複素数だから何の問題もないんですが、大問題なのは z の冪乗の指数です。整数ではなくて小数になっています。

2乗や3乗といった整数乗の計算は分りますが、1.5乗などという小数乗はどうやって計算したら良いのやらさっぱり分らん。
学校で習った覚えがないんですが、数学の教科書に出てきたもんなんすかねぇ。
そんなわけでしばらく放置してたんですが、やっぱこの見た目は何とか自分でプログラムしたいと思わせる強烈なインパクトがあります。
なので意を決してググってみましたよ(大げさ)。

N^1.5 の計算は、まず指数 1.5 の小数を 3/2 という分数形式に置き換えることから始まります。N^(3/2) という形式。
そして最初に指数の分子である 3 で冪乗計算をおこなうとのこと。仮に N^3 = X と置きます。
次は指数の分母である 2 の扱い。これは根計算になるとのこと。2 なので平方根。つまり √X。
これが指数が小数の冪乗計算手順なんだそうです。
式っぽい記述をすると以下のような感じですか。案外簡単ですなぁ。


N^1.5 = N^(3/2) = √(N^3)

そんなわけで Glynn Fractal の漸化式が計算できるようになりました。
今まで使っていたフラクタル漸化式計算クラスの突っ込んだのが冒頭のヤツですが、この Glynn Fractal、漸化式の計算量が多過ぎて、今までのフラクタル表示プログラムみたいにステージ全域を計算してから一括表示しようとすると、実用にならないレベルの重さになりました。
仕方ないんで、1行ずつ計算してスキャナーのように表示する方法にしたけど、何か漸化式を早く処理する方法ないですかねー。



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