Télécharger ptnorm.eso

Retour à la liste

Numérotation des lignes :

  1. C PTNORM SOURCE CHAT 06/03/29 21:30:43 5360
  2. SUBROUTINE PTNORM(COORD,BOITE,IDIMC,NBN,ZERO,COORDN,iarr)
  3. C **********************************************************************
  4. C OBJET : NORMALISATION D'UN NUAGE DE POINTS ENTRE [-1.00:+1.00]
  5. C EN ENTREE :
  6. C COORD : TABLEAU DES COORDONNEES DES POINTS
  7. C BOITE : BOITE D'ENCOMBREMENT
  8. C IDIMC : DIMENSION DE L'ESPACE
  9. C NBN : NOMBRE DE POINTS
  10. C ZERO : ZERO
  11. C EN SORTIE :
  12. C COORDN : COORDONNEES NORMALISEES
  13. C **********************************************************************
  14. IMPLICIT INTEGER(I-N)
  15. REAL*8 COORD(*),BOITE(*),ZERO
  16. INTEGER IDIMC, NBN
  17. REAL*8 COORDN(*)
  18. INTEGER iarr
  19. C
  20. INTEGER I,J
  21. REAL*8 XC(3),COEF
  22. C
  23. COEF = 0.0D0
  24. DO 40 I=1,IDIMC
  25. XC(I) = (BOITE(I) + BOITE(IDIMC+I)) / 2.0D0
  26. COEF = MAX(COEF,(BOITE(IDIMC+I) - BOITE(I)))
  27. 40 CONTINUE
  28. C
  29. COEF = 2.0D0 / COEF
  30. C
  31. DO 50 I=1,IDIMC
  32. IF( COEF*(BOITE(IDIMC+I) - BOITE(I)) .LE. ZERO )THEN
  33. iarr = -1
  34. GOTO 999
  35. ENDIF
  36. 50 CONTINUE
  37. C
  38. DO 70 I=1,NBN
  39. DO 60 J=1,IDIMC
  40. COORDN((I-1)*IDIMC+J) = (COORD((I-1)*IDIMC+J) - XC(J)) * COEF
  41. 60 CONTINUE
  42. 70 CONTINUE
  43. C
  44. 999 END
  45.  
  46.  
  47.  
  48.  

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