Télécharger d2def.eso

Retour à la liste

Numérotation des lignes :

d2def
  1. C D2DEF SOURCE CB215821 17/11/30 21:15:51 9639
  2. SUBROUTINE D2DEF(XP1,XP2,XP3,XPC,VDIA,IDIMC,
  3. > COEF,TS,iarr)
  4. C *****************************************************************
  5. C OBJET : TAILLE SOUHAITE PAR DEFAUT
  6. C (LA TAILLE SOUHAITE EST EVALUEE AU CENTRE D'UNE BOULE)
  7. C EN ENTREE :
  8. C XP1,XP2,XP3 : LES TROIS POINT DU TRIANGLE
  9. C XPC : UN POINT SUR LE CERCLE (INUTILISE)
  10. C VDIA : LE VECTEUR DIAMETRE PARTANT DE XPC
  11. C IDIMC : DIMENSION DE L'ESPACE
  12. C EN SORTIE :
  13. C TS : TAILLE SOUHAITE POUR LE TRIANGLE
  14. C = LONGUEUR DE SA PLUS PETITE ARETE
  15. C COEF : TS / RC
  16. C RC EST LE RAYON DU CERCLE CIRCONSCRIT
  17. C PLUS COEF EST PETIT PLUS ON RAFFINE
  18. C iarr : CODE D'ERREUR 0 SI OK,
  19. C -1 SI LE RAYON CIRCONSCRIT EST NUL
  20. C NIVEAU : FICHIER
  21. C *****************************************************************
  22. IMPLICIT INTEGER(I-N)
  23. INTEGER IDIMC
  24. REAL*8 XP1(*),XP2(*),XP3(*)
  25. REAL*8 XPC(*),VDIA(*),COEF,TS
  26. INTEGER iarr
  27. C
  28. REAL*8 V(3),D,DMIN,DIAM2,RC,XYZEPS
  29. EXTERNAL XNORVE
  30. REAL*8 XNORVE
  31. XYZEPS=1.D-10
  32. C
  33. C ============================
  34. C ------ ARETE LA PLUS COURTE ------
  35. C ============================
  36. CALL DIFFVE(XP2,XP1,IDIMC,V)
  37. DMIN = XNORVE(V,IDIMC)
  38. CALL DIFFVE(XP3,XP2,IDIMC,V)
  39. D = XNORVE(V,IDIMC)
  40. DMIN = MIN( D, DMIN )
  41. CALL DIFFVE(XP1,XP3,IDIMC,V)
  42. D = XNORVE(V,IDIMC)
  43. DMIN = MIN( D, DMIN )
  44. C ============================
  45. C ------ SUR LE RAYON CIRCONSCRIT ------
  46. C ============================
  47. DIAM2 = VDIA(1)**2 + VDIA(2)**2
  48. RC = SQRT( DIAM2 ) / 2.0D0
  49. IF( RC.GT. -XYZEPS .AND.RC .LT. XYZEPS )GOTO 999
  50. COEF = DMIN / RC
  51. TS = DMIN
  52. iarr = 0
  53. 999 END
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  

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