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

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

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

2014-09-05 08:47:51 | 動画

前記事587では、点列の初期値:Z0をマンデルブロ画像の重心(-0.4,0)を中心とした円でのZ10~Z15の軌跡の変容を調べた。

今回は、点列の初期値:Z0を、マンデルブロ集合画像の頭部 (即ち、マンデルブロ集合画像を左側に倒れた「雪ダルマ」に
見たてたときの頭の部分) の中心(-1,0)とした円でのZ10~Z15の軌跡の変容を調べる。(下図の1,2番目の画像参照)

円の半径:R=0.26の場合 (即ち、Z0 が此の半径で回転する場合) の、点Z10~Z15 の軌跡は、
この動画→ 点Z10~Z15の軌跡 
のように変化する。

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

また、前回同様に、画像の中のマンデルブロ集合の縁部分の座標と点列の座標は一致させている。
前回と異なるのは、Z0 の回転の中心を移動させたことだけである。

この動画から分かるように、前回と全く異なることは、点Znが 2 つのグループに分かれてしまうことである。

左側のグループは、Z0(黒),Z10(青),Z12(橙),Z14(水)
右側のグループは、    Z11(赤),Z13(緑),Z15(茶)

となっている。面白いことに Zn の n が偶数と奇数とで順番に別れている。

この性質は実は Z0 の円が或る範囲までは変わらない。これは、巡回計算の過程で或る規則があることを示している。

***

以下の図は、Z0 の大小で、Z10~Z15の軌跡が全く変わってしまうことを示している。

下図のように、Z0が小さい場合は上記した規則が保たれている。



下図はアニメの終了時の画像だが、Z0がマンデルブロ集合画像の頭部の縁(ふち)付近の場合でも上記した規則は保たれているものの軌跡が乱れ始めている。



下図はZ0が大きい場合 (Z0がマンデルブロ集合画像の頭部の縁より大きい場合)。この場合にも上記した規則は基本的に保たれているが軌跡の乱れが大きく混沌としている。



***
このアニメでは点Z0が、マンデルブロ集合の縁部分を通過するときの点列の挙動は明確には分からない。次回は点Z0の半径を徐々に拡大していったときの点列の挙動をアニメで見る予定。


------------------------------------------------------
(参考)アニメ作成のBASIC/95のプログラム
行491のN2を0~100に変えて101枚のコマ画像を作成した。

10 REM 点列の座標の中心をマンデルブロ集合の頭部の中心へ移動させたとき。R固定の場合。
11 REM 行391 N2=0→100 101枚
20 CHAIN MERGE "C:\BASIC\PRO\SUBR\COLOR右上表示.BAS",30,ALL
30 CHAIN MERGE "C:\BASIC\PRO\SUBR\ARCTAN3.BAS",40,ALL
40 '
50 '
60 CHAIN MERGE "C:\BASIC\PRO\SUBR\KOSHIKI.BAS",70,ALL
70 CHAIN MERGE "C:\BASIC\PRO\SUBR\ZFZ.BAS",80,ALL
80 CHAIN MERGE "C:\BASIC\PRO\SUBR\FGZ.BAS",90,ALL
90 CHAIN MERGE "C:\BASIC\PRO\SUBR\ER1.BAS",100,ALL
100 ON ERROR GOTO 50000
110 CONSOLE ,,0,1
120 COLOR 0,7,,,2
130 CLS 3
140 GOSUB 10000
150 GOSUB 3000
160 JMAX=240:KMAX=5000:RMAX=1.36:X0=-1:Y0=0
170 DR=RMAX/JMAX:DTH=2*P/KMAX:AA=JMAX/RMAX:NMAX=15
180 CXS=-1.5:D=1.36/320:CYS=-240*D:DTHDO=180*DTH/P
190 K00=(-1-CXS)/D:J00=(0-CYS)/D:PSET(K00,J00),1
200 K0=(-0.14-CXS)/D:J0=(0-CYS)/D:PSET(K0,J0),2
210 OPEN "C:\BASIC1\RUN\DATAマンデルC.DAT" FOR  INPUT AS #1
220 IF EOF(1) THEN 260
230 INPUT #1,X,Y
240 PSET (X,Y),15
250 GOTO 220
260 CLOSE #1
270 J=46
280 R=J*DR
281 '
290 LOCATE 0,0:PRINT "点列の座標の中心点をマンデルブロ集合の頭部の中心へ"
300 LOCATE 0,1:PRINT "移動させた時の点列:Z0,Z10~Z15の軌跡"
310 LOCATE 0,22:PRINT "マンデルブロ集合の重心点=(-0.14,0)"
320 LOCATE 0,21:PRINT "点列画像の中心点=(-1,0)"
330 LOCATE 70,3:PRINT "Z0→黒"
340 LOCATE 70,5:PRINT "Z10→青"
350 LOCATE 70,6:PRINT "Z11→赤"
360 LOCATE 70,7:PRINT "Z12→橙"
370 LOCATE 70,8:PRINT "Z13→緑"
380 LOCATE 70,9:PRINT "Z14→水"
390 LOCATE 70,10:PRINT "Z15→茶"
391 N2=0
400 FOR K=0 TO 50*N2
410 TH=K*DTH:THH=TH
420 CX=R*COS(TH)+X0
430 CY=R*SIN(TH)+Y0
440 X=0:Y=0
450 FOR N=0 TO NMAX
460 X1=X
470 X=FNR2(X,Y)+CX
480 Y=FNI2(X1,Y)+CY
490 IF N>0 AND N500 '
510 K1=(X-CXS)/D:J1=(Y-CYS)/D
520 IF K1530 IF K1>640 OR J1>480 THEN 600
540 GOSUB 620
550 '
560 PSET (K1,J1),C
570 '
580 NEXT N
590 '
600 NEXT K
610 END
620 REM Z0,Z10~Z15の色の決定
630 IF N=0 THEN C=0
640 IF N=10 THEN C=1
650 IF N=11 THEN C=2
660 IF N=12 THEN C=3
670 IF N=13 THEN C=4
680 IF N=14 THEN C=5
690 IF N=15 THEN C=10
700 RETURN

 

 


 






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










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

