Download dr2po.eso

Back to the list

   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 :  

© Cast3M 2003 - All rights reserved.
Disclaimer