arete3
C ARETE3 SOURCE PV 09/01/08 21:15:16 6254 * APPELE PAR ARETE * ELIMINE LES SEG2 PAR COMPARAISON D'ANGLE * *------------------------------------------------------------------- * * VARIABLES PRINCIPALES : * --------------------- * * TSEG : SEGMENT 2 DIMENSIONS CONTENANT * * | A TRACER (= 0 NON, =1 OUI) | * | COULEUR | * | N NOEUD MIN | * | N NOEUD MAX | * | ENTREES DANS TSEG | * * TNOR : SEGMENT 2 DIMENSIONS CONTENANT LES NORMALES A COMPARER * POUR CHAQUE FACE ELEMENTAIRE * * ISEG : TAILLE REELLE DU SEGMENT TSEG * INOR : TAILLE REELLE DU SEGMENT TNOR * *-------------------------------------------------------------------- * AUTEUR : J.BRUN (JUIN 90) IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-Y) IMPLICIT LOGICAL (Z) SEGMENT TN REAL*8 TNOR (N1,3) ENDSEGMENT SEGMENT TS INTEGER TSEG (M1,M2) ENDSEGMENT NBSEG=0 DO 1 I=1,ISEG * DEMANDE TRACER SEGMENT NON PARTAGE ENTRE 2 ELEMENTS IF (TSEG(I,6).EQ.0) THEN NBSEG=NBSEG+1 TSEG(I,1)=1 ELSE J=5 ZFINI=.FALSE. * RECHERCHE LE NB DE NORMALE ASSOCIEE A UN SEGMENT 2 J=J+1 ZFINI=(TSEG(I,J+1).EQ.0) IF (.NOT.((J.EQ.TSEG(/2)).OR.(ZFINI))) GOTO 2 * COMPARE LES NORMALES 2 A 2 ET S'ARRETE S'IL DOIT TRACER DO 3 K=5,J DO 4 KK=K+1,J CBIS=TNOR(TSEG(I,K),1)*TNOR(TSEG(I,KK),1) . +TNOR(TSEG(I,K),2)*TNOR(TSEG(I,KK),2) . +TNOR(TSEG(I,K),3)*TNOR(TSEG(I,KK),3) IF (CBIS.LT.0D0) CBIS=-CBIS IF (CBIS.LT.CANGLE) THEN TSEG(I,1)=1 NBSEG=NBSEG+1 GOTO 1 ENDIF 4 CONTINUE 3 CONTINUE ENDIF 1 CONTINUE RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales