­

gnuplot / fractal / selfsq

Julia集合 (自己平方フラクタル)

Mandelbrot集合と同様,ある複素数 A を用いて対して漸化式を計算し,n
が無限に大きくなっても|z(n)|^2 が発散しないような集合を求めます.
Mandelbrot集合と違うのは,漸化式の初期値として,複素平面上の座標(X,Y)
を用い,Aを任意の複素定数とするとろこです.

z(0)   = X + iY
z(n+1) = z(n)*z(n) + A

この関数はMandelbrot集合のページ
定義した関数mandelをそのまま用いることができます.任意の複素
定数は予め定義しておき,関数をプロットする際の初期値として(X,Y)座標値
を使います.ここでは複素定数を A = -0.37-0.612 i としています.

gnuplot> set xrange [-0.5:0.5]
gnuplot> set yrange [-0.5:0.5]
gnuplot> set logscale z
gnuplot> set isosample 50
gnuplot> set hidden3d
gnuplot> set contour
gnuplot> a= -0.37
gnuplot> b= -0.612
gnuplot> splot mandel(a,b,complex(x,y),0) notitle
selfsq1

自己平方フラクタルでは,複素定数 A を変化させることで色々な画像を
表示することができます.実際,定数をわずかに変化させただけで,まったく
違った図になったりします.上の図ではA=-0.37 -0.612 i でしたが,
この虚部を0.6にしただけで,下の絵のように変化します.

selfsq2


up

ここでもgnuplotとは関係無いオマケのCGをお見せします.下の絵は先ほ
どgnuplotで描いた2つの図と同じパラメータで計算した自己平方フラクタルで
す.

selfsquared1
selfsquared2
up