今回は
zn+1=znM+C
において,Mが小数(非整数),負数の時を見ていこうと思います.
・M:非整数
Mが非整数の時は,どうやってznM+Cを計算するかというと,zを極形式に変換します.
z=x+yi
=r*eiθ
r=|z|=√(x*x+y*y)
θ=arg(z)=arctan(y, x)
こんな感じ,ということで,
zM
=rM*eiMθ
=rM*(isin(Mθ)+cos(Mθ))
となります.
では,下にMが非整数のときの結果を示します.

Fig.1 M=2.2

Fig.2 M=2.7
かなり半端な図形です.M=2からM=3までの途中段階という感じです.
さらに,Fig.1を拡大すると…

Fig.3 M=2.2 (zoom)
やっぱり半端です.
・M:負数
M=-1とすると,
z1=z0-1+C=0-1+C
となり,マズイので,z0=Cとして計算します.
znMは先程と同様に計算することが出来ます.
ただし,若干不正確な処があります.今までは,「発散した」という条件を
|z|2>4
という閾値で判断していました.しかし,逆数乗を繰り返す場合,発散しない場合でも,4を大きく上回る
値をとりながら振動してしまう場合がありました(正数乗の場合は閾値は4で良いらしいです).ここら辺の扱いはよく分からないので,ここでは不正確ながら閾値を16に設定してみます.

Fig.4 M=-1

Fig.5 M=-2

Fig.6 M=-3
(…参考文献とほとんど同じ配色なってしまいました…)
M>0の時とは全く雰囲気が違います.中央部が発散していて,中心から離れると発散しなくなります.
こんな処です.最後に動画を….
Mが0から-16に変化します.
参考文献
Paul Bourke.“Mandelbrot powers”.<http://local.wasp.uwa.edu.au/~pbourke/fractals/mandelpower/>.Paul Bourke - Personal Pages.(参照2009年3月7日)
0 件のコメント:
コメントを投稿