C  DRAWING IN 4 VIEWS   J.K.COOK
C
	DIMENSION D(3),S(3)
	COMMON/LIMITS/XMIN,XMAX,YMIN,YMAX
	COMMON/BULK/I3STRT,I3END,OBJ(6,50)
	COMMON/PAINT/I2STRT,I2END,PIC(4,50)
	COMMON/EYCEP/E(3),C(3),U(3)
	COMMON/OIL/IVECT(200)
	CALL CLEAR(.TRUE.)
	READ(5,500)((OBJ(I,J),I=1,6),J=1,41)
500	FORMAT(6F5.1)
	DO 550 J=1,49
	DO 550 I=1,6
550	OBJ(I,J)=1.5*OBJ(I,J)
	DIST=9999.
	C(1)=0.
	C(2)=0.
	C(3)=0.
	STEP=48.
	ISTEP=STEP
	CALL DISPLY(1,1,IVECT,1,1)
	CALL DISPLY(1,2,IVECT,1,1)
	CALL DISPLY(1,3,IVECT,1,1)
	CALL DISPLY(1,4,IVECT,1,1)
	DO 100 I=100,108
100	CALL DISPLY(1,I,IVECT,1,1)
C
C
	DO 1 I=30,48
	DO 5 J=1,3
5	D(J)=(OBJ(J+3,I)-OBJ(J,I))/STEP
	DO 4 J=4,6
4	OBJ(J,I)=OBJ(J-3,I)
	DO 6 K=1,ISTEP
	DO 3 J=4,6
3	OBJ(J,I)=OBJ(J,I)+D(J-3)
	XMIN=-25.
	XMAX=75.
	YMIN=-25.
	YMAX=75.
	E(1)=0.
	E(2)=0.
	E(3)=9999.
	U(1)=0.
	U(2)=10.
	U(3)=0.
	I3STRT=30
	I3END=I
	I2STRT=30
	I2END=I
	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)
	YMIN=-75.
	YMAX=25.
	E(1)=0.
	E(2)=9999.
	E(3)=0.
	U(1)=0.
	U(2)=0.
	U(3)=-10.
	CALL ROTER
	CALL MAPPER(DIST)
	CALL VECTOR(1,PIC,I2STRT,I2END,IVECT,1,LAST,7,0,-1)
	CALL DISPLY(3,2)
	CALL DISPLY(6,2,IVECT,1,LAST)
	XMIN=-75
	XMAX=25.
	E(1)=9999.
	E(2)=2500.
	E(3)=9999.
	U(1)=0.
	U(2)=10.
	U(3)=0.
	CALL ROTER
	CALL MAPPER(DIST)
	CALL VECTOR(1,PIC,I2STRT,I2END,IVECT,1,LAST,7,0,-1)
	CALL DISPLY(3,4)
	CALL DISPLY(6,4,IVECT,1,LAST)
	YMIN=-25.
	YMAX=75.
	E(1)=9999.
	E(2)=0.
	E(3)=0.
	CALL ROTER
	CALL MAPPER(DIST)
	CALL VECTOR(1,PIC,I2STRT,I2END,IVECT,1,LAST,7,0,-1)
	CALL DISPLY(3,3)
	CALL DISPLY(6,3,IVECT,1,LAST)
6	CALL PULSE(IDO,IF)
1	CONTINUE
C
C  NOW DRAW THE AXES
C
	ILIN=1
	STEP=24.
	ISTEP=24
26	DO 25 L=1,5
	DO 15 J=1,3
15	D(J)=(OBJ(J+3,ILIN)-OBJ(J,ILIN))/STEP
	DO 14 J=4,6
14	OBJ(J,ILIN)=OBJ(J-3,ILIN)
	DO 16 K=1,ISTEP
	DO 13 J=4,6
