2015年8月31日月曜日

542 coshZ+C マンデルブロ画像の中の拡大図(その3)

今回の画像は前回とは異なる位置の拡大画像である。
画像1は、J.A.ピックオーバー著『コンピューター・カオス・フラクタル』の180頁の図9-10と対応しているはずであるが、画像が一致していない。理由は不明。

coshZ+Cマンデルブロ画像で特徴的なことは、この画像のいたるところで、
Z^2マンデルブロ集合画像が現れることである(記事480,481参照)。これも理由不明。



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




2015年8月30日日曜日

541 coshZマンデルブロ画像 の中の画像(その2)

(coshZマンデルブロ画像1については記事478~482を参照)
coshZマンデルブロ画像 の中の画像を拡大する。

親画像の作成条件は以下のとおり。
・複素関数: coshZ+C
・C条件: |CXi|<2π,|CYI|<2π
・Nmax=1000
・N-loop内において、X^2+Y^2>2500になった場合に発散したとして、その場合の点(CXi,CYi)を黄色で示す。
------------------------------------------------

上図の中の部分を下図のように選び、それらを拡大する。



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






2015年8月29日土曜日

540 極座標における点列の挙動(その12)

『点列:Z0~Z1000のR<=3,θ=0~2πでの挙動。N-loop脱出条件なし。』について。
-------------------------------------------
Z^2マンデルブロ集合とは、
Z0=0, Zn+1^2+λ (n=0,1,2,3,・・・・・・・・)   ・・・・・・・・・(1)
において、n→∞において発散しないような点λの集合を言う。

半径R=0~3,θ=0~2π内の全ての点λをとった場合、点列(1)は、画像表示領域を動きまわる。
画像表示領域は横軸:-4.14~+3.86,縦軸:-3~+3である。画像の中心は(-0.14,0)である。 
下図は点列(1)が座標点に存在する個数(濃度mとする)の分布図であり、色コードNo.をCとすると、C=LOG(m)として該当座標のmを表している。


点列は、円R=3の外側にも存在する。その個数を明確にするため、C=m MOD 16画像も
求めた(注:m=Z(K,J)は整数)

下図がC=m MOD 16 図である。


R=3の円の左外側はランダムに点が存在し、その点での個数はm=1(青)。空白部はm=0。
R=3の円の右外側は、点が同心円状に各1個の点がバラついている。

R<=3内のモアレ状の線の存在について。
LOG図とMOD図で、全く同じ状態。もしLOGで、この線が白=7と解釈してmを求めると、その線での点の分布個数はe^7=1096個となる。又 1096 MOD 16=8でありMOD画像と一致しない。従って、この線は白ではない。

この線が「点が存在しない」個所だとすると、MOD画像では特に矛盾はない。
画像作成プログラムにおいて、点が表示画像外(K,J<=0,K>640orJ>480)ではnext kとして飛ばしているが、特に他の処理はしていない。

LOG画像で空白は何を意味するか? m=1の場合 LOG(m)=0(黒)である。
LOG表示ブログラムにおいて、m=0の場合は、飛ばしている(空白としている)。

従ってR<=3内のモアレ状の線は点が存在していないことを示している。
----------------------------------
『赤円R=<-2内の点は発散しない』ことが知られている。
『赤円R>2内の点は発散する』ことが知られている。
又画像を求めた範囲はR<=3である。又、本画像は画像脱出条件は不可していない。

従って、2<R<=3では、画像作成プログラムにおいて、m=1(LOG(1)=0→黒となってR>3の外側に点列は飛んでいく。しかし、R>3は画像作成範囲外だから、R>3の点密度は薄くなる。

一方、R<=2の点Cは発散しないのだから、内側に点列は軌跡していく。そのため、点列濃度
は内側に行くほど濃くなる。


2015年8月28日金曜日

539 極座標における点列の挙動(その11)及び考察と結論

前記事538では、点列:Z0,Z1,Z2,・・・,Z15の、J=10ほか各値でのθ=0→2πでの挙動(軌跡)を調べた。 今回は点列:Z0,Z1,Z2,・・・,Z1000、J=0→240,θ=0→2π(step 0.036度)での点列の軌跡濃度を調べた。但し、N-loop脱出条件:if X^2+Y^2>4 then next K は入れていなかった。今回の画像は、その条件を入れてある。

今回の画像も記事538と同様に点列が同一座標となる濃度をmとすると、C=LOG(m)として色で表示する。 m=0の場合は表示しない。下図がその画像である。なお、参考のためにマンブルブロ集合の周辺を黒い線で示しておく。




--------------------------------------------------
以下、考察である。

マンデルブロ集合とは、複素平面上の点をλとしたとき、以下の漸化式(点列)
Z0=0, Zn+1^2+λ (n=0,1,2,3,・・・・・・・・)   ・・・・・・・・・(1)
において、n→∞において発散しないような点λの集合を言う。

通常、|Zn|>2となれば点列(1)は発散されたとみなされる。
上図では、点λを、極座標:(R,θ)で与え、R=0→1.48,θ=2πの範囲で、点列(1)を全て表示させ、
PCの全表示座標(横軸:-1.5~+1.5),縦軸:-1~+1)での、それらの点の個数(濃度m)を求めた。
mの最大値は1,202,600となるのでLOG(m)を色で表現した。

