Numérotation des lignes :

C DROIT     SOURCE    JC220346  16/11/29    21:15:13     9221           C---------------------------------------------------------------------|C                                                                     |       LOGICAL FUNCTION DROIT(I1,I2,I3)C                                                                     |C      CETTE FONCTION DETECTE L'ANGLE ENTRE LE SEGMENT ›I1,I2!        |C      ET LE SEGMENT ›I2,I3!                                          |C      DROIT EST VRAIE SI L'ANGLE EST CORRECT                         |C      DROIT EST FAUSSE SI L'ANGLE EST INCORRECT                      |C                                                                     |C---------------------------------------------------------------------|CC      IMPLICIT INTEGER(I-N)      IMPLICIT REAL*8(A-H,O-Z) -INC PPARAM-INC CCOPTIO-INC TDEMAIT       DIMENSION V1(3),V2(3)       DO 100 I=1,3          V1(I)=XYZ(I,I1)-XYZ(I,I2)          V2(I)=XYZ(I,I3)-XYZ(I,I2)100    CONTINUEC       V1NORM=SQRT(V1(1)**2+V1(2)**2+V1(3)**2)       V2NORM=SQRT(V2(1)**2+V2(2)**2+V2(3)**2)C       DO 110 I=1,3          V1(I)=V1(I)/V1NORM          V2(I)=V2(I)/V2NORM110    CONTINUECC       SCAL=V1(1)*V2(1)+V1(2)*V2(2)+V1(3)*V2(3)C       DROIT=.TRUE.        IF (SCAL.GT.0.99999d0) DROIT=.FALSE.        IF (-SCAL.GT.0.99999d0) DROIT=.FALSE.*       IF (SCAL.GT.0.99d°) DROIT=.FALSE.*       IF (-SCAL.GT.0.99d0) DROIT=.FALSE.C        IF (IVERB.EQ.1) THEN           IF (SCAL.GT.0.99999d0) WRITE(6,1000)I1,I2,I3           IF (SCAL.LT.-0.99999d0) WRITE(6,1001)I1,I2,I3 1000      FORMAT(' DROIT LE SEGMENT',3I3,' EST TROP FERME  |') 1001      FORMAT(' DROIT LE SEGMENT',3I3,' EST TROP PLAT   |')        ENDIFC       RETURN       END

© Cast3M 2003 - Tous droits réservés.
Mentions légales