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 :
© Cast3M 2003 - All rights reserved.
Disclaimer