LOG(m)は単調増加関数なので、mの増加は(LOG圧縮されているとはいえ)、色のカラーコードNo.順に対応しており、その該当色に単純に対応している。

即ち、或るPC画面座標(K,J)での色コードNo.をnといると、その座標でのmはn=LOG(m) 従って、m=e^n 個となる。
***
一番上の図での比較的濃く黒っぽく見える円板状のモノは、半径R<=1.48の円内であり、この半径Rは2より小さいから、この円内の点λの点列は収束していく、この円でRの最も大きい箇所近辺では黒(n=0)→青(n=1)→赤(2)と変化している。即ち、m=1→e=約3→e^2=約7と変化していく。Rが更に小さくなるにつれて色の変化はn>=3で複雑に変化していく。

また、一番上の図での比較的濃く黒っぽく見える円板状の外側の部分は、この計算でのλ以外の点だが、黒い点が散在している。黒点はm=1だから、一個の点が散在していることを意味しているが、この点は恐らく、R<=1.48内の点λの点列(1)のいずれかによる点と思われる。
( 点列(1)は必ずしも単調に減少せず、円R<2を動き回ると思われれ、この散在点は、2>R>1.48の、そのような点と思われる。)
***
一番下の図は、m<500となる点は除いた画像である。但し、この画像でのmは、N-loopのN値が500になった時点から求めている。従って、この画像での色コードをn1とすると、n1=LOG(m-500) 従って、m=e^n1+500 となる。
***
一番上の図と下の図は参考としてマンデルブロ集合の周辺部を黒い線で上描きしてある。
実はこの画像のテーマはマンデルブロ集合内の点列の分布図を求めることであったが、ここで試みたことは、マンデルブロ集合を含む半径>>=1.48内の点列の分布図である。
***
『点列が収束する』ということを『mの最大値が存在する』ということで定義すると、『収束線』に相当する、最大値mの曲線は上図には見出せない。mの最大値は上図で見る限り、マンデルブロ集合の中央部に点としてあるだけで線状(同じ色の線)とはなっていない。本『鏡の伝説』(ダイヤモンド社)の図0-19のような分岐図にはならない。

(そもそも此の分岐図を求めようとして此のブログのテーマのように問題設定したのだが、結局、失敗した。その原因は不明である)