2014-09-02 16:11:46 | 動画

下の動画は点列の初期値:Z0を極座標において一定にした場合・・・その軌跡は円となる・・・
点Z10~Z15の挙動である。点Z0(黒い円)の移動につれて、点Z10~Z15も特有な変化をしていく様子が分かる。ここで、

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

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

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

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

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

しかし、点Z0がマンデルブロ集合外に出ると、Z10~Z15突然、軌跡が乱れを起こす。

点列の初期値:Z0がマンデルブロ集合内にあるときは、Z10~Z15 は或る規則性がある。
しかし、マンデルブロ集合外にあるときは其の規則性が「破綻」する。

この現象は、点Z0の円の半径を変えていったら、どうなるのだろうか?
また、他の点列ではどうなるだろうか?


注:動画の中のマンデルブロ集合の縁(ふち)は厳密な縁ではなく、其の外側の近似的なものである。








584 アニメ:マンデルブロ画像の分岐の様子と解説

2014-08-30 14:00:12 | 動画

前記事583の赤黒縞模様画像が分岐していく様子をアニメ化したものが此れ→分岐の様子

------------------------------------------------------
この動画について解説する。

前記事で解説したように、

巡回式:Z←Z^2+C (Cは複素定数)を

点列:Z0,Z1,Z2,Z3,・・・,Zn,・・・,Znmax・・・・・・(1)

で表す。但し、Z0=C とする)。Zn の n は巡回回数に相当する。

***

複素平面座標範囲:Dでの全ての点Cには、その固有のNoが存在する。
Noとは、|Zn|>2 となる n である。
即ち、巡回ループ(N-loop)を脱出するまでの巡回回数である。

今、Naを与え、No<NaとなるC点のみ表示させるようにする。
そうすれば、巡回回数がNa以下の画像が得られる。

Naを小さな値から大きな値に順次変えて画像を表示させていけば、巡回回数Noが小さな順に・・・換言すればN-loopを早く脱出する順に・・・画像が表示されていく。

上のアニメはNaを小から大に時間変化させたときの画像の時間変化である。
動画の緑色の箇所は No>2000の部分である。nmax=5000。

具体的な画像表示方法を言葉で書くより、BASICプログラムで要点のみ書くほうが、わかり易いだろう。その方法を最後に書いておいた。

-----------------------------------------------------------

この動画より分かること。

・赤黒縞模様の本体は画面右上部から発生し・・・即ち其の部分がN-loopを早く脱出し・・・其の本体は、ほぼ同時に2本に分岐し相互に「ら線」状に「からまって」いく。この2本の分岐の「本流」は同一源のもので他の部位から派生したものではない。

・2本の分岐は互いに同一の早さで「ら線」状に「からまって」いく。即ち、N-loop脱出の早さは互いに同一である。

