C   A SEQUENCE ON THREE DIMENSIONAL DRAWING    J.K.COOK
C
	DIMENSION EP(3,10)
	COMMON/OIL/IVECT(200)
	COMMON/BULK/I3STRT,I3END,OBJ(6,50)
	COMMON/PAINT/I2STRT,I2END,PIC(4,50)
	COMMON/EYCEP/E(3),C(3),U(3)
	COMMON/LIMITS/XMIN,XMAX,YMIN,YMAX
	COMMON/SAVE/PTS(6,50)
	CALL CLEAR(.TRUE.)
	READ(5,500)((OBJ(I,J),I=1,6),J=1,49)
500	FORMAT(6F5.1)
	DO 111 J=1,49
	DO 111 I=1,6
111	PTS(I,J)=OBJ(I,J)
	XMIN=-10.
	XMAX=10.
	YMIN=-10.
	YMAX=10.
	E(1)=0.
	E(2)=0.
	E(3)=9999.
	C(1)=0.
	C(2)=0.
	C(3)=0.
	U(1)=0.
	U(2)=10.
	U(3)=0.
	DIST=9999.
C
C  SHRINK
C
	CALL DISPLY(1,1,IVECT,1,1)
	CALL DISPLY(1,50,IVECT,1,1)
	CALL DISPLY(1,51,IVECT,1,1)
	DX=1./12.
	DY=DX
C
C
C
C
	DO 99 I=1,24
	XMIN=XMIN-DX
	XMAX=XMAX+DX
	YMIN=YMIN-DY
	YMAX=YMAX+DY
	I3STRT=1
	I3END=18
	I2STRT=1
	I2END=18
	CALL ROTER
	CALL MAPPER(DIST)
	CALL VECTOR(1,PIC,I2STRT,I2END,IVECT,1,LAST,7,0,-1)
	CALL DISPLY(3,1)
	CALL DISPLY(6,1,IVECT,1,LAST)
	I3STRT=42
	I3END=49
	I2STRT=42
	I2END=49
	CALL MAPPER(DIST)
	CALL VECTOR(1,PIC,I2STRT,I2END,IVECT,1,LAST,7,0,-1)
	CALL DISPLY(3,50)
	CALL DISPLY(6,50,IVECT,1,LAST)
99	CALL PULSE(IDO,IF)
C   PUT IN AXES 
C
C
C
	ANG=0.
	RD=3.14159/180.
	DTH=2.
	DO 101 J=1,432,2
	ANG=ANG+DTH
	E(1)=DIST*SIN(ANG*RD)
	E(3)=DIST*COS(ANG*RD)
	CALL ROTER
	I3STRT=1
	I3END=18
	I2STRT=1
	I2END=18
	CALL MAPPER(DIST)
	I2STRT=1
	I2END=18
	CALL VECTOR(1,PIC,I2STRT,I2END,IVECT,1,LAST,7,0,-1)
	CALL DISPLY(3,1)
	CALL DISPLY(6,1,IVECT,1,LAST)
	I3STRT=42
	I3END=49
	I2STRT=42
	I2END=49
	CALL MAPPER(DIST)
	CALL VECTOR(1,PIC,I2STRT,I2END,IVECT,1,LAST,7,0,-1)
	CALL DISPLY(3,50)
	CALL DISPLY(6,50,IVECT,1,LAST)
	IF((ANG.EQ.90.).OR.(ANG.EQ.360.))GO TO 102
	GO TO 101
C
C  PAUSE AT 90. AND 360.
C
102	DO 103 I=1,72
103	CALL PULSE(IDO,IF)
101	CALL PULSE(IDO,IF)
	DO 301 J=1,2501,100
	E(2)=FLOAT(J)
	CALL ROTER
	I3STRT=1
	I3END=18
	I2STRT=1
	I2END=18
	CALL MAPPER(DIST)
	CALL VECTOR(1,PIC,I2STRT,I2END,IVECT,1,LAST,7,0,-1)
	CALL DISPLY(3,1)
	CALL DISPLY(6,1,IVECT,1,LAST)
	I3STRT=42
	I3END=49
	I2STRT=42
	I2STRT=49
	CALL MAPPER(DIST)
	CALL VECTOR(1,PIC,I2STRT,I2END,IVECT,1,LAST,7,0,-1)
	CALL DISPLY(3,50)
	CALL DISPLY(6,50,IVECT,1,LAST)
301	CALL PULSE(IDO,IF)
C
C  TURN OFF RECT AND FRAME
C
	CALL DISPLY(5,50)
C
C  PAUSE
C
	DO 303 I=1,72
303	CALL PULSE(IDO,IF)
C
C  DRAW Z AXIS
C
2222	PAUSE
	ITAG=100
	DO 1 I=1,11
	TIM=1.
	IF(I.EQ.1)TIM=2.
	IF(I.GT.6)TIM=.6
	ITAG=ITAG+1
	CALL DRASLO(I+18,TIM,ITAG,DIST)
	DO 2 J=1,12
2	CALL PULSE(IDO,IF)
1	CONTINUE
	DO 3 I=1,48
3	CALL PULSE(IDO,IF)
	I3STRT=1
	I3END=29
	I2STRT=1
	I2END=29
	CALL MAPPER(DIST)
	CALL VECTOR(1,PIC,I2STRT,I2END,IVECT,1,LAST,7,0,-1)
	CALL DISPLY(3,1)
	CALL DISPLY(6,1,IVECT,1,LAST)
C
C  NOW DRAW BOX
C
	CALL DISPLY(5,50)
	CALL DISPLY(5,51)
	DO 999 I=1,72
999	CALL PULSE(IDO,IF)
	DO 4 I=101,111
4	CALL DISPLY(3,I)
	TIM=2.
	ITAG=100
	DO 5 I=30,41
	ITAG=ITAG+1
	CALL DRASLO(I,TIM,ITAG,DIST)
	DO 5 J=1,12
5	CALL PULSE(IDO,IF)
	DO 6 I=1,72
6	CALL PULSE(IDO,IF)
	CALL DISPLY(5,50)
	CALL DISPLY(5,51)
	DO 7 I=1,72
7	CALL PULSE(IDO,IF)
	PAUSE
	STOP
	END