------------------------------------------------------------
参考のために、画像作成プログラムを下記しておく。
<画像データプログラム>
10 REM マンデルブロ画像1
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
120 JMAX=240:RMAX=1.36:X0=-0.14:Y0=0:DIM Z(640,480)
122 FOR I=0 TO 640
123 FOR II=0 TO 480
124 Z(I,II)=0
125 NEXT II
126 NEXT I
130 DR=RMAX/JMAX:AA=JMAX/RMAX:NMAX=1000:KMAX=1000
132 CXS=-1.5:D=1.36/320:CYS=-240*D:DTHDO=180*DTH/P
142 OPEN "C:\BASIC1\TEST\DATA.DAT" FOR OUTPUT AS #1
150 FOR J=0 TO 240
152 LOCATE 0,0:PRINT "J=";J
160 R=J*DR
162 '
172 DTH=2*P/KMAX
190 FOR K=0 TO KMAX
200 TH=K*DTH:THH=TH
210 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 :IF Q>4 THEN 390 ELSE 286
286 K1=INT((X-CXS)/D):J1=INT((Y-CYS)/D)
288 IF K1<0 OR J1<0 THEN 390
290 IF K1>640 OR J1>480 THEN 390
291 '
295 Z(K1,J1)=Z(K1,J1)+1
296 IF N=0 THEN PSET (K1,J1),0
300 WRITE #1,K1,J1,N
310 NEXT N
390 NEXT K
391 NEXT J
410 CLOSE #1
412 OPEN "C:\BASIC1\TEST\DATA整理.DAT" FOR OUTPUT AS #2
414 FOR KK=0 TO 640
416 FOR JJ=0 TO 480
418 WRITE #2,KK,JJ,Z(KK,JJ)
420 NEXT JJ
422 NEXT KK
500 END
-------------------------------
<画像の表示プログラム>
10 REM マンデルブロ画像1
12 CHAIN MERGE "C:\BASIC\PRO\SUBR\COLOR右上表示.BAS",20,ALL
20 CHAIN MERGE "C:\BASIC\PRO\SUBR\ARCTAN3.BAS",30,ALL
30 CHAIN MERGE "C:\BASIC\PRO\SUBR\LINE10.BAS",40,ALL
40 CHAIN MERGE "C:\BASIC\PRO\SUBR\KISEKI1.BAS",50,ALL
50 CHAIN MERGE "C:\BASIC\PRO\SUBR\KOSHIKI.BAS",60,ALL
60 CHAIN MERGE "C:\BASIC\PRO\SUBR\ZFZ.BAS",70,ALL
70 CHAIN MERGE "C:\BASIC\PRO\SUBR\FGZ.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
104 '
114 OPEN "C:\BASIC1\TEST\DATA整理.DAT" FOR INPUT AS #1
120 WHILE NOT EOF(1)
130 INPUT #1,K,J,Z
132 '
134 IF Z<=0 THEN 142
136 C=LOG(Z)
138 '
139 '
140 PSET (K,J),C
142 WEND
144 CLOSE #1
154 GOTO 199
170 LOCATE 0,0:PRINT "J=1~240 "
172 LOCATE 0,1:PRINT "C=LOG(m),C=7→C=12"
174 LOCATE 0,3:PRINT "マンデルブロ集合の中心点(赤点)=(-0.14,0)"
176 LOCATE 0,2:PRINT "但し、m=0→不表示"
183 LOCATE 0,4:PRINT "Nmax=15"
186 LOCATE 0,5:PRINT
187 LOCATE 0,6:PRINT
188 LOCATE 0,19:PRINT "RMAX=1.36"
189 LOCATE 0,20:PRINT "dθ(度)=0.072"
199 '
400 OPEN "C:\BASIC1\TEST\DATAマンデルC.DAT" FOR  INPUT AS #2
402 IF EOF(2) THEN 420
404 INPUT #2,X,Y
406 PSET (X,Y),0
408 GOTO 402
410 CLOSE #2
420 GOSUB 3000
500 END

2015年8月27日木曜日

538 極座標における点列の挙動(その10)点列:Z0~Z15のJ=0~240,θ=0~2πでの分布画像(if X^2+Y^2>4 then next K条件有り)

記事531では、点列:Z0,Z1,Z2,・・・,Z15の、J=10ほか各値でのθ=0→2πでの挙動(軌跡)を調べた。
今回は、J=0→240,θ=0→2π(step 0.036度)での点列の軌跡濃度を調べた。
但し、N-loop脱出条件:if X^2+Y^2>4 then next K は入れていなかった。今回の画像は、その条件を入れてある。

今回の画像も同様に点列が同一座標となる濃度をmとすると、C=LOG(m)として色で表示する。
m=0の場合は表示しない。下図がその画像である。


---------------------------------------------
参考のために、画像作成プログラムを下記しておく。

<画像データプログラム>
10 REM マンデルブロ画像1
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
120 JMAX=240:RMAX=1.36:X0=-0.14:Y0=0:DIM Z(640,480)
122 FOR I=0 TO 640
123 FOR II=0 TO 480
124 Z(I,II)=0
125 NEXT II
126 NEXT I
130 DR=RMAX/JMAX:AA=JMAX/RMAX:NMAX=15:KMAX=1000
132 CXS=-1.5:D=1.36/320:CYS=-240*D:DTHDO=180*DTH/P
142 OPEN "C:\BASIC1\TEST\DATA.DAT" FOR OUTPUT AS #1
150 FOR J=0 TO 240
152 LOCATE 0,0:PRINT "J=";J
160 R=J*DR
162 '
172 DTH=2*P/KMAX
190 FOR K=0 TO KMAX
200 TH=K*DTH:THH=TH
210 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 :IF Q>4 THEN 390 ELSE 286
286 K1=INT((X-CXS)/D):J1=INT((Y-CYS)/D)
288 IF K1<0 OR J1<0 THEN 390
290 IF K1>640 OR J1>480 THEN 390
291 '
295 Z(K1,J1)=Z(K1,J1)+1
296 IF N=0 THEN PSET (K1,J1),0
300 WRITE #1,K1,J1,N
310 NEXT N
390 NEXT K
391 NEXT J
410 CLOSE #1
412 OPEN "C:\BASIC1\TEST\DATA整理.DAT" FOR OUTPUT AS #2
414 FOR KK=0 TO 640
416 FOR JJ=0 TO 480
418 WRITE #2,KK,JJ,Z(KK,JJ)
420 NEXT JJ
422 NEXT KK

