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

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

308 極座標に於ける点列の挙動(その2)~秩序から無秩序へ~

2014-07-23 11:25:25 | Z^2マンデルブロー集合
前記事の画像で、J=100以下では、ある種の規則性が見られたが、J=120では一変して画像が無秩序になっている。今回は、この変化の様子をみてみよう。
***
先ず、今までの画像について復習しよう。
***
1.画像表示の領域:Dの一点Z0を考える。
***
2.この点Z0の座標を極座標で表し、Z0(R,θ)とする。
***
3.ここでRはDの中心(-1.4,0)・・・これはマンデルブロ集合の重心でもある・・・からの距離とし、θは原点からの角度とする。
***
4.ここで、先ずRを固定して、θ=0度の点Z0を始点としてN-loopでの点列:Z0,Z1,Z2,・・・Zn,・・・,Zmaxを計算し表示していく。
ここで計算が終了したら、次の始点Z0(R,θ+dθ)に移り、再度、点列:Z0,Z1,Z2,・・・Zn,・・・,Zmaxを計算し表示していく。
( ここで点列計算での初期値:X,Yは0に戻しておく )
***
5.上記計算の場合、N-loopの巡回回数を0~15としておく。即ち、点列は
Z0,Z1,Z2,・・・Zn,・・・,Z15 ・・・・・・・・・・・・・・・(1)
となる。ここで各点列に色:Cをつける。C=Nとする。(下記の注を参照)
6.上記4項を、θ→360度になるまで繰り返す。

--------------------------------------------------------
ここまでの画像は以下を表している。
即ち『Rが一定で、θ=0度→360度にしていったときの各θの点列(1)が重なった画像である。』
***
そして、『同じ色の点は、各点列において同じn番目のZnであることを表している。
同じ色の点が連続した軌跡となっているのは、各θ値でのZnが連続していることを意味している。』
***
Rが小さい場合は( 例えば、J=40(R=0.22) )、この色の配置はある規則性をもっている。
( 色を見れば、各θでのZnの動作(振動して小さくなっていく等の)が分かる。)
***
以下の画像は、J=100(R=0.57)~J=120(R=0.68)の画像である。J→大程画像が『無秩序』になっていくが、その『無秩序』の一つの内容は、『各θでのZnに相互関連性がなくなっていく』ということであり、それが軌跡の色の混乱(無秩序)として表れている、とも言えそうだ。
***
この無秩序性はRに依存しているから、Rをパラメータとして、この『無秩序性』の別の表現はあるだろうか? 
 
(注:下図において、Nmax=16としているが、N-loopは、N=0から始めているのでNmax=15とすべきであったが、画像そのものには、本質的にはあまり影響はないと思う。)
-----------------------------------------------------------------





















307 極座標におけるN-loop内の点(X,Y)の挙動(その1)R固定、θ変化、NMAX=16

