Download norfac.eso

Back to the list

   1 : C NORFAC    SOURCE    CHAT      05/01/13    01:59:53     5004           
   2 :       SUBROUTINE NORFAC(VN,IPA,IPO,IPB)                                         
   3 :                                                                                 
   4 :                                                                                 
   5 : *       APPELE PAR ARETE1                                                       
   6 : *          CALCULE UNE NORMALE AU PLAN DEFINI PAR LES POINTS                    
   7 : *       IPA,IPO,IPB . ORIENTE CETTE NORMALE SELON X POSITIF                     
   8 : *                                                                               
   9 : *--------------------------------------------------------------------           
  10 : *      AUTEUR : J.BRUN (JUIN 90)                                                
  11 :                                                                                 
  12 :       IMPLICIT INTEGER(I-N)
  13 :       IMPLICIT REAL*8 (A-H,O-Y)                                                 
  14 :       IMPLICIT LOGICAL (Z)                                                      
  15 : -INC SMELEME                                                                    
  16 : -INC CCOPTIO                                                                    
  17 : -INC SMCOORD                                                                    
  18 :       REAL*8 VN(3),OA(3),OB(3)                                                  
  19 :                                                                                 
  20 :                                                                                 
  21 : *---------------------------------------------------------------------          
  22 : *                                                                               
  23 : *    CREE et NORME LES DEUX VECTEURS OA ET OB                                            
  24 : *                                                                               
  25 : *---------------------------------------------------------------------          
  26 :       IA=(IPA-1)*(IDIM+1)                                                       
  27 :       IB=(IPB-1)*(IDIM+1)                                                       
  28 :       IO=(IPO-1)*(IDIM+1)                                                       
  29 :       OA(1)=XCOOR(IA+1)-XCOOR(IO+1)                                             
  30 :       OA(2)=XCOOR(IA+2)-XCOOR(IO+2)                                             
  31 :       OA(3)=XCOOR(IA+3)-XCOOR(IO+3)                                             
  32 :       AINVN=1./SQRT( OA(1)**2 + OA(2)**2 + OA(3)**2)                              
  33 :       OA(1)=OA(1)*AINVN                                             
  34 :       OA(2)=OA(2)*AINVN                                        
  35 :       OA(3)=OA(3)*AINVN                                          
  36 :                                                                                 
  37 :       OB(1)=XCOOR(IB+1)-XCOOR(IO+1)                                             
  38 :       OB(2)=XCOOR(IB+2)-XCOOR(IO+2)                                             
  39 :       OB(3)=XCOOR(IB+3)-XCOOR(IO+3)                                             
  40 :       BINVN=1./SQRT( OB(1)**2 + OB(2)**2 + OB(3)**2)                              
  41 :       OB(1)=OB(1)*BINVN                                             
  42 :       OB(2)=OB(2)*BINVN                                        
  43 :       OB(3)=OB(3)*BINVN                                          
  44 : *---------------------------------------------------------------------          
  45 : *                                                                               
  46 : *    CALCUL DE LA NORMALE                                                       
  47 : *                                                                               
  48 : *---------------------------------------------------------------------          
  49 :       VN(1)=OA(2)*OB(3)-OB(2)*OA(3)                                             
  50 :       VN(2)=OA(3)*OB(1)-OB(3)*OA(1)                                             
  51 :       VN(3)=OA(1)*OB(2)-OB(1)*OA(2)                                             
  52 :       ANORME=SQRT( VN(1)**2 + VN(2)**2 + VN(3)**2)                              
  53 :                                                                                 
  54 :       IF (ANORME .GT. 1D-6) THEN                                                
  55 :          IF (VN(1).LT.0D0) THEN                                                 
  56 :             VN(1)=-VN(1)                                                        
  57 :             VN(2)=-VN(2)                                                        
  58 :             VN(3)=-VN(3)                                                        
  59 :          ENDIF                                                                  
  60 :          VN(1)=VN(1)/ANORME                                                     
  61 :          VN(2)=VN(2)/ANORME                                                     
  62 :          VN(3)=VN(3)/ANORME                                                     
  63 :       ENDIF                                                                     
  64 :       END                                                                       
  65 :  
  66 :  
  67 :  
  68 :  
  69 :  

© Cast3M 2003 - All rights reserved.
Disclaimer