・本体部及び分岐部の「成長」の早さは連続的・・・但しリニアではない・・・であり、断続してない。

・本体部が「成長」していく途中で、赤黒縞模様部の内側部の境界線は、マンデルブロ集合の境界線によく似た形状が見られる。これは大変興味深い。しかし本体部の「成長」が進むにつれて、その形状はマンデルブロ集合の境界線とは似ても似つかぬ形状へと変化していく。

・赤黒縞模様の本体は2本に分岐し「ら線」状に「からまり」、一点へと収斂していく。その2本の分岐の赤黒の各節目から更に分岐が派生していくが、それらの分岐は2箇所(緑の箇所)へと収斂していく。

・いずれにしても、以上の赤黒縞模様部の「成長」・・・換言すれば、Noの変容・・・はスムーズで、秩序だっており非線形性は見られない。

----------------------------------------------------------------
・動画作成方法



先ず上図の全C点の座標位置情報(K,J)とNo情報(N)のデータを、シーケンシャル・ファイル化(ファイル名:DATA)しておく。動画のコマ数を50枚として、また各コマのパラメータをNとして、N=0→50変化させて50枚の画像を作る。

10 REM 動画の作成
20 OPEN "C:\DATA.DAT" FOR INPUT AS #1
51 EE=2.718281
52 N=0 ←N=0→50変化させて50枚の画像を作る。
60 NA=3.5*EE^(N/8)+185.5 ←これは試行して決めた。
70 INPUT #1,K,J,N
80 IF EOF(1) THEN 150
100 IF N 110 ZZ=N MOD 2
120 IF ZZ=0 THEN C=2 ELSE C=0
130 PSET (K,J),C
140 GOTO 70
150 CLOSE
160 END

この50枚の画像をNの順序に並べて0.2秒で再生させた。












581 動画一覧 1

2014-08-28 11:03:42 | 動画
放散虫:Z^1+0.5→Z^2+0.5 の変容 →Z^1+0.5→Z^2+0.5

放散虫:Z^2+0.5→Z^3+0.5 の変容 →Z^2+0.5→Z^3+0.5

放散虫:Z^1+0.5→Z^3+0.5 の変容 →Z^1+0.5→Z^3+0.5

放散虫:Z^2+sinZ+0.5 zoom1 →Z^2+sinZ+0.5

放散虫:Z^2+sinZ+0.5 zoom2 →Z^2+sinZ+0.5b

放散虫:Z^3+0.5の内臓部の「ら線階段」→Z^3+0.5a

Z^2マンデルブロ画像の分岐の成長1 →Z^2マンデルブロ画像1


Z^5+Cという名の万華鏡1 →Z^5+C1

Z^5+Cという名の万華鏡2 →Z^5+C2

Z^(e^Z)+μという名の万華鏡 →Z^(e^Z)+μ

Z^(e^Z)+μ画像の変容→Z^(e^Z)+μ(その2)

031 Z^s+0.5,s=2→3の変容の動画

2014-06-20 11:37:54 | 動画

Z^s+0.5,s=2→3 の場合の静止画像は記事029で示した。

その変容は 2 個のモノが 3 個のモノへと変容していった。

この変容を動画にして見たら、どのように見えるだろうか、という興味をもとに
動画を作ってみた。→Z^s+0.5,s=2→3

これは或る種の細胞分裂にも見える。

放散虫:Z^2+0.5 から 放散虫:Z^3+0.5 への「細胞分裂」とでも表現できるだろう。


030 Z^s+0.5,s=1→2の変容の動画

2014-06-20 10:34:53 | 動画

1という数字は(0を除いて考えると)自然数の最初の値であり、その意味で『ものの始まり』
に対応している。

自然数のその次の数は 2 であるが、1 から 2 へと変化するとき、Z^s+0.5画像は
どのように変化するだろうか。静止画像については前記事029で見た。

そこでは「内臓部」が二つに「分裂」していった。
その変容の様子を動画にしてみたら、どのように見えるだろうか?

そのような興味のもとに動画を作った。→Z^1+0.5→Z^2+0.5

***

この様子は例えれば、此の動画は、1 という何もない原始の混沌の世界から何ものかへと
形が形成していく様子の数学的表現だと言えそうだ。

例えば母親の胎内で胎児が形成されていく様子を連想させる。

この動画は此の世の 『ものの始まり』 とか 『ものがたりの始まり』とかの数学的表現だと私は見ている。