2014-07-23 09:48:24 | Z^2マンデルブロー集合
今までの記事(302~306)での考察は、デカルト座標(勿論ガウス座標)で行ってきた。今回からは極座標で考察する。
***
N-loop内の点Zは表示領域:D内の始点:Z0が与えられれば、点列
Z0,Z1,Z2,・・・・・・Zmax ・・・・・・・・・・・・・・・・・・・・・・・(1)
が発生する。今までは始点Z0は、長方形の領域Dの左→右に移動させ、その移動を上から下へと順に変化させてきた。
***
具体的に言えば、CXS,CYS,dx,dyが与えられたとき、パラメータ:K,Jを使用して、始点Z0(CX,CY)は下記のように与えた。
CX=CXS+dx*K , CY=CYS+dy*J
ここで、K,Jは表示領域:Dで自動的に決まってくる。
***
今回から極座標を使うが極座標での点は、座標の中心点からの距離:Rと角度θで決定される。ここで、dr,dθを与えられたとき、パラメータK,Jを使用して、始点Z0(θ,R)は下記のように与えられる。
θ=dθ*K ,R=dr*J
ここで、K,Jは表示領域:Dで自動的に決まってくる。
***
さて、始点Z0(θ,R)が与えられたとき、点列(1)はどのような挙動をするのだろうか? これが今回以後のテーマである。
***
C.K.クリックオーバー著『コンピューター・カオス・フラクタル』によれば、マンデルブロ集合の重心は(-0.14,0)だそうである。
そこで、その点をDの中心として、R=0~1.36,θ=0~2π,KMAX=640,JMAX=480とする。
***
R即ちJを固定し、θ=0→2π変化させたときの、(1)の点列画像が下図である。
Rを固定するということは半径Rの円のことであるが、その円はN-loop内の巡回回数が0番目に相当する。N-loopの巡回回数をNoとし、色:C=No MOD 16 とすると、RはC=0即ち黒円に相当する。
***
即ち、始点Z0が、一定半径Rの黒円を回転し、そして同時にθ=0→2π変化させたときの点列(1)の画像が下図である。下図では、N-loopの巡回回数:Nmax=16としている。またC=No MOD 16 だから、C=No となり、色を見て直接何回目のNoかが分かる。
***
例えば下図において緑色(C=4)の点列は、ある固定値R(黒い円)にて、θ=0→2πしたときの、N-loopの4回目の点列(1)であることを示している。また下図のマンデルブロ集合の概略境界線は点列と座標を同じにしているから、表示された点列はマンデルブロ集合のどの個所に相当するかが直接分かる。
-------------------------------------------------------------------
























-------------------------------------------------------------------
上図から分かるように、J=80(R=0.34)あたりまでは、点列(1)の軌跡は巡回回数(以後No=Cと言う)全てにおいてほぼ同心円を描いていて、中心点(-0.14,0)からの距離もほぼ同一である。
しかしJ=120(R=0.51)程度になってくると、Noにつれて点列の軌跡は自身が渦巻状に回転しながら中心点の周りを回転するようになる。その渦巻の回転の速さは色から見て分かるがNo大ほど速くなっていく。

J=140(R=0.595)程度になると、渦巻自体が大きくなっていく。
J=160(R=0.68)以上になると、渦巻状は解体し、各Noの軌跡は無秩序状態に錯綜していく。
この無秩序状態は点列の軌跡がマンデルブロ集合部分で特に激しくなるようだ。
J=240(R=1.02)の軌跡の形状は何とも表現し難い奇妙なものだ。
***
これらの画像は、今までには見られなかった、N-loopの点列の姿を見せている。
これらの画像から何か規則性を発見できるだろうか?
しかし、J=140の画像など画像自体が面白い。










306 Z^2マンデルブロ画像座標での点(X,Y)のふるまい。一つの結論。(その5)

2014-07-23 09:16:01 | Z^2マンデルブロー集合
前回は、全ての座標領域:D内の点(CX,CY)での点(X,Y)の軌跡の収束線( 注:線というより『収束領域』と表現したほうが適切かもしれない )の全体像を、J MOD 16 という方法での画像を見た。しかし、この画像はプログラムが実行される順に画像が上描きしていくから正確な画像とは言えない。
***
この点(X,Y)の軌跡の収束線の全体像を画像化するには、どうしたらよいのだろうか。
一番簡単な方法は(今まで何度かやってきたように)、収束線の同一座標点を数えあげ、その数を色として表現することである。そこで同一座標点の数を濃度:mと表現することにする。
***
即ち、『点(X,Y)の軌跡の収束線』、そのものを直接表現するのではなく、その収束線がとる座標点の数を色として表現し、『点(X,Y)の軌跡の収束線』の様子を間接的に見るのである。
***
『点(X,Y)の軌跡の収束線』は2次元だから、その2次元のモノの挙動を同時に見るには、もう一つの次元が必要で、それを色で表すのであるが、BASIC/98では色:Cは16色しか使えないから、mod 16 として、Cを16進法で使う。
***
下図が『点(X,Y)の軌跡の収束線の全体像』の、横軸の中央を縦軸に沿ってみたときの m の分布図である。color code No.をCとしたときの、C=LOG(m)の画像である。この図から分かるように、m が最大となる個所は、C=4(緑)の部分で、m=e^4=55程度だと分かる。



