2015年7月31日金曜日

511 Z^2マンデルブロ集合の全ての点(K,J)を始点とする点列の集合(その2)

前回の記事では、マンデルブロ集合の全ての点(K,J)を始点とする点列の集合には、ブッダブロ点列の集合も含まれていることを書いた。そして、その集合を画像化してみると、ブッダブロー画像になることも確認した。
***
以下にマンデルブロ集合画像と、その画像の全てを始点とする点列を求めるプログラムを再掲しておく。


---------------------------
上記プログラムのN-loopの後の貫通点列をデータ・フアイルに書き込み、そのデータを読み出して、
LOG(m)化表示したのが下図である(上記プメグラムの生データは紛失してしまった)。

下図が、貫通点列のLOG(m)の集合画像であるが、ここで m は貫通点列が同一座標になる回数(濃度)で、色:C=LOG(m)で表している。

この図で分かるように画像の中央部近辺が m が大きいことが分かる。
色から判断して、C=7.5~8.5 即ち、m=e^7.5 ~e^8.5=1800~4900程度だと分かる。


----------------------------
以前の記事502で『ループ内画像』を紹介した。この画像の詳細は、記事502をみていただくとして、この画像を下に再掲しておく。


-----------------------------
この『ループ内画像』と『貫通点列』画像は酷似している。画像の中央部あたりが若干違う程度である。

これらの画像の定義からして酷似するのは当然であるが、それよりも私が疑問に思っているのは、
前回の記事510で書いたこと、即ち、『マンデルブロ集合の全ての点(K,J)を始点とする点列の集合』に、なぜ、ブッダブロ点列があるか? という疑問である。果たして、これは事実なんだろうか?

2015年7月30日木曜日

510 Z^2マンデルブロ集合の全ての点を始点とする点列の集合画像(その1)

前記事ではマンデルブロ集合の縁(ふち)の画像の全ての点(K,J)を始点とする点列の集合画像を求めた。この縁は厳密には真の縁ではなく、真の縁の外側の画像であるため、得られた画像はブッダブロ点列のみの集合画像であることも確認した。
***
では、マンデルブロ集合の全ての点(K.J)を始点とする点列の画像は、どのような画像になるのだろうか。今回はそれを調べる。
***
そもそもマンデルブロ集合とは巡回ループを脱出しない点の集合である。
従って、マンデルブロ集合の全ての点(K.J)を始点とする点列は、上の定義上、ブッダブロ点列は存在しないはずである。存在するのは貫通点列の集合画像となるはずである。
***
下図はマンデルブロ集合画像(緑色)と、その画像作成プログムである。



--------------------------------------------
下図はマンデルブロ集合の全ての点を始点とする点列の集合画像を求めるプログラムと、その実行結果である。『貫通点列』は赤色、『ブッダブロ点列』は青色で描くようにしている。また各点列は、それぞれ別のデータファイルに保存するようにしてある。



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

上図から分かるように、予想の反して、ブッダブロ点列(青色)も存在している!!??

赤色、即ち貫通点列が圧倒的に多いのは当然だとしても、青色、即ちブッダブロ点列が存在するのは意外であった。(参照としてマンデルブロ集合の縁を赤線で示してある。)

各点列のデータ容量は、貫通点列(赤色)は、546,585KB。ブッダブロ点列(青色)は、3,879KB
であった。
***
上図においては、赤色(貫通点列集合)が青色(ブッダブロ点列集合)をマスクしている可能性がある。そこで、ブッダブロ点列集合(青色)のみを表示させてみた。その結果が下図である。



-------------------------------------------------------------
上図に示すように、なんと驚くべき画像が現れた。これはブッダブロ画像ではないか!!!

ブッダブロ点列の集合だからブッダブロ画像となる、と言えばそれのでだが、しかし、この点列の始点はマンデルブロ集合そのものなのである。マンデルブロ集合の内部(と断言するのは危険だが)に実はブッダブロ点列が内在しているのだ!!!
***
そう言えば、マンデルブロ集合の縁画像をクリックして調べているとき、マンデルブロ集合の『尻』近辺にブッダブロ点列が多く見られた。
上図においても、その現象が見られる(LOG(m)画像参照)。
また、始点とは全く異なる座標が点列が同時発生する現象も見てきた。
これらの点も『マンデルブロ集合を始点とする点列にブッダブロ点列がある』
ということの一理由かもしれない。
***
『マンデルブロ集合を始点とする点列にブッダブロ点列がある』ということは、知る人は知っている、あたりまえのことかも知れないが、私は驚いた。と同時に、マンデルブロ画像の奥行の深さを思い知らされた。
***
では、貫通点列の画像はどうなるだろうか?

