Download trac3d.procedur

Back to the list

   1 : * TRAC3D    PROCEDUR  CHAT      96/03/05    21:15:02     2071           
   2 : *---------------------------------------------------------------------- 
   3 : *                                                                       
   4 : *                       PROCEDURE TRAC3D                                
   5 : *                                                                       
   6 : *                                                                       
   7 : *  CONSTRUCTION D UN MAILLAGE 3D DEFORME A PARTIR D UN MAILLAGE 2D      
   8 : *    ET D UN CHAMP DE DEPLACEMENT AXI OU FOURIER                        
   9 : *                                                                       
  10 : *---------------------------------------------------------------------- 
  11 : *                                                                       
  12 : *                      ENTREE  DANS L'ORDRE                             
  13 : *                                                                       
  14 : *  +   ZMAIL    OBJET MAILLAGE 2D                                       
  15 : *  +   ZCHPU    CHPOINT DE DEPLACEMENTS ISSU DU CALCUL AXI OU FOURIER   
  16 : *  +   ZAM      AMPLIFICATION DES DEPLACEMENTS                          
  17 : *  +   ZANGL    ANGLE DE ROTATION EN DEGRES POUR LA CONSTRUCTION        
  18 : *                  DU MAILLAGE 3D                                       
  19 : *  +   ZM       NOMBRE DE DECOUPAGES SUR CET ANGLE                      
  20 : *  +   ZN       NUMERO DE L HARMONIQUE  ( 0 SI CALCUL AXI)              
  21 : *  +   ZXVISU   ABSCISSE DE L'OEIL                                      
  22 : *  +   ZYVISU   ORDONNEE DE L'OEIL                                      
  23 : *  +   ZZVISU   COTE DE L'OEIL                                          
  24 : *  +   ZINTER   UTILISATION DE LA ROUTINE EN INTERACTIF OU NON          
  25 : *                                                                       
  26 : *---------------------------------------------------------------------- 
  27 :               DEBPROC TRAC3D                                            
  28 : ZMAIL*MAILLAGE ZCHPU*CHPOINT ZAM*FLOTTANT ZANGL*FLOTTANT ZM*ENTIER      
  29 : ZN*ENTIER ZXVISU*FLOTTANT ZYVISU*FLOTTANT ZZVISU*FLOTTANT               
  30 : ZINTER*LOGIQUE;                                                         
  31 : *-----------------------------------------------------------------------
  32 : *                                                                       
  33 : * SAUVEGARDE  DU CHAMP DE COORDONNEES AVANT LE PASSAGE EN DIMENSION     
  34 : * 3 ET AVANT LES DIVERSES ROTATIONS                                     
  35 : *                                                                       
  36 : CONF1= FORM;                                                            
  37 : SI ( NEG ZN 0 ) ;                                                       
  38 : OPTI MODE FOUR ZN ;                                                     
  39 : SINON ;                                                                 
  40 : OPTI MODE AXIS ;                                                        
  41 : FINSI;                                                                  
  42 : CHPUR0=EXCO 'UR' ZCHPU;                                                 
  43 : CHPUZ0=EXCO 'UZ' ZCHPU;                                                 
  44 : SI (ZN > 0);                                                            
  45 :   CHPUT0=EXCO 'UT' ZCHPU;                                                 
  46 : FINSI;                                                                  
  47 : *   PASSAGE EN DIMENSION 3                                              
  48 : OPTI DIME 3 ELEM QUA4;                                                  
  49 : ZA0=0. 0. 0.;ZAX=1. 0. 0.;ZAZ=0. 0. 1.;                                 
  50 : DEPLA ZMAIL TOUR 90 ZA0 ZAX;                                            
  51 : SI(NON  (ZN > 0) ) ;                                                    
  52 :   CHPUT0=MANU CHPO ZMAIL 1 'UT' (PROG 0.) NATURE 'DISCRET';                     
  53 : FINSI;                                                                  
  54 : CHPUR0=NOMC SCAL (CHPUR0 * ZAM)  NATURE 'DISCRET';                              
  55 : CHPUZ0=NOMC SCAL (CHPUZ0 * ZAM)  NATURE 'DISCRET';                              
  56 : CHPUT0=NOMC SCAL (CHPUT0 * ZAM)  NATURE 'DISCRET';                              
  57 : K=0;                                                                    
  58 : TDF3D=TABLE;                                                            
  59 : DTHETA=ZANGL / ZM;                                                      
  60 : REPETER  DEP3D ZM;                                                      
  61 :   K= K + 1;                                                             
  62 :   THETA= K * (DTHETA);                                                  
  63 :   COSNT= COS ( ZN *THETA );                                             
  64 :   SINNT= SIN ( ZN *THETA );                                             
  65 :   COST = COS THETA ;                                                    
  66 :   SINT = SIN THETA ;                                                    
  67 :   CHPUXK = COLI CHPUR0 (COSNT*COST) CHPUT0 (SINNT*SINT*-1);             
  68 :   CHPUYK = COLI CHPUR0 (COSNT*SINT) CHPUT0 (SINNT*COST);                
  69 :   CHPUZK = CHPUZ0*COSNT;                                                
  70 :   CHPUXKK= NOMC 'UX' CHPUXK  NATURE 'DISCRET';                                  
  71 :   CHPUYKK= NOMC 'UY' CHPUYK  NATURE 'DISCRET';                                  
  72 :   CHPUZKK= NOMC 'UZ' CHPUZK  NATURE 'DISCRET';                                  
  73 :   CHPUK  = CHPUXKK ET CHPUYKK ET CHPUZKK;                               
  74 :   DETR CHPUXKK;DETR CHPUYKK;DETR CHPUZKK;                               
  75 :   DEPLA ZMAIL TOUR DTHETA ZA0 ZAZ;                                      
  76 :   TDF3D.K=ZMAIL PLUS CHPUK;                                             
  77 :   SI (K EGA 2);                                                         
  78 :     ZDF3D=(TDF3D.1) REGL 1 (TDF3D.2);                                   
  79 :   FINSI;                                                                
  80 :   SI (K > 2);                                                           
  81 :     ZDF3D=ZDF3D ET ((TDF3D.(K - 1)) REGL 1 (TDF3D.K));                  
  82 :   FINSI;                                                                
  83 : FIN DEP3D;                                                              
  84 : *  CE TEST PERMET DE COMPLETER L'OBJET                                  
  85 : *   LORSQUE L'ANGLE EST EGAL A 360                                     
  86 : SI ((1-(ZANGL/360)) < 0.005 );                                          
  87 :       ZDF3D=ZDF3D ET ((TDF3D.K) REGL 1 (TDF3D.1));                      
  88 : FINSI;                                                                  
  89 : * BOUCLE PERMETTANT DE VISUALISER SUIVANT DIVERS YEUX                   
  90 : REPETER VISIO;                                                          
  91 :    VISU = ZXVISU ZYVISU ZZVISU;                                         
  92 :    TRAC CACH ZDF3D VISU;                                                
  93 :    SI ( ZINTER EGA VRAI );                                              
  94 :      MESS ' VOULEZ VOUS FAIRE UNE AUTRE VISUALISATION (VRAI/FAUX)';     
  95 :      OBTE OUI*LOGIQUE;                                                  
  96 :      SI (OUI EGA VRAI) ;                                                
  97 :        MESS 'DONNEZ LES CORDONNEES UNE @ UNE';                          
  98 :        OBTE ZXVISU*FLOTTANT;                                            
  99 :        OBTE ZYVISU*FLOTTANT;                                            
 100 :        OBTE ZZVISU*FLOTTANT;                                            
 101 :       SINON;                                                            
 102 :        QUITTER VISIO;                                                   
 103 :      FINSI;                                                             
 104 :     SINON;                                                              
 105 :      QUITTER VISIO;                                                     
 106 :     FINSI;                                                              
 107 : FIN VISIO;                                                              
 108 : DETR ZDF3D;                                                             
 109 : *RETOUR EN DIMENSION 2 ,RESTAURATION DES COORDONNEES INITIALES DE ZMAIL 
 110 : OPTION DIME 2;                                                          
 111 : FORM CONF1;                                                             
 112 : *------------------------------------------------------------           
 113 :                FINPROC ;                                                
 114 :  

© Cast3M 2003 - All rights reserved.
Disclaimer