PCが描く奇妙な画像集(数学的万華鏡と生物形態等の世界)

・インタープリタBASICによるフラクタルとカオスの奇妙な画集。

588 アニメ:Z^2マンデルブロ点列における、Z0,Z10~Z15の軌跡の変容(その2)

2014-09-03 10:28:26 | 動画

前回の動画は、初期値Z0を一定にしたときの点列の挙動を示すものであった。

今回の動画は、初期値Z0を変化させていったときの点列の挙動を示すものである。

点Z0(黒い円)の移動がマンデルブロ境界線に近づくにつれて、点Z10~Z15も特有な変化は、ますます増加し、境界線では其の変化は秩序性を失いカオス状態となってくる。

Z0→黒、Z10→青、Z11→C=赤、Z12→橙、Z13→緑、Z14→水、Z15→黄 としている。

点列の動画→Z0,Z10~Z15の軌跡

画像の中のマンデルブロ集合の縁部分の座標と点列の座標は一致させている。

この動画で興味深いのは以下のことだ。

点Z0(黒い円)がマンデルブロ集合内にあるときは、Z10~Z15の軌跡は、Z0に対応して、スムーズな特有な「ら線」を描いていく。その「ら線」はマンデルブロ境界線に接近するにつれて其の大きさが増大していく。

そしてマンデルブロ境界線に一致するとZ10~Z15の軌跡はカオス状態となる。

そしてマンデルブロ境界線を過ぎると軌跡は特有な「乱舞」を開始する。

その「乱舞」が生ずる箇所は、Z0の円がマンデルブロ境界線の「頭部」と交わる箇所だ。

ここで「乱舞」という表現をしたが動画で見ると,Z10~Z15の軌跡の挙動は其の表現どおりに見える。

マンデルブロ画像及び其の点列の不思議さと美しさを感じさせる。



---------------------------------------------------------------------------
以下此の画像の作成について少し詳しく説明する。

(注:この当たりの問題の解析は静止画像について記事307より詳しく行っている。)

記事583で詳説したように、巡回式:Z←Z^2+λは、点列(1)で表される。ここで、λは複素定数。

Z0,Z1,Z2,・・・,Zn,・・・Zmax ・・・・・・・・・・・・・・・・・・・・・・・(1)

ここで、Z0=λ とする。

複素平面での表示領域:Dを極座標とする。

極座標での点は、座標の中心点からの距離:Rと角度θで決定される。

ここで、Rとθの変化率を dr,dθとし、パラメータ K,Jを使用して、点Z(θ,R)を下式で与える。

θ=dθ*K ,R=dr*J

ここで表示領域:D内の点λ(=Z0)が与えられたとき、点列(1)はどのような挙動をするのだろうか? 

それを調べるには極座標を用いるのがよい。画像を鮮明にするには、dθ,dRを小さくするのがよいが、画像作成時間との兼ね合いがある。

C.K.クリックオーバー著『コンピューター・カオス・フラクタル』によれば、マンデルブロ集合の重心は(-0.14,0)だそうである。

ここで重心の定義は不明だが、(1)の点列の挙動を調べるとき、その点列座標の中心を此の重心と一致させて調べることにする。

そうすると、点列(1)の挙動は、マンデルブロ集合画像座標と一致させることができ、点列(1)の挙動がマンデルブロ集合及び其の縁(ふち)部分との関連が視覚的に分かることになる。


そこで、点列(1)の座標とマンデルブロ集合画像( 前記事586の画像 )の座標と一致させる。

そして、R=Z0=λとして、θ=0→2π変化させれば、半径R(=Z0)の円における点列(1)が表示できる。

------------------------------------------
ここで上の動画の具体的数値を示しておく。

K=0→5000 従って、dθ=2π/5000=0.00126rad
J=0→240, Rmax=1.36 従って、dR=1.36/240=0.00567
表示画像の中心点=マンデルブロ画像の重心座標値=(-0.14,0)
点列の極座標値はマンデルブロの重心座標値に一致させるように、(-0.14,0)だけ平行移動させている。
従って点列座標値はマンデルブロ集合画像座標値と一致する。

動画でのの始点は、J=60 従って、R=dR*60=0.340
動画でのの終点は、dR*240-0.14=-1.5

N-loopでのNmax=15

点列:Z0,Z11~Z15の挙動が分かり易いようにBASIC/98でのカラーコード:Cを下記にようにする。

Z0→黒(C=0)
Z10→青(C=1)
Z11→赤(C=2)
Z12→橙(C=3)
Z13→緑(C=4)
Z14→青(C=5)
Z15→黄(Z=6)

---------------------------------------------
以下の動画作成のBASIC/98のプログラムを下記しておく。

動画のコマ数を181枚として、行142にて、N1を0から180変化させて181枚の動画のコマ画像を作成し、その181枚のコマを0.2秒で再生させた。

10 REM マンデルブロ画像1
12 CHAIN MERGE "C:\BASIC\PRO\SUBR\COLOR右上表示.BAS",50,ALL
50 CHAIN MERGE "C:\BASIC\PRO\SUBR\KOSHIKI.BAS",80,ALL
80 CHAIN MERGE "C:\BASIC\PRO\SUBR\ER1.BAS",90,ALL
90 ON ERROR GOTO 50000
91 CONSOLE ,,0,1
92 COLOR 0,7,,,2
93 CLS 3
94 GOSUB 10000
100 GOSUB 3000
101 PSET(320,240),2
102 OPEN "C:\BASIC1\RUN\DATAマンデルC.DAT" FOR INPUT AS #2
103 IF EOF(2) THEN 107
104 INPUT #2,X,Y
105 PSET (X,Y),0
106 GOTO 103
107 CLOSE #2
110 OPEN"C:\BASIC1\RUN\DATA.DAT" FOR OUTPUT AS #1
120 JMAX=240:KMAX=5000:RMAX=1.36:X0=-0.14:Y0=0
130 DR=RMAX/JMAX:DTH=2*P/KMAX:AA=JMAX/RMAX:NMAX=15
132 CXS=-1.5:D=1.36/320:CYS=-240*D:DTHDO=180*DTH/P
142 N1=0
150 J=60+N1
160 R=J*DR
170 LOCATE 0,0:PRINT "Z0,Z10,Z11,Z12,Z13,Z14,15の軌跡"
176 LOCATE 0,2:PRINT "Znの色のcolor code No."
183 LOCATE 0,3:PRINT "Z0=0,Z10=1,Z11=2,Z12=3"
184 LOCATE 0,4:PRINT "Z13=4,Z14=5,Z15=6"
190 FOR K=0 TO KMAX
200 TH=K*DTH:THH=TH
206 CX=R*COS(TH)+X0
220 CY=R*SIN(TH)+Y0
221 X=0:Y=0
230 FOR N=0 TO NMAX
240 X1=X
250 X=FNR2(X,Y)+CX
260 Y=FNI2(X1,Y)+CY
270 Q=X^2+Y^2
272 K1=(X-CXS)/D:J1=(Y-CYS)/D
274 IF K1>640 OR J1>480 THEN 390
280 IF N=0 THEN C=0 :GOTO 300
281 IF N=10 THEN C=1:GOTO 300
284 IF N=11 THEN C=2:GOTO 300
286 IF N=12 THEN C=3:GOTO 300
288 IF N=13 THEN C=4:GOTO 300
290 IF N=14 THEN C=5:GOTO 300
292 IF N=15 THEN C=6
300 PSET (K1,J1),C
310 NEXT N
390 NEXT K
400 CLOSE #1
520 END