/*************************************************************************************************************************************/ /* */ /* D E F I N I T I O N D E S M A C R O S D U C A L C U L D E L ' I N E R T I E D ' U N C H A M P : */ /* */ /* */ /* Author of '$xci/inertie.02$I' : */ /* */ /* Jean-Francois Colonna (LACTAMME, 1993??????????). */ /* */ /*************************************************************************************************************************************/ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* M A C R O S U T I L E S : */ /* */ /*************************************************************************************************************************************/ #define Ixx \ loadF_point(moment_d_inertie_Ixx,X,Y) #define Ixyx \ loadF_point(moment_d_inertie_Ixyx,X,Y) #define Iyy \ loadF_point(moment_d_inertie_Iyy,X,Y) /* Definition des moments d'inertie locaux en {X,Y}. */ #define cA \ FU #define cB \ NEGA(ADD2(Ixx,Iyy)) #define cC \ SOUS(MUL2(Ixx,Iyy),EXP2(Ixyx)) /* Definition des coefficients 'A', 'B' et 'C' de l'equation du second degre a resoudre */ /* pour calculer les valeurs propres... */ #define NORMALISATION_VECTEUR_PROPRE(vecteur,longueur_vecteur,messages_d_erreur) \ Bblock \ EGAL(longueur_vecteur,longF2D(vecteur)); \ Test(IZGT(longueur_vecteur)) \ Bblock \ INITIALISATION_ACCROISSEMENT_2D(vecteur \ ,DIVI(ASD1(vecteur,dx),longueur_vecteur) \ ,DIVI(ASD1(vecteur,dy),longueur_vecteur) \ ); \ Eblock \ ATes \ Bblock \ Test(IL_FAUT(editer_les_situations_impossibles)) \ Bblock \ PRINT_ERREUR("la norme d'un vecteur est negative ou nulle"); \ BLOC(messages_d_erreur); \ Eblock \ ATes \ Bblock \ Eblock \ ETes \ EGAL(corriger_les_vecteurs_propres,VRAI); \ Eblock \ ETes \ Eblock \ /* Normalisation d'un vecteur propre et validation... */