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

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

542 Tmaxを変えた場合の軌跡通過点の濃度:その1

2014-08-24 08:26:33 | 力学サイクル系離散時間位相平面画像
此の記事の画像の説明及び各パラメーターの説明は記事541参照。

点(x(t),y(t)は与えられた初期値x(0),y(0)が与えられたとき、t の推移に従って位相平面に軌跡を描く。軌跡の時間変化はダイナミックに変化する。その様子自体をアニメーション化すれば此の画像の面白さも倍増するだろう。

軌跡の形態は以下の画像から分かるように同一の格子(or蜂の巣)状模様となっている。

下図は、D=50,H=0.1の場合、Tmaxを変えた場合の位相平面の軌跡の濃度画像である。軌跡が位相平面の座標点(X,Y)を通過した数をm回としたとき、BASIC/98のカラーコードを C として、C=m mod 16で色表示している。但し、m=0ならば白としている。また、m<16 だから C=m としてよい。Cの色より、各座標点のmが分かる。

Tmaxが大きくなれば当然、点(x(t),y(t))は同一座標を通過する確率は大となるから、画像全体が C の大の色へと推移する。しかし、Tmax=100と500の画像を比較すれば、その変化は判然とするが、100→200→300→400→500での各間での変化は、よく見ないと分からない。

Tmax=500の場合、『蜂の巣』形状の『枠』で m が最大となっており、其処は緑色だからm=4だと分かる。即ち、点(x(t),y(t))の軌跡は『蜂の巣』の『枠』を頻繁に通過していることが分かる。

この画像作成のBASIC/98のプログラム例を最後に書いておく。











---------------------------------------------
画像作成のBASIC/98のプログラムを以下に示す。

10 REM 力学系 軌跡の濃度分布用
20 REM parameter→行140
30 REM 横軸(K):640 dots、縦軸(J):480 dots
40 CHAIN MERGE "C:\BASIC1\PRO\SUBR\KOSHIKI.BAS",50,ALL
50 CHAIN MERGE "C:\BASIC1\PRO\SUBR\ER1.BAS",60,ALL
60 CHAIN MERGE "C:\BASIC1\PRO\SUBR\COLOR右上表示.BAS",70,ALL
70 ON ERROR GOTO 50000
80 CONSOLE ,,0,1
90 COLOR 0,7,,,2
100 CLS 3
110 GOSUB 10000
120 LOCATE 61,3:PRINT "関数"
121 LOCATE 61,4:PRINT "f(x)=sin{x+sin(3x)}"
122 LOCATE 61,6:PRINT "Xs=-20,Xe=20"
130 LOCATE 61,7:PRINT "Ys=-20,Ye=20"
140 LOCATE 61,9:PRINT "最大時刻:TMAX=500"
150 LOCATE 61,11:PRINT "倍率:L=1"
160 LOCATE 61,13:PRINT "画像密度:D=50"
170 LOCATE 61,15:PRINT "離散化定数:H=0.1"
180 LOCATE 61,17:PRINT "色:C=log(m) mod 16"
181 LOCATE 61,18:PRINT "但し、C=7→8"
190 OPEN "C:\BASIC1\RUN\DATA1.DAT" FOR OUTPUT AS #1
210 DIM Z(480,480)
220 XS=-20:XE=20:YS=-20:YE=20:H=0.1:D=50:L=1:TMAX=500
230 DX=(XE-XS)/D:DY=(YE-YS)/D
270 FOR JJ=0 TO D
280 LOCATE 65,0:PRINT JJ
290 YY=YS+DY*JJ:Y1=YY
300 FOR KK=0 TO D
310 XX=XS+DX*KK
320 FOR T=0 TO TMAX
330 X=XX:Y=YY
340 XX=X-H*SIN(Y+SIN(3*Y))
350 YY=Y+H*SIN(X+SIN(3*X))
360 XXX=L*XX:YYY=L*YY
370 J=12*YYY+240
380 K=12*XXX+240
390 IF J<0 OR J>480 THEN 470
400 IF K<0 OR K>480 THEN 470
410 Z(K,J)=Z(K,J)+1
420 IF Z(K,J)=0 THEN 470
430 CC=Z(K,J) MOD 16
440 IF CC>6.5 AND CC<7.5 THEN CC=8
450 PSET (K,J),CC
460 WRITE #1,K,J,Z(K,J)
470 NEXT T
471 YY=Y1
480 NEXT KK
490 NEXT JJ
500 GOSUB 3000
510 END




最新の画像もっと見る