10000 INIT 10010 TEXTMODE 2 10020 RANDOMIZE 10030 FOGSET 9999999,10000000 10040 FOR X=0 TO 8 10050 FOR Y=0 TO 6 10060 I=X+Y*11+1 10070 MODSET I,INT(RND*3)+1,INT(RND*10)+1 10080 MODPOS I,X*50-200,Y*50-150,(MOD(I+2,3)-1)*100 10090 MODDISP I 10100 NEXT Y 10110 NEXT X 10120 N=8+6*11+1 10130 LENS,L=512 10140 DIST,D=400 10150 K=D/L 10160 !****************************************** 10170 DO 10180 DO WHILE LENS<10000 10190 LENS=MIN(10000,LENS*1.01) 10200 CALL CAMERA 10210 CALL MOD_ROT 10220 LOOP 10230 DO WHILE LENS>100 10240 LENS=MAX(100,LENS*0.99) 10250 CALL CAMERA 10260 CALL MOD_ROT 10270 LOOP 10280 LOOP 10290 !****************************************** 10300 SUB CAMERA 10310 DIST=LENS*K 10320 LOCATE 0,0 10330 PRINT "LENS:";LENS 10340 PRINT "DIST:";DIST 10350 CAMLENS 1,LENS 10360 A=A+0.31 10370 IF A>360 THEN A=A-360 10380 B=RAD(A) 10390 CAMROT 1,0,B,0 10400 CAMPOS 1,DIST*SIN(B),0,-DIST*COS(B) 10410 END SUB 10420 !****************************************** 10430 SUB MOD_ROT 10440 R=MOD(R+1,360) 10450 T=RAD(R) 10460 FOR I=1 TO N 10470 MODROT I,T,T,T 10480 NEXT I 10490 FSYNC 1 10500 END SUB