Télécharger dr2po.eso

Retour à la liste

Numérotation des lignes :

  1. C DR2PO SOURCE PV 07/11/23 21:16:29 5978
  2. SUBROUTINE DR2PO( XP1,XP2, DROITE, IARR )
  3. C *****************************************************************
  4. C OBJET : CALCULE LA DROITE PASSANT PAR LES 2 POINTS
  5. C EN ENTREE:
  6. C XP1, XP2 : LES 2 POINTS DE LA DROITE
  7. C EN SORTIE
  8. C DROITE : LES COEFFICIENTS A,B,C DE L'EQUATION DE LA DROITE
  9. C AX+BY+C = 0
  10. C IARR : -1 SI XP1 ET XP2 SONT CONFONDUS, 0 SI OK
  11. C *****************************************************************
  12. IMPLICIT INTEGER(I-N)
  13. IMPLICIT real*8 (a-h,o-z)
  14. REAL*8 XP1(2),XP2(2),DROITE(3)
  15. INTEGER IARR
  16. C
  17. C COMMON /CGEPSI/ XYZHUG,XYZMIN,XYZEPS
  18. C REAL*8 XYZHUG,XYZMIN,XYZEPS
  19. REAL*8 XDENO
  20. C
  21. XYZEPS=1.D-10
  22. IERR = 0
  23. XDENO = XP2(1) - XP1(1)
  24. IF((XDENO.LE.XYZEPS).AND.(XDENO.GE. -XYZEPS))THEN
  25. XDENO = XP2(2) - XP1(2)
  26. IF((XDENO.LE.XYZEPS).AND.(XDENO.GE. -XYZEPS))THEN
  27. IARR = -1
  28. GOTO 999
  29. ENDIF
  30. DROITE(1) = 1.0D0
  31. DROITE(2) = 0.0D0
  32. DROITE(3) = - XP1(1)
  33. ELSE
  34. DROITE(1) = (XP1(2) - XP2(2)) / XDENO
  35. DROITE(2) = 1.0D0
  36. DROITE(3) = - XP1(2) - (XP1(1) * DROITE(1))
  37. ENDIF
  38. 999 END
  39.  
  40.  
  41.  
  42.  
  43.  

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