100 '************************************************************* 110 ' 減衰波形描画ソフト 120 ' Designed by Takuma Tsuji 130 ' date 2010. 7.2 140 '************************************************************* 150 SCREEN 3 : CLS 3 160 X0=50 : Y0=200 :yama=15 170 ZOOM_Y=3 : ZOOM_X=30 :yama=15 180 PI=3.141592653# : RAD=PI/180 : KIZAMI=.01 190 '--------------------------------------------------------------------------------- 200 A=30:'振幅 210 OMEGA=2*PI : '角速度 220 ZETA=.02 : '減衰比 230 '--------------------------------------------------------------------------------- 240 LINE(X0-50,Y0)-(X0+450,Y0) 250 LINE(X0,Y0-150)-(X0,Y0+150) 260 ' 270 '---非減衰描画------------------------------------------------------------------- 280 FOR I=0 TO yama STEP KIZAMI 290 TIME1=I : TIME2=I+KIZAMI 300 Y1=A*ZOOM_Y*COS(OMEGA*TIME1) 310 Y2=A*ZOOM_Y*COS(OMEGA*TIME2) 320 LINE(X0+TIME1*ZOOM_X,Y0-Y1)-(X0+TIME2*ZOOM_X,Y0-Y2) 330 NEXT I 340 '---指数関数描画----------------------------------------------------------------- 350 INPUT "減衰比="; ZETA 360 FOR I=0 TO yama STEP KIZAMI 370 TIME1=I : TIME2=I+KIZAMI 380 Y1=A*ZOOM_Y*EXP(-ZETA*OMEGA*TIME1) 390 Y2=A*ZOOM_Y*EXP(-ZETA*OMEGA*TIME2) 400 LINE(X0+TIME1*ZOOM_X,Y0-Y1)-(X0+TIME2*ZOOM_X,Y0-Y2),2 410 LINE(X0+TIME1*ZOOM_X,Y0+Y1)-(X0+TIME2*ZOOM_X,Y0+Y2),2 420 NEXT I 430 S$="x" 440 S$=INKEY$ : FOR WT=0 TO 10000 :NEXT WT :cls 1 :print "スペースを押せ!” 450 IF S$=" " THEN 460 ELSE GOTO 430 460 '---減衰波形描画----------------------------------------------------------------- 470 FOR I=0 TO yama STEP KIZAMI 480 TIME1=I : TIME2=I+KIZAMI 490 ZOMEGA=SQR(1-ZETA^2)*OMEGA 500 Y1=A*ZOOM_Y*EXP(-1*zeta*omega*TIME1)*COS(ZOMEGA*TIME1) 510 Y2=A*ZOOM_Y*EXP(-1*zeta*omega*TIME2)*COS(ZOMEGA*TIME2) 520 LINE(X0+TIME1*ZOOM_X,Y0-Y1)-(X0+TIME2*ZOOM_X,Y0-Y2),4 530 NEXT I 540 END