/*************************************************************************************************************************************/ /* */ /* A P P L I C A T I O N D E L A T R A N S F O R M A T I O N H Y P E R B O L I Q U E 1 */ /* D A N S L E P L A N C O M P L E X E */ /* S U R U N E I M A G E C O M P L E X E : */ /* */ /* */ /* Definition : */ /* */ /* Cette commande genere une image Complexe */ /* dont le nom est le premier argument */ /* d'appel ; elle est le resultat de */ /* la transformation de la deuxieme */ /* image par la transformation hyperbolique. */ /* */ /* */ /* Author of '$xci/z_hyperbol.11$K' : */ /* */ /* Jean-Francois COLONNA (LACTAMME, 20111228111658). */ /* */ /*************************************************************************************************************************************/ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* I N T E R F A C E ' listG ' : */ /* */ /* */ /* :Debut_listG: */ /* :Fin_listG: */ /* */ /*************************************************************************************************************************************/ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* D I R E C T I V E S S P E C I F I Q U E S D E C O M P I L A T I O N : */ /* */ /*************************************************************************************************************************************/ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* F I C H I E R S D ' I N C L U D E S : */ /* */ /*************************************************************************************************************************************/ #include INCLUDES_BASE #include image_image_IMAGESJ_EXT #include maths_compl_fonct_CONFORMES_EXT /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* P A R A M E T R E S : */ /* */ /*************************************************************************************************************************************/ #include xci/coordonne.01.I" #define TRAVAILLER_DANS_LE_PLAN_IMAGE \ VRAI \ /* Indique s'il faut travailler dans le plan image ('VRAI') ou bien dans le plan complexe */ \ /* ("FAUX'). */ #define FACTEUR \ PARE(1000) \ /* Facteur multiplicatif. */ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* M A C R O S U T I L E S : */ /* */ /*************************************************************************************************************************************/ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* A P P L I C A T I O N D E L A T R A N S F O R M A T I O N H Y P E R B O L I Q U E 1 */ /* D A N S L E P L A N C O M P L E X E */ /* S U R U N E I M A G E C O M P L E X E : */ /* */ /*************************************************************************************************************************************/ BCommande(nombre_d_arguments,arguments) /*-----------------------------------------------------------------------------------------------------------------------------------*/ Bblock #include xci/coordonne.02.I" DEFV(CHAR,INIC(POINTERc(nom_imageR),NOM_PIPE)); DEFV(CHAR,INIC(POINTERc(nom_imageA),NOM_PIPE)); DEFV(Logical,INIT(travailler_dans_le_plan_image,TRAVAILLER_DANS_LE_PLAN_IMAGE)); /* Indique s'il faut travailler dans le plan image ('VRAI') ou bien dans le plan complexe */ /* ("FAUX'). */ DEFV(Float,INIT(facteur,FACTEUR)); /* Facteur multiplicatif. */ DEFV(deltaF_2D,Atranslation); /* Translation de l'image Argument, */ DEFV(deltaF_2D,Rtranslation); /* Translation de l'image Resultat. */ DEFV(complexe,valeur_initiale); /* Valeur initiale de l'image Resultat. */ /*..............................................................................................................................*/ #include xci/coordonne.04.I" #include xci/conformes.01.I" /* Ceci a ete introduit le 20120521174757... */ GET_ARGUMENTSi(nombre_d_arguments ,BLOC(GET_ARGUMENT_C("imageA=""A=",nom_imageA); GET_ARGUMENT_C("imageR=""R=",nom_imageR); GET_ARGUMENT_L("plan_image=""image=",travailler_dans_le_plan_image); GET_ARGUMENT_N("plan_complexe=""complexe=",travailler_dans_le_plan_image); GET_ARGUMENT_F("facteur=""f=",facteur); GET_ARGUMENTS2_F("ponderation_TAHX=""pTAN=" ,IJz_hyperbolique_1_dans_le_plan_image_____ponderation_TAHX ,IJz_hyperbolique_1_dans_le_plan_complexe_____ponderation_TAHX ); GET_ARGUMENTS2_F("A_TAHX_module=""ATm=" ,IJz_hyperbolique_1_dans_le_plan_image_____A_TAHX_du_module ,IJz_hyperbolique_1_dans_le_plan_complexe_____A_TAHX_du_module ); GET_ARGUMENTS2_F("B_TAHX_module=""BTm=" ,IJz_hyperbolique_1_dans_le_plan_image_____B_TAHX_du_module ,IJz_hyperbolique_1_dans_le_plan_complexe_____B_TAHX_du_module ); GET_ARGUMENTS2_F("ponderation_SINX=""pSIN=" ,IJz_hyperbolique_1_dans_le_plan_image_____ponderation_SINX ,IJz_hyperbolique_1_dans_le_plan_complexe_____ponderation_SINX ); GET_ARGUMENTS2_F("A_SINX_module=""ASm=" ,IJz_hyperbolique_1_dans_le_plan_image_____A_SINX_du_module ,IJz_hyperbolique_1_dans_le_plan_complexe_____A_SINX_du_module ); GET_ARGUMENTS2_F("B_SINX_module=""BSm=" ,IJz_hyperbolique_1_dans_le_plan_image_____B_SINX_du_module ,IJz_hyperbolique_1_dans_le_plan_complexe_____B_SINX_du_module ); GET_ARGUMENTS2_F("translation_module=""tm=" ,IJz_hyperbolique_1_dans_le_plan_image_____translation_du_module ,IJz_hyperbolique_1_dans_le_plan_complexe_____translation_du_module ); /* Argments introduits le 20111228143307 et completes le 20111229144940... */ ARGUMENTS_DES_TRANSFORMATIONS_CONFORMES; /* Arguments introduits sous cette forme le 20120521174757... */ CONTROLE_DE_L_ARITHMETIQUE_ETENDUE_DES_NOMBRES_COMPLEXES; /* Cette extension a ete introduite le 20120521174757... */ ) ); #include xci/coordonne.03.I" Cinitialisation(valeur_initiale,R0_Complexe,I0_Complexe); CALi(IJinitialisation(IJmageR,ADRESSE(valeur_initiale))); /* Initialisation de l'image Resultat. */ Test(PAS_D_ERREUR(CODE_ERROR(IloadJ_image(IJmageA,nom_imageA)))) /* Chargement de l'image a transformer. */ Bblock INITIALISATION_ACCROISSEMENT_2D(Atranslation ,NEGA(SUPER_lNORMALISE_OX(MOIT(FLOT(dimX)))) ,NEGA(SUPER_lNORMALISE_OY(MOIT(FLOT(dimY)))) ); INITIALISATION_ACCROISSEMENT_2D(Rtranslation ,ZERO ,ZERO ); Test(IL_FAUT(travailler_dans_le_plan_image)) Bblock CALS(IJz_hyperbolique_1_dans_le_plan_image(IJmageR,ADRESSE(Rtranslation),facteur,IJmageA,ADRESSE(Atranslation))); /* Et transformation de l'image Argument dans le plan image. */ Eblock ATes Bblock CALS(IJz_hyperbolique_1_dans_le_plan_complexe(IJmageR,ADRESSE(Rtranslation),facteur,IJmageA,ADRESSE(Atranslation))); /* Et transformation de l'image Argument dans le plan Complexe. */ Eblock ETes CALi(IupdateJ_image(nom_imageR,IJmageR)); Eblock ATes Bblock Test__CODE_ERREUR__ERREUR07; Eblock ETes RETU_Commande; Eblock ECommande