***
下図は『点(X,Y)の軌跡の収束線の全体像』である。m=0の場合は、C=7(白)としている。この画像の色模様から見て、『点(X,Y)の軌跡の収束線』はデタラメに挙動しているのではなく、
或る秩序があることが分かる。逆に言えば、その秩序を、C=LOG(m)と表現して見ると、この画像のようになる、ということである。



上の画像で特徴的なことは、画像の中央左部の星形をした白い部分である。m=0の場合はC=7としているが、もしかしたら、この部分はm=0ではなく、color code No.=7かも知れない。
LOG(m)の分布図からみて、この部分は、C=7ではないことは分かるが、念のため、m=0の場合は、C=15(暗い白)とした画像が下図である。



***
上図より、星形の部分もC=15となっており、m=0であることが確認できた。しかし、どうして、こんな個所に、m=0となる部分、即ち『点(X,Y)の軌跡の収束線』が一つも存在しないのだろうか。しかも、その形が星形とは!!??
***
下図は、Z^2マンデルブロ集合の概略境界線を重ね描きしたものである。
『点(X,Y)の軌跡の収束線の全体像』と座標を一致させているから双方の画像の位置関係は同一である。



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

・以下、一つの結論としての感想である。

『点(X,Y)の軌跡の収束線の全体像はどうなっているのか?』換言すれば、『座標領域Dが与えられたとき、そのD内での、N-loopでの点(X,Y)はどのように動作するのか? 収束するとすれば、どのように収束するのか?』という疑問に基づいて今まで調べてきた。
その一つの結論が上図のC=LOG(m)画像であった。
***
確かに、この画像は一つ結論ではあるが、私には少し抽象的過ぎる結論である。確かに、画像として、ある種の美しさがある。その美しさは『点(X,Y)の軌跡の収束線』挙動・動作の秩序さの反映だろう。しかし、私は、もうちよっと直裁に、その挙動・動作を定量的に知りたい。そうするには、どのような方法があるのだろうか?

305 Z^2マンデルブロ画像座標での点(X,Y)のふるまい(その4)

2014-07-23 08:57:09 | Z^2マンデルブロー集合
前記事では、Z^5+0.5マンデルブロ画像の座標でのN-loop内の点(X,Y)の軌跡がマンデルブロ集合の或る個所に収束・収斂する様子をみてきた。

