/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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  :                                                                               */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*        Definition :                                                                                                               */
/*                                                                                                                                   */
/*                    Cette commande genere une image                                                                                */
/*                  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.01$K' :                                                                                         */
/*                                                                                                                                   */
/*                    Jean-Francois COLONNA (LACTAMME, 20111228111653).                                                              */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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  :                                               */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#define   GENERER_LES_GET_ARGUMENTS_DE_CONTROLE_DE_L_ARITHMETIQUE_ETENDUE_DES_NOMBRES_FLOTTANTS

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        F I C H I E R S   D ' I N C L U D E S  :                                                                                   */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#include  INCLUDES_BASE
#include  image_image_IMAGESF_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  :                                                                               */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
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.                                                          */
     /*..............................................................................................................................*/

#include  xci/coordonne.04.I"
#include  xci/conformes.01.I"
                                        /* Ceci a ete introduit le 20120521174652...                                                 */

     GET_ARGUMENTSi(nombre_d_arguments
                   ,BLOC(GET_ARGUMENT_C("imageA=""A=",nom_imageA);
                         GET_ARGUMENT_C("imageR=""R=",nom_imageR);
                         GET_ARGUMENT_L("standard=",les_images_sont_standards);

                         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_ARGUMENTS4_F("ponderation_TAHX=""pTAN="
                                         ,Iz_hyperbolique_1_dans_le_plan_image_____ponderation_TAHX
                                         ,IFz_hyperbolique_1_dans_le_plan_image_____ponderation_TAHX
                                         ,Iz_hyperbolique_1_dans_le_plan_complexe_____ponderation_TAHX
                                         ,IFz_hyperbolique_1_dans_le_plan_complexe_____ponderation_TAHX
                                          );
                         GET_ARGUMENTS4_F("A_TAHX_module=""ATm="
                                         ,Iz_hyperbolique_1_dans_le_plan_image_____A_TAHX_du_module
                                         ,IFz_hyperbolique_1_dans_le_plan_image_____A_TAHX_du_module
                                         ,Iz_hyperbolique_1_dans_le_plan_complexe_____A_TAHX_du_module
                                         ,IFz_hyperbolique_1_dans_le_plan_complexe_____A_TAHX_du_module
                                          );
                         GET_ARGUMENTS4_F("B_TAHX_module=""BTm="
                                         ,Iz_hyperbolique_1_dans_le_plan_image_____B_TAHX_du_module
                                         ,IFz_hyperbolique_1_dans_le_plan_image_____B_TAHX_du_module
                                         ,Iz_hyperbolique_1_dans_le_plan_complexe_____B_TAHX_du_module
                                         ,IFz_hyperbolique_1_dans_le_plan_complexe_____B_TAHX_du_module
                                          );
                         GET_ARGUMENTS4_F("ponderation_SINX=""pSIN="
                                         ,Iz_hyperbolique_1_dans_le_plan_image_____ponderation_SINX
                                         ,IFz_hyperbolique_1_dans_le_plan_image_____ponderation_SINX
                                         ,Iz_hyperbolique_1_dans_le_plan_complexe_____ponderation_SINX
                                         ,IFz_hyperbolique_1_dans_le_plan_complexe_____ponderation_SINX
                                          );
                         GET_ARGUMENTS4_F("A_SINX_module=""ASm="
                                         ,Iz_hyperbolique_1_dans_le_plan_image_____A_SINX_du_module
                                         ,IFz_hyperbolique_1_dans_le_plan_image_____A_SINX_du_module
                                         ,Iz_hyperbolique_1_dans_le_plan_complexe_____A_SINX_du_module
                                         ,IFz_hyperbolique_1_dans_le_plan_complexe_____A_SINX_du_module
                                          );
                         GET_ARGUMENTS4_F("B_SINX_module=""BSm="
                                         ,Iz_hyperbolique_1_dans_le_plan_image_____B_SINX_du_module
                                         ,IFz_hyperbolique_1_dans_le_plan_image_____B_SINX_du_module
                                         ,Iz_hyperbolique_1_dans_le_plan_complexe_____B_SINX_du_module
                                         ,IFz_hyperbolique_1_dans_le_plan_complexe_____B_SINX_du_module
                                          );
                         GET_ARGUMENTS4_F("translation_module=""tm="
                                         ,Iz_hyperbolique_1_dans_le_plan_image_____translation_du_module
                                         ,IFz_hyperbolique_1_dans_le_plan_image_____translation_du_module
                                         ,Iz_hyperbolique_1_dans_le_plan_complexe_____translation_du_module
                                         ,IFz_hyperbolique_1_dans_le_plan_complexe_____translation_du_module
                                          );
                                        /* Argments introduits le 20111228143307 et completes le 20111229144932...                   */

                         ARGUMENTS_DES_TRANSFORMATIONS_CONFORMES;
                                        /* Arguments introduits sous cette forme le 20120521174652...                                */

                         CONTROLE_DE_L_ARITHMETIQUE_ETENDUE_DES_NOMBRES_COMPLEXES;
                         )
                    );

#include  xci/coordonne.03.I"

     CALi(gInettoyage(les_images_sont_standards,ImageR,IFmageR));
                                        /* Initialisation de l'image Resultat.                                                       */

     Test(PAS_D_ERREUR(CODE_ERROR(gIload_image(les_images_sont_standards,ImageA,IFmageA,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(gIz_hyperbolique_1_dans_le_plan_image(les_images_sont_standards
                                                         ,ImageR,IFmageR
                                                         ,ADRESSE(Rtranslation)
                                                         ,facteur
                                                         ,ImageA,IFmageA
                                                         ,ADRESSE(Atranslation)
                                                          )
                    );
                                        /* Et transformation de l'image Argument dans le plan image.                                 */
               Eblock
          ATes
               Bblock
               CALS(gIz_hyperbolique_1_dans_le_plan_complexe(les_images_sont_standards
                                                            ,ImageR,IFmageR
                                                            ,ADRESSE(Rtranslation)
                                                            ,facteur
                                                            ,ImageA,IFmageA
                                                            ,ADRESSE(Atranslation)
                                                             )
                    );
                                        /* Et transformation de l'image Argument dans le plan Complexe.                              */
               Eblock
          ETes

          CALi(gIupdate_image(les_images_sont_standards,nom_imageR,ImageR,IFmageR));
          Eblock
     ATes
          Bblock
          Test__CODE_ERREUR__ERREUR07;
          Eblock
     ETes

     RETU_Commande;
     Eblock
ECommande



Copyright © Jean-François COLONNA, 2019-2024.
Copyright © CMAP (Centre de Mathématiques APpliquées) UMR CNRS 7641 / École polytechnique, Institut Polytechnique de Paris, 2019-2024.