2015年8月26日水曜日

537 Z^2マンデルブロ集合画像とXの分岐画像

Z^2マンデルブロ集合は、Z0=0,Zn+1=Zn^2+C (n=0,1,2,・・・,Nmax)において、複素数:C=CX+iCYとしたとき、点列{Zn}が発散しない場合のCの集合である。

マンデルブロ集合画像のPC画面で640(実軸)dot×480(虚軸)dotとする。集合Cの領域を実軸:CX-0.5~+2とする。

CXS=-0.5,CXE=+2,DX=(CXE-CSX)/DX,DY=DX,CYS=-240*DYとするとパラメータ:K,Jを用いて、
CX=CXS+DX*K,(K=0~640)
CY=CYS+DY*J,(J=0~480)
として、Z^2 マンデルブロ集合画像を求めると下図のようになる。


ここで、CY=0として点列{Zn}が実数のみ場合を考える。
この場合の点列{Zn}は実数{Xn}の点列となるが、横軸:CX,縦軸:{Xn}の画像を求めてみる。
横軸はパラメータ:Kをとり、縦軸はパラメータ:KX=({Xn}/2-CYS)/DYSとしたときの画像が下図である。
ここで、CXは上図と同じく、CX-0.5~+2とする。またNmax=1000としている。


下図は上図をマンデルブロ集合画像と重ね描きしたものである。


下図は、実数{CXn}の点列をn=>500のみ表示したものである。
この画像よりZ^2 マンデルブロ集合画像と実数点列{CXn}の分岐の関連が分かる。


2015年8月25日火曜日

536 中心点(-1,0):点列Z0~Z15の軌跡表示

今までの画像は極座標の中心点をマンデルブロ集合の重心(-0.14,0)にした画像であった。

今回の画像は、Z^2マンデルブロ集合画像の左頭部の中心(-1,0)にした時の画像である。

この場合も点Znは色:C=nで表す。点Z0(色→黒の円)は点列の開始点である。

今回の画像で特徴なのは、点列の軌跡の位置が、Z2マンデルブロ集合画像の「頭部」と「腹部」に分裂することである。Rを固定して、θ=0→2πにしたときの画像を以下に示す。
***
下図分かるように、Z^2マンデルブロ集合画像の左頭部の中心にした場合は、上記したように、点列Z0~Z15の軌跡はZ2マンデルブロ集合画像の「頭部」と「腹部」に分裂したおり、Znは色から識別できる。

下図の始点Zo(黒い円)は、Z^2マンデルブロ集合画像の左頭部の縁(ふち)近辺を僅かに通過させているが、通過の前後で、点列の分裂は同じ色で構成されている。即ち、分裂において同一Znが入れ違うことはない。

また、始点Zo(黒い円)とZ^2マンデルブロ集合画像の左頭部の縁(ふち)の位置関係を、よく見ると点列の軌跡が最も複雑になるのは、始点が縁(ふち)より少し大きくなった場合である(J=53あたり)。

もともと此の画像におけるZ^2マンデルブロ集合周辺図は概略図であるから正確には言えないが、点列軌跡が最も複雑になる(一種のカオス状態)となる始点:Zoが、Z^2マンデルブロ集合周辺から外側にあるというのは少し合点がいかない(特別な根拠はないが)。

いずれにしても、Z^2マンデルブロ集合画像の左頭部の中心(-1,0)にした時の、点列Z0~Z15の軌跡の様態も複雑ではあるが画像として或る種の美しさがある。その美の要因は軌跡の規則性と不規則性の混在にあると言えそうだ。
 ---------------------------------------------------