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

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

410 巡回式:Z←H(Z,λ):H(Z,λ)=λ(λF(Z)-1/(λF(Z))^2:いろいろなf(Z)の画像

2014-08-11 07:28:26 | 再帰式合成関数画像
λ、Zを複素数とし、λ=LR+iLI , Z=X+iYとする。

F(Z)=cosZ,e^sinZ,sinhZ,sinsinZ,tanZを考える。

今、任意の複素関数:F(Z,λ)として、また複素関数:I(Z,λ)=λ(λF(Z)-1/(λF(Z))^2とする。
ここで、巡回式:Z←H(Z,λ)を考える。

Zの初期値をZ0とする。最大巡回回数をNmaxとする。
この巡回式で、X^2+Y^2>T(実定数)のとき、巡回ループを抜け出すとする。

今、λの複素平面領域:LRS<=LR<=LRE,LIS<=LI<=LIE の各点において、Z←H(Z,λ)を実行する此のループを貫通した場合、該当点を黄色とする。ループを抜け出した時の巡回回数をNoとして、其の該当点を以下の色とする。C=No mod 16,C=7→8,6→5。

***
下図は以下の条件の画像である。また、画像の下にBASIC/98のプログラムを示す。
F(Z)=cosZ,e^sinZ,sinhZ,sinsinZ,及びtanZ
I(Z,λ)=λ(λF(Z)-1/(λF(Z))^2
|Re.λ|及び|Im.λ|の範囲は各画像に書いてある。
なお、これらの画像は、dR=dIとしている。

F(Z)=cosZの場合のBASIC/98のプログラムは最後に書いてある。

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











---------------------------------------------------------------------------
F(Z)=cosZの場合のBASIC/98のプログラムを示す。

10 REM I(Z,λ)=λ(λF(Z)-1/(λF(Z))^2)
11 REM F(Z)=cosZ
20 REM 横軸(K):640 dots、縦軸(J):480 dots
30 CHAIN MERGE "C:\BASIC1\PRO\SUBR\KOSHIKI.BAS",70,ALL
70 CHAIN MERGE "C:\BASIC1\PRO\SUBR\ER1.BAS",80,ALL
80 ON ERROR GOTO 50000
90 CONSOLE ,,0,1
100 COLOR 0,7,,,2
110 CLS 3
120 GOSUB 10000
130 OPEN "C:\BASIC1\RUN\DATA.DAT" FOR OUTPUT AS #1
140 OPEN "C:\BASIC1\RUN\親DATA.DAT" FOR OUTPUT AS #2
150 REM 親DATAの設定(随時変更)
160 LRS=-1.5*P :LRE=1.5*P :LIS=-0.5*P :LIE=0.5*P
170 DR=(LRE-LRS)/640 :DI=(LIE-LIS)/480
180 WRITE #2,LRS,LRE,LIS,LIE,DR,DI
190 CLOSE #2
200 FOR J=0 TO 480
210 LOCATE 0,0:PRINT J
211 LI=LIS+DI*J
220 FOR K=0 TO 640
230 X=0.5 :Y=0
240 LR=LRS+DR*K
260 FOR N=0 TO 15
270 FR=FNCOSR(X,Y)
280 FI=FNCOSI(X,Y)
290 A1=(LR^2-LI^2)*(FR^2-FI^2)-4*LR*LI*FR*FI
300 A2=2*LR*LI*(FR^2-FI^2)+2*FR*FI*(LR^2-LI^2)
301 A3=LR*FR-LI*FI
302 A4=LI*FR+LR*FI
310 A55=A1^2+A2^2
311 IF A55=0 THEN 410
320 A5=1/A55
340 IR=A3-A5*A1
350 II=A4+A5*A2
360 X=IR : Y=II
390 Q=X^2+Y^2
400 IF Q>500 THEN 440
410 NEXT N
411 C=6:GOTO 470
440 '発散時のPSET
450 C=N MOD 16
460 IF C=7 THEN C=8
461 IF C=6 THEN C=5
470 PSET (K,J),C
480 WRITE #1,K,J,C,N
490 NEXT K
500 NEXT J
510 END
520
 




408 巡回式:Z←I(Z,λ):I(Z,λ)=λ(λF(Z)-1/(λF(Z))^2,F(Z)=sinZ画像

2014-08-11 07:12:11 | 再帰式合成関数画像
λ、Zを複素数とし、λ=LR+iLI , Z=X+iYとする。
今、任意の複素関数:F(Z)として、また複素関数:I(Z,λ)=λ(λF(Z)-1/(λF(Z))^2とする。
ここで、巡回式:Z←I(Z,λ)を考える。

Zの初期値をZ0とする。最大巡回回数をNmaxとする。
この巡回式で、X^2+Y^2>T(実定数)のとき、巡回ループを抜け出すとする。

今、λの複素平面領域:LRS<=LR<=LRE,LIS<=LI<=LIE の各点において、Z←H(Z,λ)を実行する。此のループを貫通した場合、該当点を黄色とする。ループを抜け出した時の巡回回数をNoとして、其の該当点を以下の色とする。C=No mod 16,C=7→8,6→5。

***
下図は以下の条件の画像である。また、画像の下にBASIC/98のプログラムを示す。
F(Z)=sinZ
I(Z,λ)=λ(λF(Z)-1/(λF(Z))^2
LRS=3π,LRE=3π
LIS=-1.6π.LIE=1.6π
Zo=0.5 ,Nmax=80 ,T=500






--------------------------------
・1-1画像




・1-2画像




・1-3画像





・1-4画像




・1-5画像




・1-6画像




・1-7画像




・1-8画像




・1-9画像




------------------------------------------------------------------------
一番上の画像のBASIC/98のプログラムを示す。 

10 REM I(Z,λ)=λ(λF(Z)-1/(λF(Z))^2)
11 REM F(Z)=sinZ
20 REM 横軸(K):640 dots、縦軸(J):480 dots
30 CHAIN MERGE "C:\BASIC1\PRO\SUBR\KOSHIKI.BAS",70,ALL
70 CHAIN MERGE "C:\BASIC1\PRO\SUBR\ER1.BAS",80,ALL
80 ON ERROR GOTO 50000
90 CONSOLE ,,0,1
100 COLOR 0,7,,,2
110 CLS 3
120 GOSUB 10000
130 OPEN "C:\BASIC1\RUN\DATA.DAT" FOR OUTPUT AS #1
140 OPEN "C:\BASIC1\RUN\親DATA.DAT" FOR OUTPUT AS #2
150 REM 親DATAの設定(随時変更)
160 LRS=-3*P :LRE=3*P :LIS=-1.6*P :LIE=1.6*P
170 DR=(LRE-LRS)/640 :DI=(LIE-LIS)/480
180 WRITE #2,LRS,LRE,LIS,LIE,DR,DI
190 CLOSE #2
200 FOR J=0 TO 480
210 LOCATE 0,0:PRINT J
211 LI=LIS+DI*J
220 FOR K=0 TO 640
230 X=0.5 :Y=0
240 LR=LRS+DR*K
260 FOR N=0 TO 15
270 FR=FNSINR(X,Y)
280 FI=FNSINI(X,Y)
290 A1=(LR^2-LI^2)*(FR^2-FI^2)-4*LR*LI*FR*FI
300 A2=2*LR*LI*(FR^2-FI^2)+2*FR*FI*(LR^2-LI^2)
301 A3=LR*FR-LI*FI
302 A4=LI*FR+LR*FI
310 A55=A1^2+A2^2
311 IF A55=0 THEN 410
320 A5=1/A55
340 IR=A3-A5*A1
350 II=A4+A5*A2
360 X=IR : Y=II
390 Q=X^2+Y^2
400 IF Q>500 THEN 440
410 NEXT N
411 C=6:GOTO 470
440 '発散時のPSET
450 C=N MOD 16
460 IF C=7 THEN C=8
461 IF C=6 THEN C=5
470 PSET (K,J),C
480 WRITE #1,K,J,C,N
490 NEXT K
500 NEXT J
510 END


407 巡回式:Z←H(Z,λ):H(Z,λ)=λ(λF(Z)-1/λF(Z)):その他のF(Z)画像

2014-08-11 06:56:09 | 再帰式合成関数画像
H(Z,λ)=λ(λF(Z)-1/λF(Z))において、以下のF(Z)画像を求める。

F(Z)=sinsin Z, e^Z, e^(Z^5), e^(sinZ)

また各画像の計算手順は同様に下記のとおりである。

***

λ、Zを複素数とし、λ=LR+iLI , Z=X+iYとする。
今、任意の複素関数:F(Z,λ)として、また複素関数:H(Z,λ)=λ(λF(Z)-1/λF(Z))とする。
ここで、巡回式:Z←H(Z,λ)を考える。

Zの初期値をZ0とする。最大巡回回数をNmaxとする。
この巡回式で、X^2+Y^2>T(実定数)のとき、巡回ループを抜け出すとする。

今、λの複素平面領域:LRS<=LR<=LRE,LIS<=LI<=LIE の各点において、Z←H(Z,λ)を実行する。此のループを貫通した場合、該当点を黄色とする。ループを抜け出した時の巡回回数をNoとして、其の該当点を以下の色とする。C=No mod 16,C=7→8,6→5。

***
以下の各画像の条件は各画像に書いてある。
 












406 巡回式:Z←H(Z,λ):H(Z,λ)=λ(λF(Z)-1/λF(Z)),F(Z)=e^(Z^2) 画像

2014-08-10 08:55:39 | 再帰式合成関数画像
λ、Zを複素数とし、λ=LR+iLI , Z=X+iYとする。
今、任意の複素関数:F(Z,λ)として、また複素関数:H(Z,λ)=λ(λF(Z)-1/λF(Z))とする。
ここで、巡回式:Z←H(Z,λ)を考える。

Zの初期値をZ0とする。最大巡回回数をNmaxとする。
この巡回式で、X^2+Y^2>T(実定数)のとき、巡回ループを抜け出すとする。

今、λの複素平面領域:LRS<=LR<=LRE,LIS<=LI<=LIE の各点において、Z←H(Z,λ)を実行する。此のループを貫通した場合、該当点を黄色とする。ループを抜け出した時の巡回回数をNoとして、其の該当点を以下の色とする。C=No mod 16,C=7→8,6→5。

***
下図は以下の条件の画像である。また、画像の下にBASIC/98のプログラムを示す。
F(Z)=e^(Z^2)
H(Z,λ)=λ(λF(Z)-1/λF(Z))
LRS=-π/2,LRE=π/2
LIS=-π/2.LIE=π/2
Zo=0.5 ,Nmax=15 ,T=500






-------------------------------
・1-1画像




・1-1画像




・1-1画像




--------------------------------------------------------------
一番上の画像のBASIC/98の画像のプログラムを示す。
 
10 REM H(Z,λ)=λ(λF(Z)-1/λF(Z))
11 REM F(Z)=e^(Z^2)
20 REM 横軸(K):640 dots、縦軸(J):480 dots
30 CHAIN MERGE "C:\BASIC1\PRO\SUBR\KOSHIKI.BAS",70,ALL
70 CHAIN MERGE "C:\BASIC1\PRO\SUBR\ER1.BAS",80,ALL
80 ON ERROR GOTO 50000
90 CONSOLE ,,0,1
100 COLOR 0,7,,,2
110 CLS 3
120 GOSUB 10000
130 OPEN "C:\BASIC1\RUN\DATA.DAT" FOR OUTPUT AS #1
140 OPEN "C:\BASIC1\RUN\親DATA.DAT" FOR OUTPUT AS #2
150 REM 親DATAの設定(随時変更)
160 LRS=-P/2 :LRE=P/2 :LIS=-P/2 :LIE=P/2
170 DR=(LRE-LRS)/640 :DI=(LIE-LIS)/480
180 WRITE #2,LRS,LRE,LIS,LIE,DR,DI
190 CLOSE #2
200 FOR J=0 TO 480
210 LOCATE 0,0:PRINT J
211 LI=LIS+DI*J
220 FOR K=0 TO 640
230 X=0.5 :Y=0
240 LR=LRS+DR*K
260 FOR N=0 TO 15
270 FR=FNEZR2(X,Y)
280 FI=FNEZI2(X,Y)
290 A1=LR*FR-LI*FI
300 A2=LI*FR+LR*FI
301 A33=A1^2+A2^2
302 IF A33=0 THEN 490
310 A3=1/A33
320 A4=LR*FR-LI*FI-A3*A1
330 A5=LI*FR-LR*F1+A3*A2
340 HR=LR*A4-LI*A5
350 HI=LR*A5+LI*A4
360 X=HR : Y=HI
390 Q=X^2+Y^2
400 IF Q>500 THEN 440
410 NEXT N
411 C=6:GOTO 470
440 '発散時のPSET
450 C=N MOD 16
460 IF C=7 THEN C=8
461 IF C=6 THEN C=5
470 PSET (K,J),C
480 WRITE #1,K,J,C,N
490 NEXT K
500 NEXT J
510 END




405 巡回式:Z←H(Z,λ):H(Z,λ)=λ(λF(Z)-1/λF(Z)):F(Z)=sinhZ 画像

2014-08-10 08:41:52 | 再帰式合成関数画像
λ、Zを複素数とし、λ=LR+iLI , Z=X+iYとする。
今、任意の複素関数:F(Z,λ)として、また複素関数:H(Z,λ)=λ(λF(Z)-1/λF(Z))とする。
ここで、巡回式:Z←H(Z,λ)を考える。

Zの初期値をZ0とする。最大巡回回数をNmaxとする。
この巡回式で、X^2+Y^2>T(実定数)のとき、巡回ループを抜け出すとする。

今、λの複素平面領域:LRS<=LR<=LRE,LIS<=LI<=LIE の各点において、Z←H(Z,λ)を実行する。此のループを貫通した場合、該当点を黄色とする。ループを抜け出した時の巡回回数をNoとして、其の該当点を以下の色とする。C=No mod 16,C=7→8,6→5。

***
下図は以下の条件の画像である。また、画像の下にBASIC/98のプログラムを示す。
F(Z)=sinhZ
H(Z,λ)=λ(λF(Z)-1/λF(Z))
LRS=-π,LRE=π
LIS=-π.LIE=π
Zo=0.5 ,Nmax=15 ,T=500






-------------------------------
・1-1画像




・1-2画像




------------------------------------------------------------
一番上の画像のBASIC/98のプログラムを示す。

10 REM H(Z,λ)=λ(λF(Z)-1/λF(Z))
11 REM F(Z)=sinhZ
20 REM 横軸(K):640 dots、縦軸(J):480 dots
30 CHAIN MERGE "C:\BASIC1\PRO\SUBR\KOSHIKI.BAS",70,ALL
70 CHAIN MERGE "C:\BASIC1\PRO\SUBR\ER1.BAS",80,ALL
80 ON ERROR GOTO 50000
90 CONSOLE ,,0,1
100 COLOR 0,7,,,2
110 CLS 3
120 GOSUB 10000
130 OPEN "C:\BASIC1\RUN\DATA.DAT" FOR OUTPUT AS #1
140 OPEN "C:\BASIC1\RUN\親DATA.DAT" FOR OUTPUT AS #2
150 REM 親DATAの設定(随時変更)
160 LRS=-P :LRE=P :LIS=-P :LIE=P
170 DR=(LRE-LRS)/640 :DI=(LIE-LIS)/480
180 WRITE #2,LRS,LRE,LIS,LIE,DR,DI
190 CLOSE #2
200 FOR J=0 TO 480
210 LOCATE 0,0:PRINT J
211 LI=LIS+DI*J
220 FOR K=0 TO 640
230 X=0.5 :Y=0
240 LR=LRS+DR*K
260 FOR N=0 TO 15
270 FR=FNSINHR(X,Y)
280 FI=FNSINHI(X,Y)
290 A1=LR*FR-LI*FI
300 A2=LI*FR+LR*FI
301 A33=A1^2+A2^2
302 IF A33=0 THEN 490
310 A3=1/A33
320 A4=LR*FR-LI*FI-A3*A1
330 A5=LI*FR-LR*F1+A3*A2
340 HR=LR*A4-LI*A5
350 HI=LR*A5+LI*A4
360 X=HR : Y=HI
390 Q=X^2+Y^2
400 IF Q>500 THEN 440
410 NEXT N
411 C=6:GOTO 470
440 '発散時のPSET
450 C=N MOD 16
460 IF C=7 THEN C=8
461 IF C=6 THEN C=5
470 PSET (K,J),C
480 WRITE #1,K,J,C,N
490 NEXT K
500 NEXT J
510 END



404 巡回式:Z←H(Z,λ):H(Z,λ)=λ(λF(Z)-1/λF(Z)),F(Z)=tanZ 画像

2014-08-10 08:28:53 | 再帰式合成関数画像
λ、Zを複素数とし、λ=LR+iLI , Z=X+iYとする。
今、任意の複素関数:F(Z,λ)として、また複素関数:H(Z,λ)=λ(λF(Z)-1/λF(Z))とする。
ここで、巡回式:Z←H(Z,λ)を考える。

Zの初期値をZ0とする。最大巡回回数をNmaxとする。
この巡回式で、X^2+Y^2>T(実定数)のとき、巡回ループを抜け出すとする。

今、λの複素平面領域:LRS<=LR<=LRE,LIS<=LI<=LIE の各点において、Z←H(Z,λ)を実行する。此のループを貫通した場合、該当点を黄色とする。ループを抜け出した時の巡回回数をNoとして、其の該当点を以下の色とする。C=No mod 16,C=7→8,6→5。

***
下図は以下の条件の画像である。また、画像の下にBASIC/98のプログラムを示す。
F(Z)=tanZ
H(Z,λ)=λ(λF(Z)-1/λF(Z))
LRS=-π,LRE=π
LIS=-π.LIE=π
Zo=0.5 ,Nmax=15 ,T=500
 





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

・1-1画像




・1-2画像




・1-3画像




・1-4画像



・1-5画像




・1-6画像




-------------------------------------
一番上の画像のBASIC/98のプログラムを示す。

10 REM H(Z,λ)=λ(λF(Z)-1/λF(Z))
11 REM F(Z)=tanZ
20 REM 横軸(K):640 dots、縦軸(J):480 dots
30 CHAIN MERGE "C:\BASIC1\PRO\SUBR\KOSHIKI.BAS",70,ALL
70 CHAIN MERGE "C:\BASIC1\PRO\SUBR\ER1.BAS",80,ALL
80 ON ERROR GOTO 50000
90 CONSOLE ,,0,1
100 COLOR 0,7,,,2
110 CLS 3
120 GOSUB 10000
130 OPEN "C:\BASIC1\RUN\DATA.DAT" FOR OUTPUT AS #1
140 OPEN "C:\BASIC1\RUN\親DATA.DAT" FOR OUTPUT AS #2
150 REM 親DATAの設定(随時変更)
160 LRS=-P :LRE=P :LIS=-P :LIE=P
170 DR=(LRE-LRS)/640 :DI=(LIE-LIS)/480
180 WRITE #2,LRS,LRE,LIS,LIE,DR,DI
190 CLOSE #2
200 FOR J=0 TO 480
210 LOCATE 0,0:PRINT J
211 LI=LIS+DI*J
220 FOR K=0 TO 640
230 X=0.5 :Y=0
240 LR=LRS+DR*K
260 FOR N=0 TO 15
270 FR=FNTANR(X,Y)
280 FI=FNTANI(X,Y)
290 A1=LR*FR-LI*FI
300 A2=LI*FR+LR*FI
301 A33=A1^2+A2^2
302 IF A33=0 THEN 490
310 A3=1/A33
320 A4=LR*FR-LI*FI-A3*A1
330 A5=LI*FR-LR*F1+A3*A2
340 HR=LR*A4-LI*A5
350 HI=LR*A5+LI*A4
360 X=HR : Y=HI
390 Q=X^2+Y^2
400 IF Q>500 THEN 440
410 NEXT N
411 C=6:GOTO 470
440 '発散時のPSET
450 C=N MOD 16
460 IF C=7 THEN C=8
461 IF C=6 THEN C=5
470 PSET (K,J),C
480 WRITE #1,K,J,C,N
490 NEXT K
500 NEXT J
510 END



401 巡回式:Z←H(Z,λ):H(Z,λ)=λ(λF(Z)-1/λF(Z)):F(Z)=sinZ 画像

2014-08-10 07:31:43 | 再帰式合成関数画像
λ、Zを複素数とし、λ=LR+iLI , Z=X+iYとする。
今、任意の複素関数:F(Z,λ)として、また複素関数:H(Z,λ)=λ(λF(Z)-1/λF(Z))とする。
ここで、巡回式:Z←H(Z,λ)を考える。

Zの初期値をZ0とする。最大巡回回数をNmaxとする。
この巡回式で、X^2+Y^2>T(実定数)のとき、巡回ループを抜け出すとする。

今、λの複素平面領域:LRS<=LR<=LRE,LIS<=LI<=LIE の各点において、Z←H(Z,λ)を実行する。此のループを貫通した場合、該当点を黄色とする。ループを抜け出した時の巡回回数をNoとして、其の該当点を以下の色とする。C=No mod 16,C=7→8,6→5。

***
下図は以下の条件の画像である。また、画像の下にBASIC/98のプログラムを示す。
F(Z)=sinZ
H(Z,λ)=λ(λF(Z)-1/λF(Z))
LRS=-1.5π,LRE=1.5π
LIS=-π.LIE=π
Zo=0.5 ,Nmax=15 ,T=500






------------------------------------------
・1-1画像



・1-2画像




・1-3画像




・1-4画像




・1-5画像




・1-6画像



・1-7画像



・1-8画像



---------------------------------------------------
一番上の画像において表示範囲の実数部を2倍にした画像。



-------------------------------------------------- 
一番上の画像のBASIC/98のプログラムを示す。

10 REM H(Z,λ)=λ(λF(Z)-1/λF(Z))
11 REM F(Z)=sinZ
20 REM 横軸(K):640 dots、縦軸(J):480 dots
30 CHAIN MERGE "C:\BASIC1\PRO\SUBR\KOSHIKI.BAS",70,ALL
70 CHAIN MERGE "C:\BASIC1\PRO\SUBR\ER1.BAS",80,ALL
80 ON ERROR GOTO 50000
90 CONSOLE ,,0,1
100 COLOR 0,7,,,2
110 CLS 3
120 GOSUB 10000
130 OPEN "C:\BASIC1\RUN\DATA.DAT" FOR OUTPUT AS #1
140 OPEN "C:\BASIC1\RUN\親DATA.DAT" FOR OUTPUT AS #2
150 REM 親DATAの設定(随時変更)
160 LRS=-1.5*P :LRE=1.5*P :LIS=-P :LIE=P
170 DR=(LRE-LRS)/640 :DI=(LIE-LIS)/480
180 WRITE #2,LRS,LRE,LIS,LIE,DR,DI
190 CLOSE #2
200 FOR J=0 TO 480
210 LOCATE 0,0:PRINT J
211 LI=LIS+DI*J
220 FOR K=0 TO 640
230 X=0.5 :Y=0
240 LR=LRS+DR*K
260 FOR N=0 TO 15
270 FR=FNSINR(X,Y)
280 FI=FNSINI(X,Y)
290 A1=LR*FR-LI*FI
300 A2=LI*FR+LR*FI
301 A33=A1^2+A2^2
302 IF A33=0 THEN 490
310 A3=1/A33
320 A4=LR*FR-LI*FI-A3*A1
330 A5=LI*FR-LR*F1+A3*A2
340 HR=LR*A4-LI*A5
350 HI=LR*A5+LI*A4
360 X=HR : Y=HI
390 Q=X^2+Y^2
400 IF Q>500 THEN 440
410 NEXT N
411 C=6:GOTO 470
440 '発散時のPSET
450 C=N MOD 16
460 IF C=7 THEN C=8
461 IF C=6 THEN C=5
470 PSET (K,J),C
480 WRITE #1,K,J,C,N
490 NEXT K
500 NEXT J
510 END



400 巡回式:Z←G(Z,λ):G(Z,λ)=λ(λF(Z)-1/λF(Z)):F(Z)=Z^3画像

2014-08-10 07:08:38 | 再帰式合成関数画像
λ、Zを複素数とし、λ=LR+iLI , Z=X+iYとする。
今、任意の複素関数:F(Z,λ)として、また複素関数:G(Z,λ)=λ(λF(Z)-1/λF(Z))とする。
ここで、巡回式:Z←G(Z,λ)を考える。

Zの初期値をZ0とする。最大巡回回数をNmaxとする。
この巡回式で、X^2+Y^2>T(実定数)のとき、巡回ループを抜け出すとする。

今、λの複素平面領域:LRS<=LR<=LRE,LIS<=LI<=LIE の各点において、Z←G(Z,λ)を実行する。此のループを貫通した場合、該当点を黄色とする。ループを抜け出した時の巡回回数をNoとして、其の該当点を以下の色とする。C=No mod 16,C=7→8,6→5。

***
下図は以下の条件の画像である。また、画像の下にBASIC/98のプログラムを示す。
F(Z)=Z^3
G(Z,λ)=λ(λF(Z)-1/λF(Z))
LRS=018,LRE=0.18
LIS=-0.125.LIE=0.125
Zo=0.5 ,Nmax=15 ,T=500






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

・1-1画像




・1-2画像




------------------------------------
上図:1-1画像の中の2箇所の部分を下図のように選び、それらを拡大する。




-----------------------------------
・1-1-1画像



・1-1-2画像



-------------------------------------------------------- 
一番上の画像のBASIC/98のプログラムを示す。

10 REM H(Z,λ)=λ(λF(Z)-1/λF(Z))
11 REM F(Z)=Z^3
20 REM 横軸(K):640 dots、縦軸(J):480 dots
30 CHAIN MERGE "C:\BASIC1\PRO\SUBR\KOSHIKI.BAS",70,ALL
70 CHAIN MERGE "C:\BASIC1\PRO\SUBR\ER1.BAS",80,ALL
80 ON ERROR GOTO 50000
90 CONSOLE ,,0,1
100 COLOR 0,7,,,2
110 CLS 3
120 GOSUB 10000
130 OPEN "C:\BASIC1\RUN\DATA.DAT" FOR OUTPUT AS #1
140 OPEN "C:\BASIC1\RUN\親DATA.DAT" FOR OUTPUT AS #2
150 REM 親DATAの設定(随時変更)
160 LRS=-0.18 :LRE=0.18 :LIS=-0.125 :LIE=0.125
170 DR=(LRE-LRS)/640 :DI=(LIE-LIS)/480
180 WRITE #2,LRS,LRE,LIS,LIE,DR,DI
190 CLOSE #2
200 FOR J=0 TO 480
210 LOCATE 0,0:PRINT J
211 LI=LIS+DI*J
220 FOR K=0 TO 640
230 X=0.5 :Y=0
240 LR=LRS+DR*K
260 FOR N=1 TO 15
270 FR=FNR3(X,Y)
280 FI=FNI3(X,Y)
290 A1=LR*FR-LI*FI
300 A2=LI*FR+LR*FI
301 A33=A1^2+A2^2
302 IF A33=0 THEN 490
310 A3=1/A33
320 A4=LR*FR-LI*FI-A3*A1
330 A5=LI*FR-LR*F1+A3*A2
340 HR=LR*A4-LI*A5
350 HI=LR*A5+LI*A4
360 X=HR : Y=HI
390 Q=X^2+Y^2
400 IF Q>500 THEN 440
410 NEXT N
411 C=7:GOTO 470
440 '発散時のPSET
450 C=N MOD 16
460 IF C=7 THEN C=8
470 PSET (K,J),C
480 WRITE #1,K,J,C,N
490 NEXT K
500 NEXT J
510 END



399 巡回式:Z←H(Z,λ):H(Z,λ)=λ(λF(Z)-1/λF(Z):F(Z)=Z^2画像

2014-08-10 06:48:40 | 再帰式合成関数画像
λ、Zを複素数とし、λ=LR+iLI , Z=X+iYとする。
今、任意の複素関数:F(Z)として、また複素関数:H(Z,λ)=λ(λF(Z)-1/λF(Z)とする。
ここで、巡回式:Z←H(Z,λ)を考える。

Zの初期値をZ0とする。最大巡回回数をNmaxとする。
この巡回式で、X^2+Y^2>T(実定数)のとき、巡回ループを抜け出すとする。

今、λの複素平面領域:LRS<=LR<=LRE,LIS<=LI<=LIE の各点において、Z←H(Z,λ)を実行する。此のループを貫通した場合、該当点を黄色とする。ループを抜け出した時の巡回回数をNoとして、其の該当点を以下の色とする。C=No mod 16,C=7→8,6→5。

***
下図は以下の条件の画像である。また、画像の下にBASIC/98のプログラムを示す。
F(Z)=Z^2
H(Z,λ)=λ(λF(Z)-1/λF(Z)
LRS=1,LRE=1
LIS=-0.5.LIE=0.5
Zo=0.5 ,Nmax=80 ,T=500






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

・1-1画像



・1-2画像



・1-3画像



・1-4画像



・1-5画像



-----------------------------------------------------
一番上の画像のBASIC/98のプログラムを示す。
 
10 REM H(Z,λ)=λ(λF(Z)-1/λF(Z))
11 REM F(Z)=Z^2
20 REM 横軸(K):640 dots、縦軸(J):480 dots
30 CHAIN MERGE "C:\BASIC1\PRO\SUBR\KOSHIKI.BAS",70,ALL
70 CHAIN MERGE "C:\BASIC1\PRO\SUBR\ER1.BAS",80,ALL
80 ON ERROR GOTO 50000
90 CONSOLE ,,0,1
100 COLOR 0,7,,,2
110 CLS 3
120 GOSUB 10000
130 OPEN "C:\BASIC1\RUN\DATA.DAT" FOR OUTPUT AS #1
140 OPEN "C:\BASIC1\RUN\親DATA.DAT" FOR OUTPUT AS #2
150 REM 親DATAの設定(随時変更)
160 LRS=-1 :LRE=1 :LIS=-0.5 :LIE=0.5
170 DR=(LRE-LRS)/640 :DI=(LIE-LIS)/480
180 WRITE #2,LRS,LRE,LIS,LIE,DR,DI
190 CLOSE #2
200 FOR J=0 TO 480
210 LOCATE 0,0:PRINT J
211 LI=LIS+DI*J
220 FOR K=0 TO 640
230 X=0.5 :Y=0
240 LR=LRS+DR*K
260 FOR N=1 TO 80
270 FR=FNR2(X,Y)
280 FI=FNI2(X,Y)
290 A1=LR*FR-LI*FI
300 A2=LI*FR+LR*FI
301 A33=A1^2+A2^2
302 IF A33=0 THEN 490
310 A3=1/A33
320 A4=LR*FR-LI*FI-A3*A1
330 A5=LI*FR-LR*F1+A3*A2
340 HR=LR*A4-LI*A5
350 HI=LR*A5+LI*A4
360 X=HR : Y=HI
390 Q=X^2+Y^2
400 IF Q>500 THEN 440
410 NEXT N
411 C=7:GOTO 470
440 '発散時のPSET
450 C=N MOD 16
460 IF C=7 THEN C=8
470 PSET (K,J),C
480 WRITE #1,K,J,C,N
490 NEXT K
500 NEXT J
510 END