この場合、J=100(CY=0.583)に固定し、K=0→480(CX=-1.5→0.5)変化させ、かつ、各Kに対してNo( 点(X,Y)がN-loopを貫通or脱出するNの値:Kmax=200 )が或る値( Naとした )以上のみ表示させ、点(X,Yの軌跡が収束・収斂するNaを調べた。その結果、Na=180程度がよいことが分かった。
***
『注:収束・収斂と言っても単純な点、線、曲線ではなく、螺旋状に回転した形状であり、単純な図形ではない。』
***
今回は上記のことをJ即ちCYを変えて調べる。
Na=180,Nmax=200,C=No MOD 16 とし、K=0→480(CX=-1.5→0.5)のときのJ=50~400の場合の、点(X,Y)の軌跡の収束・収斂画像が下図である。

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

















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

下図は上図をまとめたものである。各J値の色は該当する軌跡の色と同じにしてある。



--------------------------------------------------------------------------
下図は、J=0→480(step 1)の場合の、点(X,Y)の軌跡の収束画像である。

色:C=J MOD 16としている。この画像は、J=0→480の各Jに対しK=0→480スキャンしている。従ってスキャンに従って画像は上描きしていくから、完全な全体像とはなっていない。
しかし、画像の縞模様(∵ C=J MOD 16)からみると、J と 点(X,Y)の軌跡の収束の関係はデタラメなものではなく、ある対応関係が存在しているらしい。この画像を、同一座標点の回数の程度で色分けしてみたら、点(X,Y)の軌跡の収束の様子の全体像の一面が見えてくるかも知れない。


304 Z^2マンデルブロ画像座標での点(X,Y)のふるまい(その3)

2014-07-23 08:39:37 | Z^2マンデルブロー集合
前記事303では、Nmax=15での、点(X,Y)の動作を調べた。

BASIC/98で使用できる色は16色であり、その16色を使用すれば、点(X,Y)の動作がN-loopでの何度目の巡回か直接分かるから、Nmax=15として、色:C=No ( ここでNoは点(X,Y)がN-loopを脱出又は貫通するN値である )としたのである。
***
今回は、CY即ちJを100の場合、Nmaxを15から増加した画像を調べる。以下の画像は、Nmax=50~200の画像である。
-----------------------------------------------------











---------------------------------------------------------
上図から分かるように、点(X,Y)は、Nmaxを増加していくと、Z^2マンデルブロ集合の或る個所へ集中していくことが分かる。(この画像ではZ^2マンデルブロ集合の境界画像座標と点(X,Y)の
座標は一致させているから、点(X,Y)の位置はマンデルブロ集合の位置と一致させている。)

***
点(X,Y)のN-loopの巡回回数:Noは、C=No MOD 16 として色で分かる。上図の点(X,Y)の軌跡の集合の色から見て、その軌跡はZ^2マンデルブロ集合の或る個所へと収束・収斂していることが分かる。( ∵ Nmax→大程、色:Cは黒っぽい色になっているから。)

また、上図の画像はNmax=100~500は、ほとんど同様であるからNmax=200について調べばよいと思われる。

***
点(X,Y)の軌跡の収束・収斂個所を調べるため、Noが少ない部分の画像を消していけば、その個所が鮮明になってくるはずである。そこで、上図のNmax=200の画像において、Noが或る値以下の点(X,Y)の軌跡は表示させないようにした。以下の図は、そのNoをNaとして、Naを変化させていった画像である。
---------------------------------------------------






--------------------------------------------------
上図から、Na=180程度にすれば、点(X,Y)の軌跡の収束線・収斂線が鮮明になってくることが分かる。
***
このようにして、Z^2+0.5マンデルブロ画像のN-loop内の点(X,Y)の軌跡はZ^2+0.5マンデルブロ集合の内部の上図のような曲線の一部だと思われる。但し、それは、CYの変換パラメータ:J=100の場合であって、Jが異なれば、それに対応した点(X,Y)の軌跡の収束線・収斂線も異なってくるだろうし、それは線とは限らないかも知れないのである。






303 Z^2マンデルブロ画像座標での点(X,Y)のふるまい(その2)

2014-07-23 08:26:47 | Z^2マンデルブロー集合
前記事302では、N-loopの点(X,Y)と表示座標領域:D の中心点(-1.5,0)との距離:R
の挙動を調べた。詳細な説明は前記事302の説明を参照。
***
今回は、距離:R の挙動ではなく、N-loopの点(X,Y)そのものの挙動を調べる。
前記事で説明したように、X,Yはパラメータ:K1,J1を、前記事の(3)or(4)式のように
すれば、その挙動をPC表示座標点(K1,J1)に変換して調べることができる。
前記事の該当部分を以下に再掲する。
***
『点(X,Y)に相当するPCの表示座標を点(K1,Y1)とする。
ここで、X=CXS+DX*K1, Y=CYS+DY*J1・・・・・・・・・・・・・・・・・・・・・・(3)
とすれば、点(X,Y)の座標は、Dの座標と共通化でき、
K1=(X-CXS)/DX , J1=(Y-CYS)/DY・・・・・・・・・・・・・・・・・・・・・・・・・(4)
として、点(X,Y)と点(K1,J1)は相互変換できる。』
***
今回の記事も、表示座標領域:D は、実軸:-1.5~0.5 虚軸:-1~1とする。
Nmaxも16とする。従って、前回同様に、色:C のcolor code No.が、
点(X,Y)のN-loopの巡回の回数に相当する。
***
今回も、CY即ちJを固定して、CX即ちKを0→480に移動させ、そのときの
点(X,Y)即ち点(K1,J1)の挙動を調べる。
下図にその挙動を示すが図中にマンデルブロ集合の概略境界線を描いているが、
この境界線と点(X,Y)の座標は一致させている。
従って、マンデルブロ集合と点(X,Y)との関係は直接画像で理解できる。
また以下の図の太い横線は、固定されたCY即ちJを示している。
-----------------------------------------------

















----------------------------------------------
上図から分かるように、CY(or J)がマンデルブロ集合内にあると、点(X,Y)の軌跡は
複雑となり、その複雑さは、CY(or J)に強く依存しているが、概略としてみえて
くるのは、、CY(or J)が中央値に近づくにつれて軌跡の形が『平べったく』なって
くることであるが、その形自体は多種多様である。また色からみて、
N-loopの巡回のしかたも決まった規則性は見出されない。
しかし、巡回の回数が増加するにつれて軌跡線が集まってくる箇所(収束)が
あるように見える。しかも、そのような収束箇所は複数の場合もある(J=200の場合)。このような傾向はNmaxを大きくすれば、より鮮明になるかも知れない

302 Z^2マンデルブロ画像座標での点(X,Y)のふるまい(その1)

2014-07-23 08:04:02 | Z^2マンデルブロー集合


表示する画像の複素座標を、実軸はCXS~CXE,虚軸はCYS~CYEとする。
この表示座標領域をDと名づける。
座標領域Dの座標点(CX,CY)相当するPC画面上の点を(K,J)とすれば次の関係がある。
CX=CXS+DX*K ,CY=CYS+DY*J・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・(1)
ここで、PCでの表示画面のピクセル数をKMAX,JMAXとすれば
CXE=CXS+DX*KMAX , CYE=CYS+DY*JMAX
より点(CX,CY)は、PC画面の点(K,J)に相互変換できる。
***
今後、CXS=-1.5,CXE=0.5,KMAX=JMAX=480,DY=DX,CYS=240*DYとする。
(この場合は、CYS=-1,CYE=1となる)
またN-loopの最大巡回回数をNMAXとする。
***
通常、Z^2+0.5マンデルブロ画像は以下のプログラムで作られる。
10 FOR J=0 TO 480
14 CY=CYS+DY*J
20 FOR K=0 TO 480
24 CX=CXS+DX*K
30 X=0:Y=0
40 FOR N=0 TO NMAX
50 XX=X^2-Y^2+CX
60 Y=2*X*Y+CY
70 X=XX
80 IF X^2+Y^2>4 THEN 110
90 NEXT N
100 GOTO 120
110 (色:C の設定条件)
110 PSET(K,J),C
120 NEXT K
130 NEXT J
140 END
***
さて、座標領域D内の点(CX,CY)が与えられれば、N-loop内の点(X,Y)が決定され上記プログラムに従って、点(X,Y)は複素平面座標を動き回る。ここで、座標領域Dの中心点を(X0,Y0)とすれば(-0.5,0)となる。
***
ここで、点(X,Y)と中心点(X0,Y0)との距離をRとすると、
R={(X-X0)^2+(Y-Y0)^2}^0.5={(X+1.5)^2+Y^2}^0.5・・・・・・・・・(2)
となる。
上のプログラムが実行されていったとき、Rはどのような挙動をするだろうか? 
これが今回の記事のテーマである。
***
『注意すべきは、今考えている点(X,Y)は、N-loop内の点(X,Y)であって上記の初期値の点(CX,CY)ではない。(1)式参照』
***
点(X,Y)に相当するPCの表示座標を点(K1,Y1)とする。
ここで、X=CXS+DX*K1, Y=CYS+DY*J1・・・・・・・・・・・・・・・・・・・・・・(3)
とすれば、点(X,Y)の座標は、Dの座標と共通化でき、
K1=(X-CXS)/DX , J1=(Y-CYS)/DY・・・・・・・・・・・・・・・・・・・・・・・・・(4)
として、点(X,Y)と点(K1,J1)は相互変換できる。
***
従って、(2),(3)より
R={(DX*K1)^2+(CYS+DY*J1)^2}^0.5・・・・・・・・・・・・・・・・・・・・・・・(5)

***
下図は、CY(or J)を一定にしたときの、CX(or K)に対するR(中心点からの距離)の挙動である。ここで色:Cは、点(X,Y)のN-loopでのN値(Noとする)を表している。
C=No MOD 16 とする。下図においては、Nmax=15としているから、C=No となる。
***
下図の横軸は、(1)式のCX(-1.5→0)で、パラメータ:K(0→480)で表している。
下図の縦軸は、Rを表している。R=SQR((DX*K1)^2+(CYS+DY*J1)^2)・・・・(6)
点(X,Y)はN-loopを、X^2+Y^2>4を満足するまで巡回するが、その巡回回数を色Cで表している。巡回回数をNoとすると、C=No MOD 16 としている。
下図では、Nmax=15としているので、C=No となり、色を見ることにより何回目の巡回のRであるか分かる。
また、下図にマンデルブロ集合の概略境界線を描いているが、点(X,Y)と座標を共通化しているので、R が、マンデルブロ画像の何処に位置しているかが直接分かる。
***
下図は、CY即ちJを固定したときの、CX即ちKに対する挙動を示している。
下図の縦軸は300R(画面上方向がプラス方向)、横軸はK(0→480)でる。
また縦軸にCY即ちJの固定値を太い横線で表している。この太い横線が切れている箇所はマンデルブロ集合内であることを意味している。
------------------------------------------------

















-----------------------------------------------
上図の場合、N-loopの入力点となる点(CX,CY)は画面の左から右へと移動していく。
その点がマンデルブロ集合領域に入ると、入って点を中心として上下(つまり虚軸)方向に振動していることが色から分かる。その振動はK即ちCXが右方向(増加方向)に移動するにつれて振動振幅が増加したり減少したりしながら変化している。その変化のしかたはJ即ちCYに大きく依存している。
***
上図の場合は、CX,CYの与え方が、座標表示領域:D において、左→右の変化を、上から下
へと変化させており、その変化のさせかたは不自然と言える。
おそらく自然な変化のしかたは、D の中心点から回転させながら回転半径を増加させていく方法だと思われる。(具体的には曲座標を使う方法である)。
***
いずれにせよ、R の変化の多様性は、マンデルブロ集合内にある(それ自体はあたりまえなことだが)。上図は、その一例であり、これはこれで面白い。
上図では、R の変化を分かりやすくするために、Nmax=15としたが、これを増加させたら、また新しい事柄が分かるかも知れない。


301 Z^2マンデルブロ画像の分岐の一つ試算

2014-07-23 07:40:33 | Z^2マンデルブロー集合
下図は、2014/7/18付けの記事258に記載した画像である。
この図を見て分かることは『黒赤模様』が整然と分岐していることである。
この分岐について少し調べてみた。



測定のしやすさから下図の A~F 間の分岐における長さを調べた。
マウスをクリックして座標点の位置を求めるプログラムは作成済みなので、そのプログラムを使って調べた。





下図が調査結果である。何か規則はあるのかと思っていたが、残念ながら、そこまでは分からなかった。ただ、マンデルブロ集合に近づくにつれて、比は大きくなっていく傾向はありそうだが断言はできない。何かを、こういうふうに定量的に調べるのも面白そうだ。