LOGICAL B1,B2,B3,B4,B5,B6,B7,B8,B9,B10 DIMENSION PTS(6,50) DIMENSION FILE(2) COMMON/EYCEP/EYE(3),CEN(3),UP(3) COMMON/PULDAT/N COMMON/BULK/I3STRT,I3END,OBJ(6,75) COMMON/PAINT/I2STRT,I2END,PIC(4,75) COMMON/OIL/IVECT(300) COMMON/LIMITS/XMIN,XMAX,YMIN,YMAX DATA FILE(1),FILE(2)/4HCUBO,4H SRC/ DATA ENFOR,EN2,EN3/5H(1X,2,5HHN=,I,2H4)/ DATA IDS,IDL/2,1/ CALL CLEAR(.TRUE.) CALL BUTTON(1) I3STRT=1 I3END=33 XMIN=-5.0 XMAX=5.0 YMIN=-5.0 YMAX=5.0 CALL SEEK (1,FILE) READ(1,501)((OBJ(I,J),I=1,6),J=1,33) 501 FORMAT (6F5.1) EYE(1)=0.0 EYE(2)=0.0 EYE(3)=10.0 CEN(1)=0.0 CEN(2)=0.0 CEN(3)=0.0 UP(1)=0.0 UP(2)=10.0 UP(3)=0.0 DIST=8.0 I2STRT=1 I2END=75 MODE=1 NN=0 RD=3.1415926/192.0 CALL ROTER CALL MAPPER(DIST) CALL VECTOR(1,PIC,I2STRT,I2END,IVECT,1,LAST,7,0,0) CALL DISPLY(6,IDL,IVECT,1,LAST) CALL DISPLY(6,IDS,IVECT,1,LAST) CALL DISPLY(3,IDL) IH=IDS IDS=IDL IDL=IH 10 CALL TEXT(0,0,0,0,0) CALL TEXT(800,800,7,1,ENFOR,NN) B1=.FALSE. B2=.FALSE. B3=.FALSE. B4=.FALSE. B5=.FALSE. B6=.FALSE. B7=.FALSE. B8=.FALSE. B9=.FALSE. B10=.FALSE. CALL BUTTON(3,B1,B2,B3,B4,B5,B6,B7,B8,B9,B10) 194 CALL BUTTON(2,B1,B2,B3,B4,B5,B6,B7,B8,B9,B10) IF(B1) GO TO 111 IF(B2) GO TO 222 IF(B3) GO TO 330 IF(B4) GO TO 440 IF(B5) GO TO 555 IF(B6) GO TO 666 IF(B7) GO TO 777 IF(B8) GO TO 888 IF(B9) GO TO 990 IF(B10) GO TO 1010 GO TO 194 1010 DO 1001 J=1,24 CALL PULSE(N,N) 1001 NN=NN+1 GO TO 10 555 NN=0 GO TO 10 111 IK=24 IF(B6) GO TO 1600 IF(B7) GO TO 1700 IF(B8) GO TO 1800 OBJ(1,32)=-0.1 OBJ(1,33)=+0.1 OBJ(4,31)=0.0 OBJ(5,31)=1.3 OBJ(2,32)=1.0 OBJ(2,33)=1.0 OBJ(4,33)=0.0 OBJ(4,32)=0.0 OBJ(5,32)=1.3 OBJ(5,33)=1.3 II=33 CRO=COS(-4.0*RD) SRO=SIN(-4.0*RD) DO 112 K=1,IK,2 I3STRT=31 I3END=33 CALL RORZ(CRO,SRO,CEN(1),CEN(2)) I3STRT=1 I3END=II CALL ROTMAP(IDS,IDL,DIST) CALL PULSE(N,N) NN=NN+1 II=II+1 OBJ(1,II)=OBJ(4,31) OBJ(2,II)=OBJ(5,31) I3STRT=31 I3END=33 CALL RORZ(CRO,SRO,CEN(1),CEN(2)) I3STRT=1 I3END=II OBJ(4,II)=OBJ(4,31) OBJ(5,II)=OBJ(5,31) CALL ROTMAP(IDS,IDL,DIST) DO 113 KK=1,3 CALL PULSE(N,N) 113 NN=NN+1 112 CONTINUE OBJ(4,31)=0.0 OBJ(5,31)=0.0 OBJ(5,32)=0.0 OBJ(4,32)=0.0 OBJ(4,32)=0.0 OBJ(4,33)=0.0 OBJ(5,33)=0.0 OBJ(1,33)=0.0 OBJ(2,33)=0.0 OBJ(2,32)=0.0 OBJ(1,32)=0.0 CALL ROTMAP(IDS,IDL,DIST) DO 114 K=1,48 CALL PULSE(N,N) 114 NN=NN+1 GO TO 10 1600 DO 161 I=22,30 DO 162 J=1,6 PTS(J,I)=OBJ(J,I) 162 OBJ(J,I)=0.0 161 CONTINUE I3END=21 CALL ROTMAP(IDS,IDL,DIST) I3END=70 GO TO 1010 1700 DO 171 I=22,23 DO172 J=1,6 172 OBJ(J,I)=PTS(J,I) I3END=I CALL ROTMAP(IDS,IDL,DIST) DO 173 K=1,12 CALL PULSE(N,N) 173 NN=NN+1 171 I3END=70 GO TO 1010 1800 DO 181 I=24,26 DO 182 J=1,6 182 OBJ(J,I)=PTS(J,I) CALL ROTMAP(IDS,IDL,DIST) DO 183 K=1,10 CALL PULSE(N,N) 183 NN=NN+1 181 CONTINUE DO 184 K=1,48 CALL PULSE(N,N) 184 NN=NN+1 DO 185 I=27,30 DO 186 J=1,6 186 OBJ(J,I)=PTS(J,I) CALL ROTMAP(IDS,IDL,DIST) DO 187 K=1,6 CALL PULSE(N,N) 187 NN=NN+1 185 CONTINUE GO TO 1010 666 DO 665 K=1,12 I=46-K OBJ(1,I)=0.0 OBJ(2,I)=0.0 OBJ(4,I)=0.0 OBJ(5,I)=0.0 CALL ROTMAP(IDS,IDL,DIST) DO 664 KK=1,4 CALL PULSE(N,N) 664 NN=NN+1 665 CONTINUE GO TO 1010 777 DO 776 K=1,7 I=54-K OBJ(5,I)=0.0 OBJ(4,I)=0.0 OBJ(2,I)=0.0 OBJ(1,I)=0.0 CALL ROTMAP(IDS,IDL,DIST) DO 775 KK=1,10 CALL PULSE(N,N) 775 NN=NN+1 776 CONTINUE DO 774 J=1,26 CALL PULSE(N,N) 774 NN=NN+1 GO TO 1010 222 OBJ(1,46)=-0.1 OBJ(2,46)= 1.4 OBJ(3,46)= 0.0 OBJ(4,46)= 0.0 OBJ(5,46)= 1.3 OBJ(6,46)=0.0 DO 223 I=47,53 K=I-1 OBJ(1,I)=OBJ(1,K)+0.2 OBJ(2,I)=OBJ(2,K)-0.2 OBJ(5,I)=OBJ(5,K)-0.2 OBJ(4,I)=OBJ(4,K)+0.2 OBJ(3,I)=0.0 OBJ(6,I)=0.0 I3END=I CALL ROTMAP(IDS,IDL,DIST) DO 224 KK=1,10 CALL PULSE(N,N) 224 NN=NN+1 223 CONTINUE GO TO 1010 330 OBJ(1,54)=-0.1 OBJ(2,54)=-0.1 OBJ(3,54)= 0.0 OBJ(4,54)= 0.1 OBJ(5,54)= 0.1 OBJ(6,54)= 0.0 DXY=0.1 I3END=54 DO 3301 K=1,20 OBJ(4,54)=OBJ(4,54)+DXY OBJ(5,54)=OBJ(5,54)+DXY CALL ROTMAP(IDS,IDL,DIST) DO 3302 J=1,3 CALL PULSE(N,N) 3302 NN=NN+1 3301 CONTINUE DO 3303 J=1,36 CALL PULSE(N,N) 3303 NN=NN+1 OBJ(1,55)=0.05 OBJ(2,55)=1.3 OBJ(4,55)=0.15 OBJ(5,55)=1.3 DO 3311 I=56,62 KK=I-1 OBJ(1,I)=OBJ(1,KK)+0.2 OBJ(4,I)=OBJ(4,KK)+0.2 OBJ(2,I)=1.3 OBJ(3,I)=0.0 OBJ(5,I)=1.3 OBJ(6,I)=0.0 I3END=I CALL ROTMAP(IDS,IDL,DIST) DO 3312 J=1,10 CALL PULSE(N,N) 3312 NN=NN+1 3311 CONTINUE DO 3313 J=1,26 CALL PULSE(N,N) 3313 NN=NN+1 DO 332 I=63,70 OBJ(1,I)=1.3 OBJ(3,I)=0.0 OBJ(4,I)=1.3 332 OBJ(6,I)=0.0 OBJ(2,63)=1.55 OBJ(5,63)=1.45 DO 3321 I=64,70 KK=I-1 OBJ(2,I)=OBJ(2,KK)-0.2 OBJ(5,I)=OBJ(5,KK)-0.2 I3END=I CALL ROTMAP(IDS,IDL,DIST) DO 3322 J=1,10 CALL PULSE(N,N) 3322 NN=NN+1 3321 CONTINUE DO 3323 J=1,26 CALL PULSE(N,N) 3323 NN=NN+1 GO TO 10 888 DO 887 K=1,17 I=71-K OBJ(1,I)=0.0 OBJ(2,I)=0.0 OBJ(4,I)=0.0 OBJ(5,I)=0.0 I3END=I CALL ROTMAP(IDS,IDL,DIST) DO 886 J=1,4 CALL PULSE(N,N) 886 NN=NN+1 887 CONTINUE GO TO 1010 440 DO 444 I=31,33 OBJ(1,I)=0.0 OBJ(2,I)=0.0 OBJ(4,I)=0.0 444 OBJ(5,I)=0.0 DO 441 I=1,14 I3STRT=I+1 CALL ROTMAP(IDS,IDL,DIST) DO 442 K=1,5 CALL PULSE(N,N) 442 NN=NN+1 441 CONTINUE I3STRT=1 DO 443 K=1,26 CALL PULSE(N,N) 443 NN=NN+1 GO TO 1010 990 DO 991 I=1,14 OBJ(1,I)=OBJ(1,I)+1.0 OBJ(2,I)=OBJ(2,I)+1.0 OBJ(4,I)=OBJ(4,I)+1.0 991 OBJ(5,I)=OBJ(5,I)+1.0 I3STRT=1 CALL ROTMAP(IDS,IDL,DIST) DO 995 K=1,34 CALL PULSE(N,N) 995 NN=NN+1 DO 993 K=1,10 DO 992 I=1,14 OBJ(1,I)=OBJ(1,I)-0.1 OBJ(2,I)=OBJ(2,I)-0.1 OBJ(4,I)=OBJ(4,I)-0.1 992 OBJ(5,I)=OBJ(5,I)-0.1 CALL ROTMAP(IDS,IDL,DIST) DO 994 KK=1,18 CALL PULSE(N,N) 994 NN=NN+1 993 CONTINUE GO TO 1010 END