1 SUBROUTINE CONVEX(X,Y,Z,VAL,IFVISO) 2 DIMENSION X(4),Y(4),Z(4),VAL(4),V(3,3),VN(3) 3 DO I=1,3 4 V(1,I) = X(I+1)-X(1) 5 V(2,I) = Y(I+1)-Y(1) 6 V(3,I) = Z(I+1)-Z(1) 7 ENDDO 8 VN(1) = (V(2,1)*V(3,2)-V(2,2)*V(3,1)) 9 VN(2) = (V(1,2)*V(3,1)-V(1,1)*V(3,2)) 10 VN(3) = (V(1,1)*V(2,2)-V(2,1)*V(1,2)) 11 DET1 = VN(1)*(V(2,2)*V(3,3)-V(2,3)*V(3,2)) 12 & + VN(2)*(V(1,3)*V(3,2)-V(1,2)*V(3,3)) 13 & + VN(3)*(V(1,2)*V(2,3)-V(2,2)*V(1,3)) 14 IF (DET1.LT.0.) THEN 15 DET2 = VN(1)*(V(2,3)*V(3,1)-V(2,1)*V(3,3)) 16 & + VN(2)*(V(1,1)*V(3,3)-V(1,3)*V(3,1)) 17 & + VN(3)*(V(1,3)*V(2,1)-V(2,3)*V(1,1)) 18 IF (DET2.LT.0.) THEN 19 CALL ECHR(X(3),X(4)) 20 CALL ECHR(Y(3),Y(4)) 21 CALL ECHR(Z(3),Z(4)) 22 IF (IFVISO.NE.0) CALL ECHR(VAL(3),VAL(4)) 23 ELSE 24 CALL ECHR(X(3),X(2)) 25 CALL ECHR(Y(3),Y(2)) 26 CALL ECHR(Z(3),Z(2)) 27 IF (IFVISO.NE.0) CALL ECHR(VAL(3),VAL(2)) 28 ENDIF 29 ENDIF 30 END 31