13	OBJ(J,ILIN)=OBJ(J,ILIN)+D(J-3)
	XMIN=-25.
	XMAX=75.
	YMIN=-25.
	YMAX=75.
	E(1)=0.
	E(2)=0.
	E(3)=9999.
	U(1)=0.
	U(2)=10.
	U(3)=0.
	I3STRT=ILIN
	I3END=ILIN
	I2STRT=ILIN
	I2END=ILIN
	CALL ROTER
	CALL MAPPER(DIST)
	CALL VECTOR(1,PIC,I2STRT,I2END,IVECT,1,LAST,7,0,-1)
	CALL DISPLY(3,101)
	CALL DISPLY(6,101,IVECT,1,LAST)
	YMIN=-75.
	YMAX=25.
	E(1)=0.
	E(2)=9999.
	E(3)=0.
	U(1)=0.
	U(2)=0.
	U(3)=-10.
	CALL ROTER
	CALL MAPPER(DIST)
	CALL VECTOR(1,PIC,I2STRT,I2END,IVECT,1,LAST,7,0,-1)
	CALL DISPLY(3,102)
	CALL DISPLY(6,102,IVECT,1,LAST)
	XMIN=-75.
	XMAX=25.
	E(1)=9999.
	E(2)=2500.
	E(3)=9999.
	U(1)=0.
	U(2)=10.
	U(3)=0.
	CALL ROTER
	CALL MAPPER(DIST)
	CALL VECTOR(1,PIC,I2STRT,I2END,IVECT,1,LAST,7,0,-1)
	CALL DISPLY(3,104)
	CALL DISPLY(6,104,IVECT,1,LAST)
	YMIN=-25.
	YMAX=75.
	E(1)=9999.
	E(2)=0.
	E(3)=0.
	CALL ROTER
	CALL MAPPER(DIST)
	CALL VECTOR(1,PIC,I2STRT,I2END,IVECT,1,LAST,7,0,-1)
	CALL DISPLY(3,103)
	CALL DISPLY(6,103,IVECT,1,LAST)
16	CALL PULSE(IDO,IF)
C
C  TURN ON  ARROWS AND LETTERS
C
	I3STRT=ILIN+3
	I3END=ILIN+8
	IF(ILIN.EQ.19)I3END=ILIN+10
	I2STRT=I3STRT
	I2END=I3END
	XMIN=-25.
	XMAX=75.
	YMIN=-25.
	YMAX=75.
	E(1)=0.
	E(2)=0.
	E(3)=9999.
	U(1)=0.
	U(2)=10.
	U(3)=0.
	CALL ROTER
	CALL MAPPER(DIST)
	CALL VECTOR(1,PIC,I2STRT,I2END,IVECT,1,LAST,7,0,-1)
	CALL DISPLY(3,105)
	CALL DISPLY(6,105,IVECT,1,LAST)
	YMIN=-75.
	YMAX=25.
	E(1)=0.
	E(2)=9999.
	E(3)=0.
	U(1)=0.
	U(2)=0.
	U(3)=-10.
	CALL ROTER
	CALL MAPPER(DIST)
	CALL VECTOR(1,PIC,I2STRT,I2END,IVECT,1,LAST,7,0,-1)
	CALL DISPLY(3,106)
	CALL DISPLY(6,106,IVECT,1,LAST)
	XMIN=-75.
	XMAX=25.
	E(1)=9999.
	E(2)=2500.
	E(3)=999.
	U(1)=0.
	U(2)=10.
	U(3)=0.
	CALL ROTER
	CALL MAPPER(DIST)
	CALL VECTOR(1,PIC,I2STRT,I2END,IVECT,1,LAST,7,0,-1)
	CALL DISPLY(3,107)
	CALL DISPLY(6,107,IVECT,1,LAST)
	YMIN=-25.
	YMAX=75.
	E(1)=9999.
	E(2)=0.
	E(3)=0.
	CALL ROTER
	CALL MAPPER(DIST)
	CALL VECTOR(1,PIC,I2STRT,I2END,IVECT,1,LAST)
	CALL DISPLY(3,108)
	CALL DISPLY(6,108,IVECT,1,LAST)
	CALL PULSE(IDO,IF)
25	CONTINUE
	ILIN=ILIN+9
	IF(ILIN.LT.20)GO TO 26
	PAUSE
	STOP
	END
