100 INIT 110 TEXTMODE 2 120 MODSET 1,7,4 130 MODDISP 1 140 MODSET 2,3,1 150 MODPOS 2,0,50,0 160 MODDISP 2 170 R=100 180 DO 190 CALL CAMERA_MOVE(R) 200 MODPOS 1,X,Y,Z 210 MODROT 1,RAD(RX),RAD(RY),RAD(RZ) 220 CAMPOS 1,CX,CY,CZ 230 CAMROT 1,RAD(CRX),RAD(CRY),RAD(CRZ) 240 IF PAD(1,1)>4 THEN RY=MOD(RY+2,360) 250 IF PAD(1,2)>4 THEN RY=MOD(RY-2,360) 260 IF PAD(1,3)>4 THEN RX=MOD(RX+2,360) 270 IF PAD(1,4)>4 THEN RX=MOD(RX-2,360) 280 IF PAD(1,9)>4 THEN RZ=MOD(RZ+2,360) 290 IF PAD(1,10)>4 THEN RZ=MOD(RZ-2,360) 300 IF PAD(1,6)>4 THEN 310 X=X-COS(RAD(RX))*SIN(RAD(RY)) 320 Y=Y+SIN(RAD(RX)) 330 Z=Z-COS(RAD(RX))*COS(RAD(RY)) 340 END IF 350 IF PAD(1,7)>4 THEN 360 X=X+COS(RAD(RX))*SIN(RAD(RY)) 370 Y=Y-SIN(RAD(RX)) 380 Z=Z+COS(RAD(RX))*COS(RAD(RY)) 390 END IF 400 FSYNC 1 410 LOOP 420 ! 430 ! カメラの位置と角度を求めませう 440 SUB CAMERA_MOVE(R) 450 CRX= RX 460 CRY=-MOD(RY+180,360) 470 CRZ= RZ 480 CX=X+R*COS(RAD(RX))*SIN(RAD(RY)) 490 CY=Y-R*SIN(RAD(RX)) 500 CZ=Z+R*COS(RAD(RX))*COS(RAD(RY)) 510 END SUB