Download j3angl.eso

Back to the list

   1 : C J3ANGL    SOURCE    CHAT      05/01/13    00:45:50     5004           
   2 :       SUBROUTINE J3ANGL(XY1,XY2,TOL,ANGL,IRET)
   3 : C----------------------------------------------------
   4 : C     ANGLE ENTRE LE VECTEUR XY1 ET XY2 (2D)
   5 : C
   6 : C     PP 6/97
   7 : C     Pierre Pegon/JRC Ispra
   8 : C----------------------------------------------------
   9 : C
  10 :       IMPLICIT INTEGER(I-N)
  11 :       IMPLICIT REAL*8(A-H,O-Z)
  12 : -INC CCREEL
  13 :       DIMENSION XY1(2),XY2(2)
  14 : C
  15 :       IRET=0
  16 : C
  17 :       XL1=SQRT(XY1(1)**2+XY1(2)**2)
  18 :       XL2=SQRT(XY2(1)**2+XY2(2)**2)
  19 :       IF((XL1.LT.TOL).OR.(XL2.LT.TOL))THEN
  20 :         IRET=1
  21 :                 RETURN
  22 :       ENDIF
  23 : C
  24 :       COSI=(XY1(1)*XY2(1)+XY1(2)*XY2(2))/XL1/XL2
  25 :       SINU=(XY1(1)*XY2(2)-XY1(2)*XY2(1))/XL1/XL2
  26 : C
  27 :       IF(ABS(COSI).LT.TOL)THEN
  28 :         ANGL=ASIN(COSI)
  29 :         ANGL=XPI/2 -ANGL
  30 :         ANGL=SIGN(ANGL,SINU)
  31 :       ELSE
  32 :         ANGL=ATAN(SINU/COSI)
  33 :         IF(COSI.LT.0.D0)THEN
  34 :           IF(SINU.GE.0.D0)THEN
  35 :             ANGL=ANGL+XPI
  36 :           ELSE
  37 :             ANGL=ANGL-XPI
  38 :           ENDIF
  39 :         ENDIF
  40 :       ENDIF
  41 : C
  42 :       RETURN
  43 :       END
  44 :  
  45 :  
  46 :  

© Cast3M 2003 - All rights reserved.
Disclaimer