Télécharger @CHREP.procedur

Retour à la liste

Numérotation des lignes :

  1. * @CHREP PROCEDUR MB234859 17/09/26 21:15:02 9567
  2. ***********************************************************************
  3. *
  4. * CETTE PROCEDURE A ETE MISE GRACIEUSEMENT A DISPOSITION DES
  5. * UTILISATEURS PAR LE LTDS - Ecole Centrale Lyon (S. Fouvry et S.Garcin)
  6. *
  7. ***********************************************************************
  8. * PROCEDURE DE CHANGEMENT DE REPERE DE COORDONNEES (@CHREP)
  9. *
  10. * Passage du repere (O,x,y) au repere (O_u,U1,U2)
  11. *
  12. * Entrees :
  13. * PTFIXE : Point repere O_u
  14. * VDU1 : Vecteur directeur U1
  15. * VDU2 : Vecteur directeur U2
  16. * MAIL2CHR : Maillage concerne par le changement de repere
  17. *
  18. * Sorties :
  19. * CU1_MAIL : coordonnee X
  20. * CU2_MAIL : coordonnee Y
  21. *
  22. * Appelee par @PRCA4
  23. *
  24. ***********************************************************************
  25. DEBP @CHREP PTFIXE*'POINT' VDU1*'POINT' VDU2*'POINT'
  26. MAIL2CHR*'MAILLAGE' ;
  27.  
  28. * Coordonnees des points sujets au changement de repere
  29. CUX_M2C = COOR MAIL2CHR 1 ;
  30. CUY_M2C = COOR MAIL2CHR 2 ;
  31.  
  32. * Coordonnees du point fixe
  33. PO_UX = COOR PTFIXE 1 ;
  34. PO_UY = COOR PTFIXE 2 ;
  35.  
  36. * Translation vers le nouveau point fixe
  37. CUTX_M2C = CUX_M2C - PO_UX ;
  38. CUTY_M2C = CUY_M2C - PO_UY ;
  39.  
  40. * Extraction des composantes des vecteurs directeurs du nouveau repere
  41. U1_X = COOR VDU1 1 ;
  42. U1_Y = COOR VDU1 2 ;
  43. U2_X = COOR VDU2 1 ;
  44. U2_Y = COOR VDU2 2 ;
  45.  
  46. * Calcul de l'angle du vecteur U1 par rapport a UX
  47. CosMns1 = ACOS U1_X ;
  48. SI (U1_Y > 0.) ;
  49. AngUXU1 = CosMns1 ;
  50. SINON ;
  51. AngUXU1 = -1. * CosMns1 ;
  52. FINSI ;
  53.  
  54. * Pseudo matrice de rotation
  55. CosAng = COS AngUXU1 ;
  56. SinAng = SIN AngUXU1 ;
  57.  
  58. * Formule de rotation (changement de repere : rotation de - AngUXU1)
  59. * U1 = ( CosAng * UX + SinAng * UY)
  60. * U2 = (-SinAng * UX + CosAng * UY)
  61. CU1_MAIL = (CosAng * CUTX_M2C) + (SinAng * CUTY_M2C) ;
  62. CU2_MAIL = (CosAng * CUTY_M2C) - (SinAng * CUTX_M2C) ;
  63.  
  64. FINP CU1_MAIL CU2_MAIL ;
  65.  
  66.  

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