Listing of file='PLOT3D.FOR;01' on disk='vmedia/chip_61-sector.ccvf'
PROGRAM PLOT3D DIMENSION P(3,18),G(3,18),T(3,3),I1(3),I2(3), 1 DEG(3),TI(3,3) LOGICAL CLEAR,COLOR,P2,P242,P255 DATA P/0.0,0.0,0.0,30.0,0.0,0.0,30.0,30.0,0.0, 1 30.0,30.0,30.0,30.0,30.0,0.0,0.0,30.0,0.0, 2 0.0,0.0,0.0,0.0,0.0,30.0,0.0,30.0,30.0, 3 30.0,30.0,30.0,0.0,30.0,30.0,0.0,30.0,0.0, 4 0.0,0.0,0.0,0.0,0.0,30.0,30.0,0.0,30.0, 5 30.0,30.0,30.0,30.0,0.0,30.0,30.0,0.0,0.0/ 6 I1,I2/1,1,2,2,3,3/ 7 TI/1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0/ 8 IB,NOPTS,NS,ANGLE,DX,DY/16,18,1,10.0,60.0,60.0/ 9 P2,P242,P255,CLEAR/2,242,255,12/ CALL PLTOBJ (NS,NOPTS,P,3,18,CLEAR,DX,DY,P2,P242,P255) 1 DO 30 IR=1,3 DO 30 JR=1,6 COLOR=IB+JR WRITE(3)COLOR CALL INIMAT (T,3,3,TI,3,3) CALL ROTMAT (T,3,3,I1,3,I2,3,IR,ANGLE) CALL MLTMAT (NOPTS,P,3,18,T,3,3) CALL PLTOBJ (NS,NOPTS,P,3,18,CLEAR,DX,DY,P2,P242,P255) 30 CONTINUE GO TO 1 END SUBROUTINE PLTOBJ(NDS,NODPTS,DP,M1,M2,DCLEAR,DDX,DDY, 1 PD2,PD242,PD255) DIMENSION DP(M1,M2) LOGICAL LX,LY,PD2,PD242,PD255,DCLEAR WRITE(3)DCLEAR LX=DP(1,NDS)+DDX LY=DP(2,NDS)+DDY WRITE(3)PD2,LX,LY,PD242 NSP=NDS+1 DO 10 I=NSP,NODPTS LX=DP(1,I)+DDX LY=DP(2,I)+DDY WRITE(3)LX,LY 10 CONTINUE WRITE(3)PD255 RETURN END SUBROUTINE ROTMAT (DT,N3,N4,ID1,N5,ID2,N6,II,DANGLE) DIMENSION DT(N3,N4),ID1(N5),ID2(N6) RADIAN=(3.14159*DANGLE)/180.0 K=ID1(II) J=ID2(II) DT(K,K)=COS(RADIAN) DT(K,J)=-SIN(RADIAN) DT(J,K)=SIN(RADIAN) DT(J,J)=COS(RADIAN) RETURN END SUBROUTINE INIMAT (DT,M1,M2,DTI,M3,M4) DIMENSION DT(M1,M2),DTI(M3,M4) DO 10 I=1,M1 DO 10 J=1,M4 10 DT(I,J)=DTI(I,J) RETURN END SUBROUTINE MLTMAT (NODPTS,DP,M1,M2,DT,M3,M4) DIMENSION DP(M1,M2),DT(M3,M4) DO 10 I=1,NODPTS PX=DP(1,I) PY=DP(2,I) PZ=DP(3,I) DP(1,I)=PX*DT(1,1)+PY*DT(1,2)+PZ*DT(1,3) DP(2,I)=PX*DT(2,1)+PY*DT(2,2)+PZ*DT(2,3) DP(3,I)=PX*DT(3,1)+PY*DT(3,2)+PZ*DT(3,3) 10 CONTINUE RETURN END CONTINU