C KAPTTG SOURCE CHAT 05/01/13 00:51:31 5004 SUBROUTINE KAPTTG(R1,Z1,R2,Z2,RA,ZA,RB,ZB,KVV,TC,KIMP) IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-Z) C---------------------------------------------------------------------- C SP appele par KAINTE C recherche de l existence d un point tangent associe au segment C (RA,ZA) (RB,ZB) et de son appartenance au triangle defini C les points d integration (R1,Z1) (R2,Z2) C si oui KVV=1 C TC : valeur de l angle associe au point tangent C sinon KVV=0 C---------------------------------------------------------------------- C C EMIN=1.D-5 EMIN1=-1.D-5 CMIN=1.D0-EMIN KVV=0 TC=0.D0 CALL KAFTAN(R1,Z1,RA,ZA,RB,ZB,A1) CALL KAFTAN(R2,Z2,RA,ZA,RB,ZB,A2) C WRITE(6,*) ' A1 A2 ',A1,A2 IF(DABS(A1).LE.CMIN.AND.DABS(A2).LE.CMIN) THEN C POINT TANGENT TA1=DACOS(A1) TA2=DACOS(A2) C WRITE(6,*) ' POINT TANGENT TA1 TA2 ',TA1,TA2 RD=R1*DSIN(TA1)+R2*DSIN(TA2) RC=R1*R2*DSIN(TA1+TA2)/RD ZC=(Z1*R2*DSIN(TA2)+Z2*R1*DSIN(TA1))/RD C PRO< 0 PT TANGENT interieur au segment AB PRO=(RA-RC)*(RB-RC)+(ZA-ZC)*(ZB-ZC) CALL KAFINT(R1,Z1,R2,Z2,RC,ZC,AC) IF(DABS(AC).LE.1.AND.PRO.LT.EMIN1) THEN C >> LE POINT TANGENT SE TROUVE DANS LE TRIANGLE TC=TA1+TA2 IF(KIMP.GE.4)WRITE(6,*) ' POINT TANGENT ANGLE ',TC KVV=1 C!! ELSE IF(KIMP.GE.4)WRITE(6,*) ' POINT TANGENT EXTERIEUR AU SEGMENT ' KVV=0 ENDIF ELSE C PAS DE POINT TANGENT KVV=0 IF(KIMP.GE.4)WRITE(6,*) ' PAS DE POINT TANGENT TOUT VU 2' ENDIF RETURN END