貫通点列(赤色)は、546,585KB もある。このデータを読み出すのも一苦労である。

このデータ結果をみて、『マンデルブロ集合を始点とする点列にブッダブロ点列がある』ということを調べてみよう。

2015年7月29日水曜日

509 Z^2マンデルブロ集合の縁の座標dataの読み出しによる点列画像

前記事508で、マンデルブロ集合の縁の画像を求める一例を説明した。
この方法での縁の座標データをdata file化しておき、それを順次読みだして点列画像を求めるプログラムを作り、画像を求めた。

***
このプログラムは最後に参考として書いておくが、要点だけ先に説明しておく。

要するに、巡回ループを貫通してしまう場合は、その時点の過去の点列は赤く表示する(『貫通点列』)。また、巡回ループを脱出する場合は、その時点の過去の点列を青く表示する(『ブッダブロ点列』。


***

下図が、このプログラムの実行結果である。


------------------------
上図から分かるように、表示されたのは青い『ブッダブロ点列』のみである。
赤い『貫通点列』は一つも見いだせない。
***
前記事にも書いたように、この画像で使用したマンデルブロ集合の縁画像は真のマンデルブロ集合の縁の外側にある。
***
マンデルブロ集合の真の縁とは数学的には巡回ループを脱出するには無限回の巡回を必要とする点(K,J)の集合だろう。

そのような真の縁を具体的に実現するのは不可能だが、可能だとして、その理想化された点(K,J)では点列は、やはり『ブッダブロ点列』を示すと思われるが、もし、その理想化された点(K,J)に対して点(K-ε,J-ε)では『貫通点列』となるのだろうか?
(ここで、εは任意の小さな数である)
***
実はマデルブロ集合内部でも、『ブッダブロ点列』自体は存在する。
そもそも『ブッダブロ画像』とは、その典型である。

下図はその一例である。始点は乱数で与えている。そもそもブッダブロ画像はマンデルブロ集合内部の点列の画像でもあるのだから。

***

問題は、『ブッダブロ点列』を生成する始点がマンデルブロ集合内(縁も含めて)に存在するのか、ということである。

定義からして、『ブッダブロ点列』とは巡回ループを脱出した始点での過去の点列であり、マンデルブロ集合とは巡回ループを脱出しない始点の集合であるから、存在しないように思える。あたりまえのことか!?
***
以下は参考のために、ここで使用したBASIC/98のプログラムを下記しておく。
***
10 REM マンデルブロ集合の縁(ふち)data file:DATAマンデルAを順次読みだして
12 REM 点列を求める。重ね描きする。
14 RRM 『貫通点列』→赤、『ブッダブロ点列』→青 とする。
190 CONSOLE ,,0,1
210 COLOR 0,7,,,2
230 CLS 3
250 CXS=-1.5:CXE=0.5:DX=(CXE-CXS)/480
270 CYS=-1:CYE=1:DY=(CYE-CYS)/480
290 I=0:II=0:N1=0:NN=0
294 DIM SX(10000):DIM SY(10000):DIM Z1(480,480):DIM Z2(480,480)
330 CHAIN MERGE "C:\BASIC1\PRO\SUBR\ER2.BAS",350,ALL
350 ON ERROR GOTO 50000
370 REM マンデルブロ集合の縁(ふち)の表示
390 OPEN "C:\BASIC1\TEST\DATA3B.DAT" FOR INPUT AS #1
392 OPEN "C:\BASIC1\TEST\DATAK.DAT" FOR OUTPUT AS #2
394 OPEN "C:\BASIC1\TEST\DATAD.DAT" FOR OUTPUT AS #3
410 INPUT #1,KK,JJ,K,J
430 IF EOF(1) THEN 2030
440 LOCATE 0,0:PRINT USING "###";K
441 LOCATE 0,1:PRINT USING "###";J
450 PSET (K,J),15
570 CX=CXS+DX*K
580 CY=CYS+DY*J
610 '
1270 REM 画像の作成
1290 L=0
1410 REM N-loopの計算
1430 X=0:Y=0
1450 FOR N=0 TO 500
1470 XX=X^2-Y^2+CX
1490 Y=2*X*Y+CY
1510 X=XX
1530 Q=X^2+Y^2
1550 SX(L)=X: SY(L)=Y
1570 IF Q>4 THEN 1900
1610 L=L+1
1630 NEXT N
1634 FOR N=0 TO 500
1750 X=SX(N):Y=SY(N)
1770 K1=(X-CXS)/DX : J1=(Y-CYS)/DY
1790 IF K1<0 OR J1<0 THEN 1910
1810 IF K1>480 OR J1>480 THEN 1910
1830 K=INT(K1) : J=INT(J1)
1832 Z1(K,J)=Z1(K,J)+1
1836 WRITE #2,K,J,Z1(K,J)
1852 PSET (K,J),2
1853 NEXT N
1858 L=0:GOTO 410
1900 REM N-loop脱出後
1910 FOR LL=0 TO L
1920 X=SX(LL):Y=SY(LL)
1930 KK=(X-CXS)/DX : JJ=(Y-CYS)/DY
1940 IF KK<0 OR JJ<0 THEN 2000
1950 IF KK>480 OR JJ>480 THEN 2000
1960 K=INT(KK) : J=INT(JJ)
1970 '
1974 Z2(K,J)=Z2(K,J)+1
1978 WRITE #3,K,J,Z2(K,J)
1980 PSET (K,J),1
2000 NEXT LL
2010 L=0
2020 GOTO 410
2030 CLOSE
2040 LINE(0,0)-(480,0),0,,2
2050 END



2015年7月28日火曜日

508 マンデルブロ画像の縁(ふち)の画像について。

今まで、各点列を調べる場合に、マンデルブロ集合の縁(ふち)画像を重ね描きしてきた。
この縁周辺の点列が特に面白い画像を生成するから、マウスで始点を選ぶ場合も、この、マンデルブロ集合の縁(ふち)画像の縁を主にクリックして点列を求めた。

***
しかし、この場合、この縁部分(マンデルブロ集合画像の周囲線)は、かなり微妙で、その点のとりかたの、わずかな違いで、点列の有無、その形、その種類が、まるで違ってくることが分かった。

***
ということで、今回、 マンデルブロ画像の縁(ふち)の画像について見直した。




2015年7月27日月曜日

507 マウスのクリック点での点列画像(その2)

マンデルブロ集合画像の縁(ふち)をマウススでクリックして始点を与えた場合の、『貫通点列』(赤色)と『ブッダブロ点列』(青色]の他の画像例を以下に示す。クリックした点とは全く別の位置に点列が現れる場合がある。




上の画像でも分かるように、マンデルブロ集合画像の『頭部』周辺に『貫通点列』が多く現れることが分かる。この場合でも、『頭部』周辺をクリックして始点にしたにも関わらず、全く別の個所(『腹部』にも同時に点列が現れる。

***
実は、画像の参照として表示したマンデルブロ集合の縁(ふち)は、マンデルブロ集合の真の境界ではない。真の境界よりもが外部の点なのである。

現在、調査中であるが、真の境界より少しでも外部に外れた点は、『ブッダブロ点列』となるらしい。また少しでも、真の境界より内部にずれた始点のみが『貫通点列』となるらしい
***
これは当然なことに思えるが、現在、調査中のプログラム実行結果はこのことを明確に示した結果となっている。

2015年7月26日日曜日

506 マウス・クリックでの点列画像:復習(その1)

ここで少し点列画像の補足説明(復習)をしておこう。
***
複素平面での画像表示座標を適当に選ぶ。
ここでは実軸:-1.5<X<0.5,虚軸:-1<Y<1とする。
この画像表示座標の一点Zoを任意に選ぶ。

***
ここで、Z(X,Y)←Z(X,Y)^2+Zo の巡回計算を行う。但し、変数:X,Yの初期値は0としておく。従って巡回の初回計算での右辺は、Z(0,0)^2+Zo=Zo (∵Z(0,0)=0)
従って左辺は、Zoとなる。従って巡回計算初回目で点はZoとなる。

***
次回の計算の右辺は、Z(Zo)^2+Zoとなり、この値が左辺:Z(X,Y)となり、これをZ1で表す。次次回の計算の右辺は、Z(Z1)^2+Zoとなり、この値が左辺となり、これをZ2で表す。この巡回計算を繰り返すと、点列:Zo,Z1,Z2,・・・が得られる。この点列は複素平面上の点列として表せる。

***
この点列において、点の座標原点からの距離:|Z|>2となった時点で巡回計算を終わらせる。ここで巡回の回数の上限を決めておき、それをNmaxとする。

***
Nmaxまでに、点列の点ZNmaxが|ZNmax|>2にならないとき、その点列:Zo,Z1,Z2,・・・,ZNmaxを『貫通点列』と名付ける。
***
Nmax以前のNmで点列の点Zmが|Zm|>2となったとき、巡回計算を終了し、その場合の点列Zo,Z1,Z2,・・・,Zmを『ブッダブロ点列』と名付ける。
***
次に、画像表示座標の他の任意の一点Zoを選んで、上記した計算手順を繰り返せば、その点Zoに対応した『貫通点列』ないし『ブッダブロ点列』が生成される。
***
下図はマウスをクリックすることで、点Zoを選んだときの『貫通点列』(赤色)と『ブッダブロ点列』(青色)の画像である。点Zoは、マンデルブロ集合の各『こぶ』の縁(ふち)を選んでいる。










2015年7月25日土曜日

505 マウスをクリックして始点を選ぶ方法

ブッダブロ点列 (巡回ループを脱出した時点で過去全ての点列)と貫通点列 (巡回ループを脱出できず貫通した時点で過去全ての点列)の画像作成時の始点は、いままで乱数を使うか、あるいは表示座標を全て順次与えていく方法であった。

***
この方法では調べたい点での、それらの点列の様子を調べるには不便であり、始点と、点列の関係もよく分からない。

そこで、あらかじめマンデルブロ集合の縁(ふち)を表示しておき、その縁ないしマンデルブロ集合内部の点を、マウスを使って自由に選び、その点での点列を表示させるプログラムを作った。

***
以下の画像は、そのプログラムによる点列画像である。
表示範囲は実軸:-1.5<X<0.5,虚軸:-1<Y<1である。
最大巡回回数は500とした。赤色の点列は貫通点列で、青色の点列はブッダブロ点列である。





-----------------------------------------------------------
この方法で分かったことは、マウスでクリックした点とは全く別の座標に点列が表れる場合が多いということ。

***
当然なことではあるが、マンデルブロ集合部ではブッダブロ点列を生成する始点よりも、貫通点列を生成する始点のほうが圧倒的に多いということ。

そもそも、マンデルブロ画像の内部ないし縁(ふち)は、巡回ループを脱出しない点、ないしは巡回ループを脱出するのに巡回回数が無限大となる点の集合だから、ループを貫通してしまうのは当然である。即ち、貫通点列となるのは当然である。

***
しかし、たまにはブッダブロ点列を生成する点もある。比較的に、それが多いのは上図の最後の画像で示しているように、マンデ゙ルブロ集合の『尻』の辺りの点である。理由はよく分からない。

***
参考に、BASIC/98で作った、このプログラムを下記しておく。

10 REM 始点をマウスで入力:マンデルブロ+ブッダブロの点列の表示
90 REM 始点のマウス入力はマウスの左ボタンをクリック。
110 REM 始点の入力の終わりにはキーF1を押す。行82
130 REM 表示座標点→行112,114
150 REM 表示座標→行250,270:変えた場合はマンデルブロ集合画像の縁(ふち)画像も変えること。
190 CONSOLE ,,0,1
210 COLOR 0,7,,,2
230 CLS 3
250 CXS=-1.5:CXE=0.5:DX=(CXE-CXS)/480
270 CYS=-1:CYE=1:DY=(CYE-CYS)/480
290 I=0:II=0:N1=0:NN=0
294 DIM SX(10000):DIM SY(10000)
330 CHAIN MERGE "C:\BASIC1\PRO\SUBR\ER2.BAS",350,ALL
350 ON ERROR GOTO 50000
370 REM マンデルブロ集合の縁(ふち)の表示
390 OPEN "C:\BASIC1\TEST\DATAマンデルA.DAT" FOR INPUT AS #1
410 INPUT #1,K,J,C
430 IF EOF(1) THEN 490
450 PSET (K,J),0
470 GOTO 410
490 CLOSE #1
492 ON KEY GOSUB *KEY1
494 KEY(1) ON
500 ON MOUSE(2) GOSUB *M1
510 MOUSE (2) ON
520 '
530 DO:AA=AA:LOOP
540 '
550 *M1
560 A=MOUSE(4,1):B=MOUSE(5,1)
570 CX=CXS+DX*A
580 CY=CYS+DY*B
610 PSET (A,B),2
620 GOSUB 1270
650 RETURN
1270 REM 画像の作成
1290 L=0
1330 K=0:J=0
1410 REM N-loopの計算
1430 X=0:Y=0
1450 FOR N=0 TO 500
1470 XX=X^2-Y^2+CX
1490 Y=2*X*Y+CY
1510 X=XX
1530 Q=X^2+Y^2
1550 SX(L)=X: SY(L)=Y
1570 IF Q>4 THEN 1900
1610 L=L+1
1630 NEXT N
1634 FOR N=0 TO 500
1750 X=SX(N):Y=SY(N)
1770 K1=(X-CXS)/DX : J1=(Y-CYS)/DY
1790 IF K1<0 OR J1<0 THEN 1910
1810 IF K1>480 OR J1>480 THEN 1910
1830 K=INT(K1) : J=INT(J1)
1852 PSET (K,J),2
1853 NEXT N
1858 GOTO 2020
1900 REM N-loop脱出後
1910 FOR LL=0 TO L
1920 X=SX(LL):Y=SY(LL)
1930 KK=(X-CXS)/DX : JJ=(Y-CYS)/DY
1940 IF KK<0 OR JJ<0 THEN 2000
1950 IF KK>480 OR JJ>480 THEN 2000
1960 K=INT(KK) : J=INT(JJ)
1970 C= M MOD 16
1980 PSET (K,J),1
2000 NEXT LL
2010 L=0
2020 RETURN
2030 *KEY1
2040 LINE(0,0)-(480,0),0,,2
2050 END



2015年7月24日金曜日

504 Z^2マンデルブロ集合画像において、巡回ループを貫通する場合の点列の画像

複素画面(実軸:|X|<2,虚軸:|Y|<2)の任意の点が与えられると、巡回ループ内で、Z←Z^2+C の巡回計算が行われる。ここで、C は複素平面の任意の点で定数とする。

巡回計算の初期値は、X=0:Y=0であるが巡回するにつれて変化していく。巡回回数の上限を500としたときでも、X^2+Y^2<4の場合は、そのループを貫通するものとする。

***
このような場合、巡回ループでの点Z(=X+iY)の軌跡はどうなるだろうか?
それを画像化したのが下図である。参照のため、マンデルブロ集合の縁(ふち)も同じ座標で重ね描きしてある。

***
画像結果は、前記事503でのブッダブロー画像と似た画像となった。

巡回ループを脱出できない(つまり、X^2+Y^2>4 とならない)場合でも特別変わった画像にはならないらしい(但し、画像の形はブッダブロー同様に変化に富んだ画像となっている)。

***
但し、もっとよく調べてみれば、何か特別な規則が見つかるかも知れない。





2015年7月23日木曜日

503 ブッダブロ画像作成時の点列の画像

ブッダブロ画像は、巡回ループを脱出する点Zn(X,Y)があったとき、
その点の過去の点、即ち、Z0,Z1,Z2,・・・,Znを全て表示する画像であった。
この場合、始点Z0は任意の点として与えられる。

***
以下の図は、画像表示範囲を実軸:|X|<2,虚軸:|Y|<2としたとき、任意の始点Z0を500個与えたときの、点列Z0,Z1,Z2,・・・,Znの画像である。参照のため、マンデルブロ集合の縁(ふち)も同一座標で表示している。

***
以下の画像から分かるように、点列が形成されるのは、始点Z0がマンデルブロ集合付近内に限ることが分かる。他の始点の場合は一点Z0で巡回ループを脱出してしまい点列が形成されず、画像の中に孤立した点として残っている。
***
同じ始点から出来る点列は同じ色にしている。但し、色は15色しか使えないから、与える始点の順序をMとすると、色C=M MOD 16としている。

***
点列が形成されるとき、与えられた始点Z0の位置によって、点列の形が変化している。その形はそれぞれ個性的で面白い。




2015年7月22日水曜日

502『ブッダブロ画像』『貫通画像』『ループ内画像』について

マンデルブロ画像における計算過程の点Z(X,Y)の推移は三つの場合がある。

(1)巡回ループを脱出する。・・・『ブッダブロ画像』となる。(以下で説明する)
(2)巡回ループを貫通する。・・・『貫通画像』となる。(以下で説明する)
(3)巡回ループに留まる。・・・・・『ループ内画像』となる。(以下で説明する)

***
ブッダブロ画像は(1)の場合の、始点Zoから脱出するまでの点Znの集合画像であった。
これを(2)及び(3)に適用して、(2)の場合は、巡回ループを貫通する場合で、その場合の、始点Zoから貫通するまでの点Znの集合画像も考えられるこの画像を便宜上『貫通画像』と名付ける。
***
(3)の場合も同様に考えられる。巡回ループの最大巡回数をNmaxとしたとき、その回数になっても巡回ループを脱出もせず、また貫通もしない場合である。この場合の始点Zoから、Nmaxまでの点Znの集合画像も存在し、その画像を便宜上『ループ内画像』と名付けることにする。
***
今、実軸:-2.5<X<0.5 虚軸:|Y|<1.1の複素平面座標を考え、これらの全て点についてマンデルブロ集合画像の計算過程を行う。この座標の点が始点Zoに相当するが計算過程は上記三つのいずれかの経過をたどる。その、いずれかの点列の集合画像を形成する。
***
巡回ループを脱出する条件は、計算過程での点Zが半径2の円を超えたときとする。またNmax=500とする。
***
ここで、N-loopを脱出しない場合の点列の集合画像を『非脱出画像』と名付ければ、『ループ内画像』の点集合は、『非脱出画像』の点集合から、『ブッダブロ画像』と『貫通画像』の点集合を差し引けばよい。「差し引く」という意味は、同一座標点の回数(濃度:m)を差し引くという意味である。
***
以下に『非脱出画像』、『ブッダブロ画像』、『貫通画像』、『ループ内画像』を示す。点集合を{ }で表せば、{『ループ内画像』}={『非脱出画像』}-{『ブッダブロ画像』}-{『貫通画像』}
なお、この減算において、m<0となる場合は、m=0としている。





--------------------------------------
{『ループ内画像』}と{『非脱出画像』}との画像の主要部分のLOG(m)分布は、ほとんど変わっていない。子細に比べれば、画像の周囲部分が若干変わっている。

これは、{『非脱出画像』}のmの分布は、LOG(m)レベルでは、{『ブッダブロ画像』}+{『貫通画像』}は問題になるほど大きくはないということだろう。

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

下図は『ループ内画像』とマンデルブロ集合画像の周辺部との重ね描きである。
両者の座標は一致させている。『ループ内画像』の点列は、マンデルブロ集合の座標より一回り大きいことがわかる。


-------------------------------------------------------
下図は『ループ内画像』のLOG(m)の分布グラフである。このグラフからもLOG(m)が最高となるのは、『ループ内画像』の中央右あたりの円部内で約LOG(m)=7.5~8だと分かる。即ち、m=e^7.5~e^8=1808~2980程度である。


2015年7月21日火曜日

501 巡回ループを脱出時点での点(X,Y)の画像

始点Zoから出発して、その点は巡回ループを巡回し、Z1,Z2,Z3・・・と変化していく。
そして、|Zn|>2となった時点で、点Znは巡回ループから脱出する。
***
今回の画像は、Zn 自身の画像である。始点の範囲は、実軸:-2.5<X<0.5,虚軸:|Y|<1.1だが、始点Z0が、この範囲全てについて行われるとき、Znは対応した集合となり画像を形成する。

この{点Zn}はどのような画像になるのだろうか? 







上図の下二枚の画像が何を意味しているか、つかみかねているが、ともかくも、この、{点Zn}画像は不規則性と規則性が混在しているのは確かなようだ。

2015年7月20日月曜日

500 Z^2マンデルブロ画像の収束点について

記事499において、巡回ループを脱出できず貫通する点について書いた。
この件について、もう少し詳しく調べてみた。解説は以下の画像の中に書いてある。