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