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

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

556 任意の始点での関数:f(x)=sin{x^2+sin(3x)の軌跡(その1)

2014-08-25 07:25:09 | 力学サイクル系離散時間位相平面画像
前記事555の軌跡はTmax=100としたが、今回はTmax=100以上にしてみた場合の軌跡を求める。軌跡の形状は始点の位置によって変わるが、関数:f(x)=sin{x^2+sin(3x)の軌跡は下図のような直線状のものが多い(但し、細部は波状で推移している)。

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





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





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





-------------------------
以下のTmax=500の場合の軌跡例である。始点はランダムに選んだ。
































555 任意の始点での関数:f(x)=sin{x^2+sin(3x)の軌跡(その1)

2014-08-25 07:14:03 | 力学サイクル系離散時間位相平面画像
関数をf(x)=sin{x^2+sin(3x)とした場合の、任意の始点 (マウスで指定した赤色の×マークの位置) での軌跡を求める。今回の画像は Tmax=100 とした。

下図から分かるように、前記事の関数f(x)=sin{x+sin(3x)の軌跡画像とは全く異なってくる。また始点の位置によって軌跡の形態も、かなり変わってくる。また少なくともt=100までは軌跡は連続していて、カオス状態にはならない。

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





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





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





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





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







554 Tmaxを増加した場合の軌跡の変化について

2014-08-25 07:05:59 | 力学サイクル系離散時間位相平面画像
前回の記事553においては、Tmax=1000 とした。ここで、Tmaxを増加したら軌跡図はどのように変化するのだろうか。

下図は前記事の画像の一つを、Tmax=1000→10000にした場合の画像である。その結果は前記事の画像で、よく現れる画像パターンになった。







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

では、他の始点での Tmax=10000の画像ではどうだろうか?下図は其の例である。結果は、軌跡図のパターンは今迄によく現れる画像パターンになった。ただ、そのパターンのまま、同一座標を旋回している。

従って、この力学系は安定した軌道に収斂しており、少なくとも Tmax=10000まではカオス状態にはなっていない。





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











553 任意の始点での関数:f(x)=sin{x+sin(3x)の軌跡(その2)

2014-08-25 06:56:25 | 力学サイクル系離散時間位相平面画像
今回の記事の画像は、任意に11個の始点をマウスで与えたときの、各始点の軌跡画像と其の拡大画像を示す。

拡大画像は、見やすくするため画像の中心を表示画面の中央にもってきた画像であり、軌跡の座標には無関係である。しかし、軌跡の形状と軌跡の時間経過が此の画像によって、より詳しく分かる。

但し、此の拡大は倍率:L とは無関係である。L は、T-loopでのX(t)及びY(t)の倍率である。

下図は、t=0,1,2,・・・,1000 での軌跡である。軌跡の図形は始点の如何に関わらず類型的で歪んだ円形もしくは菱形となっている。

この軌跡の図形は、記事240のf(x)=sin{x+sin(3x)の軌跡の濃度図形に現れた図形と一致している。

記事240の濃度図形は、表示座標の全ての始点からの軌跡の総和を表しているから、以下の画像の図形と同様な図形となるのは当然である。

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





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





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





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





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





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





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





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





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





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





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











552 任意の始点での関数:f(x)=sin{x+sin(3x)の軌跡(その1)

2014-08-25 06:41:29 | 力学サイクル系離散時間位相平面画像
力学サイクル系離散的時間位相平面については、記事541に解説しているが、今回は始点をマウスで与えたときの軌跡について調べる。

マウスで与えた始点は赤色の×で示し、軌跡の変化は色で表示している。具体的な説明は下図に書いてある。

今回の画像は点列:{(x(0),y(0)},{(x(1),y(1)}{(x(2),y(2)},・・・,{(x(t),y(t)},・・・{(x(Tmax),y(Tmax)}において、Tmax=1000としている。

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

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







---------------------------------------------------------
画像作成のBASIC/98のプログラム。

1.始点をマウスで与え軌跡画像を求める。また、画像を中央に移動させるための
位置を求めてそのデータを出力する。始点データも出力する。

10 REM 力学系 始点及をマウスで与えて軌跡の表示する。また画像のbias点(C,D)を求める。
20 REM 始点のマウス入力はマウスの左ボタンをクリック。
30 REM parameter→行320
40 REM 横軸(K):480 dots、縦軸(J):480 dots
50 CHAIN MERGE "C:\BASIC1\PRO\SUBR\KOSHIKI.BAS",60,ALL
60 CHAIN MERGE "C:\BASIC1\PRO\SUBR\ER1.BAS",70,ALL
70 CHAIN MERGE "C:\BASIC1\PRO\SUBR\COLOR右上表示.BAS",80,ALL
80 ON ERROR GOTO 50000
90 CONSOLE ,,0,1
100 COLOR 0,7,,,2
110 CLS 3
120 GOSUB 10000
130 LINE (480,0)-(480,480),0
140 LOCATE 61,3:PRINT "関数"
150 LOCATE 61,4:PRINT "f(x)=sin{x+sin(3x)}"
160 LOCATE 61,6:PRINT "Xs=-20,Xe=20"
170 LOCATE 61,7:PRINT "Ys=-20,Ye=20"
180 LOCATE 61,9:PRINT "最大時刻:TMAX=1000"
190 LOCATE 61,11:PRINT "倍率:L=1"
200 LOCATE 61,13:PRINT "画像密度:D=480"
210 LOCATE 61,15:PRINT "離散化定数:H=0.05"
220 '
230 '
240 OPEN "C:\BASIC1\RUN\軌跡DATA1.DAT" FOR OUTPUT AS #1
250 OPEN "C:\BASIC1\RUN\始点DATA1.DAT" FOR OUTPUT AS #2
260 ON MOUSE(2) GOSUB *M1
270 MOUSE (2) ON
280 DO:AA=AA:LOOP
290 *M1
300 A=MOUSE(4,1):B=MOUSE(5,1)
310 '
320 XS=-20:XE=20:YS=-20:YE=20:H=0.05:D=480:L=1:TMAX=1000:V=0
330 DX=(XE-XS)/D:DY=(YE-YS)/D:TT=TMAX/16:T1=INT(TT)
340 JJ=B
350 '
360 YY=YS+DY*JJ:Y0=YY
370 KK=A
380 XX=XS+DX*KK:X0=XX
390 FOR T=0 TO TMAX
400 X=XX:Y=YY
410 XX=X-H*SIN(Y+SIN(3*Y))
420 YY=Y+H*SIN(X+SIN(3*X))
430 XXX=L*XX:YYY=L*YY
440 J=12*YYY+240
450 K=12*XXX+240
460 IF J<0 OR J>480 THEN 540
470 IF K<0 OR K>480 THEN 540
480 '
490 '
500 '
510 GOSUB 830
520 PSET (K,J),CC
530 WRITE #1,K,J,CC
540 NEXT T
550 YY=Y1
560 PSET (A,B),2
570 PSET (A+1,B),2
580 PSET (A+2,B),2
590 PSET (A-1,B),2
600 PSET (A-2,B),2
610 PSET (A,B+1),2
620 PSET (A,B+2),2
630 PSET (A,B-1),2
640 PSET (A,B-2),2
650 LOCATE 61,20:PRINT "始点"
660 LOCATE 61,21:PRINT "x(0)=":LOCATE 66,21:PRINT USING "+##.##";X0
670 LOCATE 61,22:PRINT "y(0)=":LOCATE 66,22:PRINT USING "+##.##";Y0
680 WRITE #2,A,B,X0,Y0
690 GOSUB 3000
691 GOTO 730
710 INPUT "画像のbias点を求めるか(求める)→1";A1
720 IF A1=1 THEN 730 ELSE 810
730 REM 画像のbias点(C,D)を左クリックで求め、BIAS*.DATに出力する。
740 OPEN "C:\BASIC1\RUN\BIAS1.DAT" FOR OUTPUT AS #3
750 ON MOUSE(2) GOSUB *M2
760 MOUSE (2) ON
770 DO:AA=AA:LOOP
780 *M2
790 C=MOUSE(4,1):D=MOUSE(5,1)
800 WRITE #3,C,D
801 PSET (C,D),4
802 PSET (C+1,D),4
803 PSET (C+2,D),4
804 PSET (C-1,D),4
805 PSET (C-2,D),4
806 PSET (C,D+1),4
807 PSET (C,D+2),4
808 PSET (C,D-1),4
809 PSET (C,D-2),4
810 GOSUB 1010
820 CLOSE:LOCATE 0,0:END
830 REM 時刻の色
840 IF T>=0 AND T=TT AND T<2*TT THEN CC=1:GOTO 1000
860 IF T>=2*TT AND T<3*TT THEN CC=2:GOTO 1000
870 IF T>=3*TT AND T<4*TT THEN CC=3:GOTO 1000
880 IF T>=4*TT AND T<5*TT THEN CC=4:GOTO 1000
890 IF T>=5*TT AND T<6*TT THEN CC=5:GOTO 1000
900 IF T>=6*TT AND T<7*TT THEN CC=6:GOTO 1000
910 IF T>=7*TT AND T<8*TT THEN CC=8:GOTO 1000
920 IF T>=8*TT AND T<9*TT THEN CC=7:GOTO 1000
930 IF T>=9*TT AND T<10*TT THEN CC=9:GOTO 1000
940 IF T>=10*TT AND T<11*TT THEN CC=10:GOTO 1000
950 IF T>=11*TT AND T<12*TT THEN CC=11:GOTO 1000
960 IF T>=12*TT AND T<13*TT THEN CC=12:GOTO 1000
970 IF T>=13*TT AND T<14*TT THEN CC=13:GOTO 1000
980 IF T>=14*TT AND T<15*TT THEN CC=14:GOTO 1000
990 IF T>=15*TT AND T<16*TT THEN CC=15:GOTO 1000
1000 RETURN
1010 REM 時刻の表示
1020 LOCATE V,8:PRINT 0;"<=t<";T1;"→C=0"
1030 LOCATE V,9:PRINT T1;"<=t<";2*T1;"→C=1"
1040 LOCATE V,10:PRINT 2*T1;"<=t<";3*T1;"→C=2"
1050 LOCATE V,11:PRINT 3*T1;"<=t<";4*T1;"→C=3"
1060 LOCATE V,12:PRINT 4*T1;"<=t<";5*T1;"→C=4"
1070 LOCATE V,13:PRINT 5*T1;"<=t<";6*T1;"→C=5"
1080 LOCATE V,14:PRINT 6*T1;"<=t<";7*T1;"→C=6"
1090 LOCATE V,15:PRINT 7*T1;"<=t<";8*T1;"→C=8"
1100 LOCATE V,16:PRINT 8*T1;"<=t<";9*T1;"→C=8"
1110 LOCATE V,17:PRINT 9*T1;"<=t<";10*T1;"→C=9"
1120 LOCATE V,18:PRINT 10*T1;"<=t<";11*T1;"→C=10"
1130 LOCATE V,19:PRINT 11*T1;"<=t<";12*T1;"→C=11"
1140 LOCATE V,20:PRINT 12*T1;"<=t<";13*T1;"→C=12"
1150 LOCATE V,21:PRINT 13*T1;"<=t<";14*T1;"→C=13"
1160 LOCATE V,22:PRINT 14*T1;"<=t<";15*T1;"→C=14"
1170 LOCATE V,23:PRINT 15*T1;"<=t<";TMAX;"→C=15"
1180 RETURN
***
2.始点データ及び画像移動位置データを読み込み、軌跡画像を表示座標の
中央に移動させる。また其の画像を任意に拡大表示させる。

0 REM 力学系 始点及びbias点を読込み軌跡の移動表示する
20 REM 始点データ・ファイル名→始点DATA*.DAT (A,B,XX,YY)
21 REM bias点データ・ファイル名→BIAS*.DAT
30 REM parameter→行310
40 REM 横軸(K):480 dots、縦軸(J):480 dots
50 CHAIN MERGE "C:BASIC1PROSUBRKOSHIKI.BAS",60,ALL
60 CHAIN MERGE "C:BASIC1PROSUBRER1.BAS",70,ALL
70 CHAIN MERGE "C:BASIC1PROSUBRCOLOR右上表示.BAS",80,ALL
80 ON ERROR GOTO 50000
90 CONSOLE ,,0,1
100 COLOR 0,7,,,2
110 CLS 3
120 GOSUB 10000
130 LINE (480,0)-(480,480),0
140 LOCATE 61,3:PRINT "関数"
150 LOCATE 61,4:PRINT "f(x)=sin{x+sin(3x)}"
160 LOCATE 61,6:PRINT "Xs=-20,Xe=20"
170 LOCATE 61,7:PRINT "Ys=-20,Ye=20"
180 LOCATE 61,9:PRINT "最大時刻:TMAX=1000"
190 LOCATE 61,11:PRINT "倍率:L=2"
200 LOCATE 61,13:PRINT "画像密度:D=480"
210 LOCATE 61,15:PRINT "離散化定数:H=0.05"
220 LOCATE 61,17:PRINT "画像の拡大率:LL=3"
230 '
240 OPEN "C:BASIC1RUN軌跡DATA1.DAT" FOR OUTPUT AS #1
241 OPEN "C:BASIC1RUN始点DATA1.DAT" FOR INPUT AS #2
242 INPUT #2,A,B,X0,Y0
300 OPEN "C:BASIC1RUNBIAS1.DAT" FOR INPUT AS #3
301 INPUT #3,C,DA
310 XS=-20:XE=20:YS=-20:YE=20:H=0.05:D=480:L=1:TMAX=1000:V=0:LL=3
320 DX=(XE-XS)/D:DY=(YE-YS)/D:TT=TMAX/16:T1=INT(TT)
330 JJ=B
340 '
350 YY=YS+DY*JJ:Y1=YY
360 KK=A
370 XX=XS+DX*KK
380 FOR T=0 TO TMAX
390 X=XX:Y=YY
400 XX=X-H*SIN(Y+SIN(3*Y))
410 YY=Y+H*SIN(X+SIN(3*X))
420 XXX=L*XX:YYY=L*YY
430 J=12*YYY+240
440 K=12*XXX+240
441 JJ=LL*(J-DA)+240
442 KK=LL*(K-C)+240
450 IF JJ<0 OR JJ>480 THEN 530
460 IF KK<0 OR KK>480 THEN 530
470 '
480 '
490 '
500 GOSUB 670
510 PSET (KK,JJ),CC
520 WRITE #1,KK,JJ,CC
530 NEXT T
540 YY=Y1
550 PSET (A,B),2
560 PSET (A+1,B),2
570 PSET (A+2,B),2
580 PSET (A-1,B),2
590 PSET (A-2,B),2
600 PSET (A,B+1),2
610 PSET (A,B+2),2
620 PSET (A,B-1),2
630 PSET (A,B-2),2
631 LOCATE 61,20:PRINT "始点"
632 LOCATE 61,21:PRINT "x(0)=":LOCATE 66,21:PRINT USING "+##.##";X0
633 LOCATE 61,22:PRINT "y(0)=":LOCATE 66,22:PRINT USING "+##.##";Y0
650 GOSUB 3000
651 GOSUB 850
652 CLOSE
653 LOCATE 0,0
660 END
670 REM 軌跡の色
680 IF T>=0 AND T=TT AND T<2*TT THEN CC=1:GOTO 840
700 IF T>=2*TT AND T<3*TT THEN CC=2:GOTO 840
710 IF T>=3*TT AND T<4*TT THEN CC=3:GOTO 840
720 IF T>=4*TT AND T<5*TT THEN CC=4:GOTO 840
730 IF T>=5*TT AND T<6*TT THEN CC=5:GOTO 840
740 IF T>=6*TT AND T<7*TT THEN CC=6:GOTO 840
750 IF T>=7*TT AND T<8*TT THEN CC=8:GOTO 840
760 IF T>=8*TT AND T<9*TT THEN CC=7:GOTO 840
770 IF T>=9*TT AND T<10*TT THEN CC=9:GOTO 840
780 IF T>=10*TT AND T<11*TT THEN CC=10:GOTO 840
790 IF T>=11*TT AND T<12*TT THEN CC=11:GOTO 840
800 IF T>=12*TT AND T<13*TT THEN CC=12:GOTO 840
810 IF T>=13*TT AND T<14*TT THEN CC=13:GOTO 840
820 IF T>=14*TT AND T<15*TT THEN CC=14:GOTO 840
830 IF T>=15*TT AND T<16*TT THEN CC=15:GOTO 840
840 RETURN
850 REM 時刻の表示
860 LOCATE V,8:PRINT 0;"<=t<";T1;"→C=0"
870 LOCATE V,9:PRINT T1;"<=t<";2*T1;"→C=1"
880 LOCATE V,10:PRINT 2*T1;"<=t<";3*T1;"→C=2"
890 LOCATE V,11:PRINT 3*T1;"<=t<";4*T1;"→C=3"
900 LOCATE V,12:PRINT 4*T1;"<=t<";5*T1;"→C=4"
910 LOCATE V,13:PRINT 5*T1;"<=t<";6*T1;"→C=5"
920 LOCATE V,14:PRINT 6*T1;"<=t<";7*T1;"→C=6"
930 LOCATE V,15:PRINT 7*T1;"<=t<";8*T1;"→C=8"
940 LOCATE V,16:PRINT 8*T1;"<=t<";9*T1;"→C=8"
950 LOCATE V,17:PRINT 9*T1;"<=t<";10*T1;"→C=9"
960 LOCATE V,18:PRINT 10*T1;"<=t<";11*T1;"→C=10"
970 LOCATE V,19:PRINT 11*T1;"<=t<";12*T1;"→C=11"
980 LOCATE V,20:PRINT 12*T1;"<=t<";13*T1;"→C=12"
990 LOCATE V,21:PRINT 13*T1;"<=t<";14*T1;"→C=13"
1000 LOCATE V,22:PRINT 14*T1;"<=t<";15*T1;"→C=14"
1010 LOCATE V,23:PRINT 15*T1;"<=t<";TMAX;"→C=15"
1011 RETURN
***
3.表示座標の中央に移動した軌跡画像を線で表示させる。

10 REM 力学系 始点及びbias点を読込み軌跡の移動表示する→表示を線化
20 REM 始点データ・ファイル名→始点DATA*.DAT (A,B,XX,YY)
21 REM bias点データ・ファイル名→BIAS*.DAT
30 REM parameter→行310
40 REM 横軸(K):480 dots、縦軸(J):480 dots
50 CHAIN MERGE "C:BASIC1PROSUBRKOSHIKI.BAS",60,ALL
60 CHAIN MERGE "C:BASIC1PROSUBRER1.BAS",70,ALL
70 CHAIN MERGE "C:BASIC1PROSUBRCOLOR右上表示.BAS",80,ALL
80 ON ERROR GOTO 50000
90 CONSOLE ,,0,1
100 COLOR 0,7,,,2
110 CLS 3
120 GOSUB 10000
130 LINE (480,0)-(480,480),0
140 LOCATE 61,3:PRINT "関数"
150 LOCATE 61,4:PRINT "f(x)=sin{x+sin(3x)}"
160 LOCATE 61,6:PRINT "Xs=-20,Xe=20"
170 LOCATE 61,7:PRINT "Ys=-20,Ye=20"
180 LOCATE 61,9:PRINT "最大時刻:TMAX=1000"
190 LOCATE 61,11:PRINT "倍率:L=1"
200 LOCATE 61,13:PRINT "画像密度:D=480"
210 LOCATE 61,15:PRINT "離散化定数:H=0.05"
220 LOCATE 61,17:PRINT "画像の拡大率:LL=5"
230 '
240 OPEN "C:BASIC1RUN軌跡DATA1.DAT" FOR OUTPUT AS #1
241 OPEN "C:BASIC1RUN始点DATA1.DAT" FOR INPUT AS #2
242 INPUT #2,A,B,X0,Y0
300 OPEN "C:BASIC1RUNBIAS1.DAT" FOR INPUT AS #3
301 INPUT #3,C,DA
310 XS=-20:XE=20:YS=-20:YE=20:H=0.05:D=480:L=1:TMAX=1000:T1=INT(TMAX/16):V=0:LL=5
320 DX=(XE-XS)/D:DY=(YE-YS)/D:TT=TMAX/16:T1=INT(TT)
330 JJ=B
340 '
350 YY=YS+DY*JJ:Y1=YY
360 KK=A
370 XX=XS+DX*KK
380 FOR T=0 TO TMAX
390 X=XX:Y=YY
400 XX=X-H*SIN(Y+SIN(3*Y))
410 YY=Y+H*SIN(X+SIN(3*X))
420 XXX=L*XX:YYY=L*YY
430 J=12*YYY+240
440 K=12*XXX+240
441 JJ=LL*(J-DA)+240
442 KK=LL*(K-C)+240
450 IF JJ<0 OR JJ>480 THEN 530
460 IF KK<0 OR KK>480 THEN 530
470 GOSUB 670
480 REM 軌跡の線化
490 S=T MOD 2
491 IF S=0 THEN 492 ELSE 494
492 E0=KK:F0=JJ
493 GOTO 495
494 E1=KK:F1=JJ
495 IF S=1 THEN 498 ELSE 496
496 IF T=0 OR T=TMAX THEN 500 ELSE 497
497 LINE (E1,F1)-(E0,F0),CC :GOTO 500
498 LINE (E0,F0)-(E1,F1),CC
500 '
510 PSET (KK,JJ),CC
520 WRITE #1,KK,JJ,CC
530 NEXT T
540 YY=Y1
550 PSET (A,B),2
560 PSET (A+1,B),2
570 PSET (A+2,B),2
580 PSET (A-1,B),2
590 PSET (A-2,B),2
600 PSET (A,B+1),2
610 PSET (A,B+2),2
620 PSET (A,B-1),2
630 PSET (A,B-2),2
631 LOCATE 61,20:PRINT "始点"
632 LOCATE 61,21:PRINT "x(0)=":LOCATE 66,21:PRINT USING "+##.##";X0
633 LOCATE 61,22:PRINT "y(0)=":LOCATE 66,22:PRINT USING "+##.##";Y0
650 GOSUB 3000
651 '
652 CLOSE
653 LOCATE 0,0
660 END
670 REM 軌跡の色
680 IF T>=0 AND T=TT AND T<2*TT THEN CC=1:GOTO 840
700 IF T>=2*TT AND T<3*TT THEN CC=2:GOTO 840
710 IF T>=3*TT AND T<4*TT THEN CC=3:GOTO 840
720 IF T>=4*TT AND T<5*TT THEN CC=4:GOTO 840
730 IF T>=5*TT AND T<6*TT THEN CC=5:GOTO 840
740 IF T>=6*TT AND T<7*TT THEN CC=6:GOTO 840
750 IF T>=7*TT AND T<8*TT THEN CC=8:GOTO 840
760 IF T>=8*TT AND T<9*TT THEN CC=8:GOTO 840
770 IF T>=9*TT AND T<10*TT THEN CC=9:GOTO 840
780 IF T>=10*TT AND T<11*TT THEN CC=10:GOTO 840
790 IF T>=11*TT AND T<12*TT THEN CC=11:GOTO 840
800 IF T>=12*TT AND T<13*TT THEN CC=12:GOTO 840
810 IF T>=13*TT AND T<14*TT THEN CC=13:GOTO 840
820 IF T>=14*TT AND T<15*TT THEN CC=14:GOTO 840
830 IF T>=15*TT AND T<16*TT THEN CC=15:GOTO 840
840 RETURN
850 REM 時刻の表示
860 LOCATE V,8:PRINT 0;"<=t<";T1;"→C=0"
870 LOCATE V,9:PRINT T1;"<=t<";2*T1;"→C=1"
880 LOCATE V,10:PRINT 2*T1;"<=t<";3*T1;"→C=2"
890 LOCATE V,11:PRINT 3*T1;"<=t<";4*T1;"→C=3"
900 LOCATE V,12:PRINT 4*T1;"<=t<";5*T1;"→C=4"
910 LOCATE V,13:PRINT 5*T1;"<=t<";6*T1;"→C=5"
920 LOCATE V,14:PRINT 6*T1;"<=t<";7*T1;"→C=6"
930 LOCATE V,15:PRINT 7*T1;"<=t<";8*T1;"→C=8"
940 LOCATE V,16:PRINT 8*T1;"<=t<";9*T1;"→C=8"
950 LOCATE V,17:PRINT 9*T1;"<=t<";10*T1;"→C=9"
960 LOCATE V,18:PRINT 10*T1;"<=t<";11*T1;"→C=10"
970 LOCATE V,19:PRINT 11*T1;"<=t<";12*T1;"→C=11"
980 LOCATE V,20:PRINT 12*T1;"<=t<";13*T1;"→C=12"
990 LOCATE V,21:PRINT 13*T1;"<=t<";14*T1;"→C=13"
1000 LOCATE V,22:PRINT 14*T1;"<=t<";15*T1;"→C=14"
1010 LOCATE V,23:PRINT 15*T1;"<=t<";TMAX;"→C=15"
1011 RETURN

551 関数をf(x)=sin{x^2+tan(3x)}に変えた画像(その2)

2014-08-24 11:39:32 | 力学サイクル系離散時間位相平面画像
画像の関数は、f(x)=sin{x^2+tan(3x)}の場合、D=300, Tmax=300, H=0.05 としてLを変化(L=1,2,3,4,5)させた場合の画像を示す。
***
位相平面の各座標の軌跡通過数を m としたとき、

色:C=log(m) mod 16 の場合と
色:C=m mod 16 の場合を比較する。

画像のlog化については記事543を参照。

C=log(m) mod 16 の場合については、
m=e^C だから、、
C=0(黒)ならば m=e^0.5=1
C=1(青)ならば m=e^0.5~1.5=1~4
C=2(赤)ならば m=e^1.5~2.5=4~12
C=3(橙)ならば m=e^2.5~3.5=12~33
C=4(緑)ならば m=e^3.5~4.5=33~90
C=5(青)ならば m=e^4.5~5.5=90~247
C=6(黄)ならば m=e^5.5~6.5=247~665
C=8(灰)ならば m=e^6.5~8.5=665~4915
となる。但し、m=0 の場合は白としている。

C=m mod 16 の場合については、下図の場合は C=m としてよい。

***

Lは表示画像平面の中心点を固定したときの倍率である。
Lを大にするほど、点(x(t),y(t))の軌跡は大となり、従って表示画像範囲内外を、より広く飛び回り且つTmaxは有限のため其の結果として表示座標での m は相対的に小さくなり、画像濃度は減少する。従って、L を大にする即ち画像を拡大した場合、画像の構造は保持されるが濃度の色自体は変化する。

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





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





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





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





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










550 関数をf(x)=sin{x^2+tan(3x)}に変えた画像(その1)

2014-08-24 09:35:58 | 力学サイクル系離散時間位相平面画像
今迄の画像の関数は、f(x)=sin{x+sin(3x)}だったが此れをf(x)=sin{x^2+sin(3x)}に変えた画像が下図である。これらの画像の詳細は記事541を参照。

関数以外の画像作成条件、Xs=-6,Xe=6,Ys=6,Ye=6, H=0.05 とし、たのパラメーターは適宜
変えている。
***
以下の画像は今迄の画像同様に、点(x(t),y(t))の軌跡の各座標点の通過回数を色で表現している。即ち位相平面の各座標の軌跡通過数を m としたとき、

色:C=log(m) mod 16

で表示する。その理由については前記事543を参照。

m=e^C だから、
C=0(黒)ならば m=e^0.5=1
C=1(青)ならば m=e^0.5~1.5=1~4
C=2(赤)ならば m=e^1.5~2.5=4~12
C=3(橙)ならば m=e^2.5~3.5=12~33
C=4(緑)ならば m=e^3.5~4.5=33~90
C=5(青)ならば m=e^4.5~5.5=90~247
C=6(黄)ならば m=e^5.5~6.5=247~665
C=8(灰)ならば m=e^6.5~8.5=665~4915
となる。但し、m=0 の場合は白としている。

-------------------------------------------------
・Tmax=50の場合







--------------------------------------------------
・Tmax=100の場合







----------------------------------------------------
・D=50のその他の場合








549 関数をf(x)=sin{x^2+sin(3x)}に変えた画像(その2)

2014-08-24 09:25:58 | 力学サイクル系離散時間位相平面画像
画像の関数は、f(x)=sin{x^2+sin(3x)}の場合、D=300, Tmax=300, H=0.1 として、Lを変化(L=1,2,3,4,5)させた場合の画像を示す。
***
位相平面の各座標の軌跡通過数を m としたとき、

色:C=log(m) mod 16

で表示する。その理由については前記事543を参照。

m=e^C だから、
C=0(黒)ならば m=e^0.5=1
C=1(青)ならば m=e^0.5~1.5=1~4
C=2(赤)ならば m=e^1.5~2.5=4~12
C=3(橙)ならば m=e^2.5~3.5=12~33
C=4(緑)ならば m=e^3.5~4.5=33~90
C=5(青)ならば m=e^4.5~5.5=90~247
C=6(黄)ならば m=e^5.5~6.5=247~665
C=8(灰)ならば m=e^6.5~8.5=665~4915
となる。但し、m=0 の場合は白としている。

Lは表示画像平面の中心点を固定したときの倍率である。
Lを大にするほど、点(x(t),y(t))の軌跡は大となり、従って表示画像範囲内外を、より広く飛び回り且つTmaxは有限のため其の結果として表示座標での m は相対的に小さくなり、画像濃度は減少する。従って、L を大にする即ち画像を拡大した場合、画像の構造は保持されるが濃度の色自体は変化する。
















548 関数をf(x)=sin{x^2+sin(3x)}に変えた画像(その1)

2014-08-24 09:19:14 | 力学サイクル系離散時間位相平面画像
今迄の画像の関数は、f(x)=sin{x+sin(3x)}だったが此れをf(x)=sin{x^2+sin(3x)}に変えた画像が下図である。これらの画像の詳細は記事541を参照。

関数以外の画像作成条件は今迄(記事541~記事547)と全て同じである。

画像が全く変わってしまうが、表示画面の中央(点(0,0))付近の画像構造は今迄の画像と似ている。
***
位相平面の各座標の軌跡通過数を m としたとき、

色:C=log(m) mod 16

で表示する。その理由については前記事543を参照。

m=e^C だから、
C=0(黒)ならば m=e^0.5=1
C=1(青)ならば m=e^0.5~1.5=1~4
C=2(赤)ならば m=e^1.5~2.5=4~12
C=3(橙)ならば m=e^2.5~3.5=12~33
C=4(緑)ならば m=e^3.5~4.5=33~90
C=5(青)ならば m=e^4.5~5.5=90~247
C=6(黄)ならば m=e^5.5~6.5=247~665
C=8(灰)ならば m=e^6.5~8.5=665~4915
となる。但し、m=0 の場合は白としている。

--------------------------------------------------
・D=50,L=1,H=0.1の場合







---------------------------------------------------
・D=100,L=1,H=0.1の場合 







---------------------------------------------------
・D=300,L=1,H=0.1の場合





 







547 D=300,Tmax=500にてLを変えた場合の軌跡通過点の濃度

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

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

m=e^C だから、
C=0(黒)ならば m=e^0.5=1
C=1(青)ならば m=e^0.5~1.5=1~4
C=2(赤)ならば m=e^1.5~2.5=4~12
C=3(橙)ならば m=e^2.5~3.5=12~33
C=4(緑)ならば m=e^3.5~4.5=33~90
C=5(青)ならば m=e^4.5~5.5=90~247
C=6(黄)ならば m=e^5.5~6.5=247~665
C=8(灰)ならば m=e^6.5~8.5=665~4915
となる。但し、m=0 の場合は白としている。

Lは表示画像平面の中心点を固定したときの倍率である。
Lを大にするほど、点(x(t),y(t))の軌跡は大となり、従って表示画像範囲内外を、より広く飛び回り且つTmaxは有限のため其の結果として表示座標での m は相対的に小さくなり、画像濃度は減少する。従って、L を大にする即ち画像を拡大した場合、画像の構造は保持されるが濃度の色自体は変化する。

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
















546 D=100,Tmax=100にてLを変えた場合の軌跡通過点の濃度

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

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

Lは表示画像平面の中心点を固定したときの倍率である。

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
















545  Tmaxを変えた場合の軌跡通過点の濃度分布画像(その4)

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

下図は、D=500,L=1,H=0.1の場合のTmax=100とTmax=500の画像であり、濃度表示を以下にしたときの画像の比較である。

位相平面の各座標の軌跡通過数を m としたとき、

色:C=log(m) mod 16

で表示する。その理由については記事543を参照。

m=e^C だから、
C=0(黒)ならば m=e^0.5=1
C=1(青)ならば m=e^0.5~1.5=1~4
C=2(赤)ならば m=e^1.5~2.5=4~12
C=3(橙)ならば m=e^2.5~3.5=12~33
C=4(緑)ならば m=e^3.5~4.5=33~90
C=5(青)ならば m=e^4.5~5.5=90~247
C=6(黄)ならば m=e^5.5~6.5=247~665
C=8(灰)ならば m=e^6.5~8.5=665~4915

となる。但し、m=0 の場合は白としている。

・Tmax=100の場合




上図のlog図から分かるように点(x(t),y(t))の軌跡の分布は整然とした『蜂の巣』状となっていて、軌跡の分布も一様であり、その濃度が最大となるのは『蜂の巣』の内外の『枠』の部分であり、黄色であるからm=247~665であることが分かる。

***
・Tmax=500の場合。



上図のlog図から分かるように点(x(t),y(t))の軌跡の分布は整然とした『蜂の巣』状となっていて、軌跡の分布も一様であり、その濃度が最大となるのは『蜂の巣』の外側の菱形状の『枠』部分であり、灰色であるからm=665~4915であることが分かる





544 Tmaxを変えた場合の軌跡通過点の濃度分布画像(その3)

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


下図は、D=300,L=1,H=0.1の場合のTmax=100とTmax=500の画像であり、濃度表示を以下にしたときの画像の比較である。

位相平面の各座標の軌跡通過数を m としたとき、

色:C=log(m) mod 16

で表示する。その理由については前記事543を参照。

m=e^C だから、アルバム500の17より、
C=0(黒)ならば m=e^0.5=1
C=1(青)ならば m=e^0.5~1.5=1~4
C=2(赤)ならば m=e^1.5~2.5=4~12
C=3(橙)ならば m=e^2.5~3.5=12~33
C=4(緑)ならば m=e^3.5~4.5=33~90
C=5(青)ならば m=e^4.5~5.5=90~247
C=6(黄)ならば m=e^5.5~6.5=247~665
C=8(灰)ならば m=e^6.5~8.5=665~4915

となる。但し、m=0 の場合は白としている。

・Tmax=100の場合



上図のlog図から分かるように点(x(t),y(t))の軌跡の分布は整然とした『蜂の巣』状となっていて、軌跡の分布も一様であり、その濃度が最大となるのは『蜂の巣』の『枠』部分であり、緑色であるからm=33~90であることが分かる。

--------------------------------
・Tmax=500の場合。



上図のlog図から分かるように点(x(t),y(t))の軌跡の分布は整然とした『蜂の巣』状となっていて、軌跡の分布も一様であり、その濃度が最大となるのは『蜂の巣』の外側部分であり、黄色であるからm=247~665であることが分かる。

543 Tmaxを変えた場合の軌跡通過点の濃度分布画像(その2)

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

下図は、D=200,L=1,H=0.1の場合のTmax=100とTmax=500の画像であり、濃度表示を以下にしたときの画像の比較である。

位相平面の各座標の軌跡通過数を m としたとき、

(a)色:C=m mod 16
(b)色:C=log(m) mod 16

を比較する。

(a)の場合の m は色コード:Cの順序どおりになる。
但し、m=0の場合はプログラムで白としており、C=7(白)の場合は C=8(灰)としている。
mod を使用しているから、m は16進で変化する。

(b)の場合はm=e^C だから、
C=0(黒)ならば m=e^0.5=1
C=1(青)ならば m=e^0.5~1.5=1~4
C=2(赤)ならば m=e^1.5~2.5=4~12
C=3(橙)ならば m=e^2.5~3.5=12~33
C=4(緑)ならば m=e^3.5~4.5=33~90
C=5(青)ならば m=e^4.5~5.5=90~247
C=6(黄)ならば m=e^5.5~6.5=247~665
C=8(灰)ならば m=e^6.5~8.5=665~4915

となる。但し、m=0 の場合は白としている。

以下に示す(b)の画像の色から分かるように、m は 16 以上となっており、C=0~15が16進で表示されるため結果として画像の色が混濁してしまい、画像の色構造が不鮮明となってしまっている。

(b)の画像では、log 効果により色が整理され、その結果、画像の色構造(即ち、軌跡の通過濃度分布構造)が判然としてくる。

以下に(a)(b)を対比した画像を示す。
***

Tmax=100の場合。上図が(a)、下図が(b)である。





上図のlog図から分かるように点(x(t),y(t))の軌跡の分布は整然とした『蜂の巣』状となっていて、軌跡の分布も一様であり、その濃度が最大となるのは『蜂の巣』の『枠』部分であり、緑色であるからm=33~90であることが分かる。

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

Tmax=500の場合。上図が(a)、下図が(b)である。





上図のlog図から分かるように点(x(t),y(t))の軌跡の分布は整然とした『蜂の巣』状となっていて、軌跡の分布も一様であり、その濃度が最大となるのは『蜂の巣』の『枠』部分の一部であり、黄色であるからm=247~665であることが分かる

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