Télécharger j3angl.eso

Retour à la liste

Numérotation des lignes :

  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.  
  47.  

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