_______________________________________________________________________________________________________________________________________
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        F O N C T I O N S   C O M P L E X E S   E T   H Y P E R - C O M P L E X E S                                                */
/*        D E   T R A N S F O R M A T I O N   D E S   I M A G E S  :                                                                 */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*        Definition :                                                                                                               */
/*                                                                                                                                   */
/*                    Dans ce fichier se trouvent un                                                                                 */
/*                  certain nombre de fonctions de                                                                                   */
/*                  manipulation des images par                                                                                      */
/*                  transformations conformes.                                                                                       */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*        Notations :                                                                                                                */
/*                                                                                                                                   */
/*                    Par ces fonctions, on va passer                                                                                */
/*                  d'un espace bidimensionnel a un autre                                                                            */
/*                  espace bidimensionnel en notant :                                                                                */
/*                                                                                                                                   */
/*                                     NORM_X   : cNORMALISE_OX                                                                      */
/*                                     NORM_Y   : cNORMALISE_OY                                                                      */
/*                                                                                                                                   */
/*                                     DENORM_X : lDENORMALISE_OX                                                                    */
/*                                     DENORM_Y : lDENORMALISE_OY                                                                    */
/*                                                                                                                                   */
/*                                     pc       : point_courant                                                                      */
/*                                     pm       : point_manoeuvre                                                                    */
/*                                     np       : {new_X,new_Y}                                                                      */
/*                                                                                                                                   */
/*                                     f        : facteur_multiplicatif[_effectif]                                                   */
/*                                                                                                                                   */
/*                                     RhX      : R_facteur_homothetie_X                                                             */
/*                                     RhY      : R_facteur_homothetie_Y                                                             */
/*                                                                                                                                   */
/*                                     AhX      : A_facteur_homothetie_X                                                             */
/*                                     AhY      : A_facteur_homothetie_Y                                                             */
/*                                                                                                                                   */
/*                                     AtrX     : A_translation__dX_____                                                             */
/*                                     AtrY     : A_translation__dY_____                                                             */
/*                                     RtrX     : R_translation__dX_____                                                             */
/*                                     RtrY     : R_translation__dY_____                                                             */
/*                                                                                                                                   */
/*                  avec symboliquement :                                                                                            */
/*                                                                                                                                   */
/*                                     pm = TransformationConforme(pc)                                                               */
/*                                                                                                                                   */
/*                  et :                                                                                                             */
/*                                                                                                                                   */
/*                                     LoadPoint(pc) --> StorePoint(np)        par defaut,                                           */
/*                                     LoadPoint(np) --> StorePoint(pc)        si 'IL_FAUT(..._permuter_les_coordonnees_...)'        */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*                  1-Cas dit du "PLAN_IMAGE" :                                                                                      */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*                            YMAX1      ------------------                     YMAX2      ------------------                        */
/*                                      |                  |                              |                  |                       */
/*                                      |                  |                              |                  |                       */
/*                                      |           *      |                              |                  |                       */
/*                                      |           pc     |                              |                  |                       */
/*                                      |                  |                              |                  |                       */
/*                                      |                  |                              |   *              |                       */
/*                                      |                  |                              |   pm             |                       */
/*                                      |                  |                              |                  |                       */
/*                                      |                  |                              |                  |                       */
/*                            YMIN1      ------------------                     YMIN2      ------------------                        */
/*                                                                                                                                   */
/*                                      XMIN1          XMAX1                              XMIN2          XMAX2                       */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*                            Reelle(pc)     = X   +DENORM_X(AtrX)              Reelle(np)     = RhX.f.Reelle(pm)    +DENORM_X(RtrX) */
/*                            Imaginaire(pc) = Y   +DENORM_Y(AtrY)              Imaginaire(np) = RhY.f.Imaginaire(pm)+DENORM_X(RtrX) */
/*                                                                                                                                   */
/*                            XMIN1          = Xmin+DENORM_X(AtrX)                                                                   */
/*                            XMAX1          = Xmax+DENORM_X(AtrX)                                                                   */
/*                                                                                                                                   */
/*                            YMIN1          = Ymin+DENORM_Y(AtrY)                                                                   */
/*                            YMAY1          = Ymax+DENORM_Y(AtrY)                                                                   */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*                  2-Cas dit du "PLAN_COMPLEXE" :                                                                                   */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*                            YMAX1      ------------------                     YMAX2      ------------------                        */
/*                                      |                  |                              |                  |                       */
/*                                      |                  |                              |                  |                       */
/*                                      |           *      |                              |                  |                       */
/*                                      |           pc     |                              |                  |                       */
/*                                      |                  |                              |                  |                       */
/*                                      |                  |                              |   *              |                       */
/*                                      |                  |                              |   pm             |                       */
/*                                      |                  |                              |                  |                       */
/*                                      |                  |                              |                  |                       */
/*                            YMIN1      ------------------                     YMIN2      ------------------                        */
/*                                                                                                                                   */
/*                                      XMIN1          XMAX1                              XMIN2          XMAX2                       */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*                            Reelle(pc)     = AhX.NORM_X(X)   +AtrX            Reelle(np)     = RhX.f.Reelle(pm)    +RtrX           */
/*                            Imaginaire(pc) = AhY.NORM_Y(Y)   +AtrY            Imaginaire(np) = RhY.f.Imaginaire(pm)+RtrX           */
/*                                                                                                                                   */
/*                            XMIN1          = AhX.NORM_X(Xmin)+AtrX                                                                 */
/*                                           = 0               +AtrX                                                                 */
/*                            XMAX1          = AhX.NORM_X(Xmax)+AtrX                                                                 */
/*                                           = AhX             +AtrX                                                                 */
/*                                                                                                                                   */
/*                            YMIN1          = AhY.NORM_Y(Ymin)+AtrY                                                                 */
/*                                           = 0               +AtrY                                                                 */
/*                            YMAY1          = AhY.NORM_Y(Ymax)+AtrY                                                                 */
/*                                           = AhY             +AtrY                                                                 */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*        Author of '$ximcf/conformes$FON' :                                                                                         */
/*                                                                                                                                   */
/*                    Jean-Francois COLONNA (LACTAMME, 19870000000000).                                                              */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        C O N T R O L E   D E   L ' A R I T H M E T I Q U E   E T E N D U E                                                        */
/*        L O R S   D E   C A L C U L S   S U R   L E S   N O M B R E S   C O M P L E X E S  :                                       */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

#ifdef    FAIRE_EVENTUELLEMENT_DE_L_ARITHMETIQUE_ETENDUE_DANS_LES_NOMBRES_COMPLEXES
DEFV(Common,DEFV(Logical,_______VERSION__ximcf_conformes_____ARITHMETIQUE_ETENDUE_DANS_LES_NOMBRES_COMPLEXES));
                                        /* Indicateur introduit le 20070129121935...                                                 */
#Aifdef   FAIRE_EVENTUELLEMENT_DE_L_ARITHMETIQUE_ETENDUE_DANS_LES_NOMBRES_COMPLEXES
DEFV(Common,DEFV(Logical,_______VERSION__ximcf_conformes_____ARITHMETIQUE_DE_BASE_DANS_LES_NOMBRES_COMPLEXES));
                                        /* Indicateur introduit le 20070129132455...                                                 */
#Eifdef   FAIRE_EVENTUELLEMENT_DE_L_ARITHMETIQUE_ETENDUE_DANS_LES_NOMBRES_COMPLEXES

_______________________________________________________________________________________________________________________________________
_______________________________________________________________________________________________________________________________________
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        D E F I N I T I O N   G E N E R A L E   D E S   T R A N S F O R M A T I O N S   C O N F O R M E S                          */
/*        D A N S   L E S   P L A N S   I M A G E   E T   C O M P L E X E   R E S P E C T I V E M E N T  :                           */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
                                        /* ATTENTION : 'TRANSFORMATIONS_CONFORMES_____permuter_les_coordonnees_de_load_et_de_store'  */
                                        /* ne peut etre defini ici puisqu'il est reference dans chacun des blocs de fonctions qui    */
                                        /* suivent alors qu'il ne peut etre defini qu'une seule fois (dans le premier bloc...).      */

#define   COORDONNEES_EFFECTIVES_DE_store_load(new_X,new_Y,old_X,old_Y)                                                                 \
                                        /* On notera les correspondances suivantes :                                                 */ \
                                        /*                                                                                           */ \
                                        /*                  {old_X,old_Y}  -->  point_courant       ('store(...)' par defaut)        */ \
                                        /*                                                                                           */ \
                                        /*                                                             /\                            */ \
                                        /* et :                                                        ||                            */ \
                                        /*                                                             ||                            */ \
                                        /*                                                                                           */ \
                                        /*                  {new_X,new_Y}  -->  point_manoeuvre     ('load(...)' par defaut)         */ \
                                        /*                                                                                           */ \
                                        /* "par defaut" signifiant que les coordonnees de 'load' et de 'store' ne sont pas permutees */ \
                                        /* ('IL_NE_FAUT_PAS(..._____permuter_les_coordonnees_de_load_et_de_store)').                 */ \
                    DEFV(Int,INIT(new_X_effectif,new_X));                                                                               \
                    DEFV(Int,INIT(new_Y_effectif,new_Y));                                                                               \
                    DEFV(Int,INIT(old_X_effectif,old_X));                                                                               \
                    DEFV(Int,INIT(old_Y_effectif,old_Y));                                                                               \
                                                                                                                                        \
                    Test(IL_FAUT(TRANSFORMATIONS_CONFORMES_____permuter_les_coordonnees_de_load_et_de_store))                           \
                         Bblock                                                                                                         \
                         EGAL(new_X_effectif,old_X);                                                                                    \
                         EGAL(new_Y_effectif,old_Y);                                                                                    \
                         EGAL(old_X_effectif,new_X);                                                                                    \
                         EGAL(old_Y_effectif,new_Y);                                                                                    \
                         Eblock                                                                                                         \
                    ATes                                                                                                                \
                         Bblock                                                                                                         \
                         Eblock                                                                                                         \
                    ETes                                                                                                                \
                                                                                                                                        \
                    Test(IL_FAUT(TRANSFORMATIONS_CONFORMES_____editer_les_extrema_des_coordonnees_de_load_et_de_store))                 \
                         Bblock                                                                                                         \
                         Test(IFET(IFEQ(X,Xmin),IFEQ(Y,Ymin)))                                                                          \
                              Bblock                                                                                                    \
                              EGAL(TRANSFORMATIONS_CONFORMES_____minimum__old_X__de_load_et_de_store,INFINI);                           \
                              EGAL(TRANSFORMATIONS_CONFORMES_____maximum__old_X__de_load_et_de_store,MOINS_L_INFINI);                   \
                                                                                                                                        \
                              EGAL(TRANSFORMATIONS_CONFORMES_____minimum__old_Y__de_load_et_de_store,INFINI);                           \
                              EGAL(TRANSFORMATIONS_CONFORMES_____maximum__old_Y__de_load_et_de_store,MOINS_L_INFINI);                   \
                                                                                                                                        \
                              EGAL(TRANSFORMATIONS_CONFORMES_____minimum__new_X__de_load_et_de_store,INFINI);                           \
                              EGAL(TRANSFORMATIONS_CONFORMES_____maximum__new_X__de_load_et_de_store,MOINS_L_INFINI);                   \
                                                                                                                                        \
                              EGAL(TRANSFORMATIONS_CONFORMES_____minimum__new_Y__de_load_et_de_store,INFINI);                           \
                              EGAL(TRANSFORMATIONS_CONFORMES_____maximum__new_Y__de_load_et_de_store,MOINS_L_INFINI);                   \
                                        /* Initialisation du processus...                                                            */ \
                              Eblock                                                                                                    \
                         ATes                                                                                                           \
                              Bblock                                                                                                    \
                              Eblock                                                                                                    \
                         ETes                                                                                                           \
                         Eblock                                                                                                         \
                    ATes                                                                                                                \
                         Bblock                                                                                                         \
                         Eblock                                                                                                         \
                    ETes                                                                                                                \
                                                                                                                                        \
                    Test(IL_FAUT(TRANSFORMATIONS_CONFORMES_____editer_les_extrema_des_coordonnees_de_load_et_de_store))                 \
                         Bblock                                                                                                         \
                         EGAL(TRANSFORMATIONS_CONFORMES_____minimum__old_X__de_load_et_de_store                                         \
                             ,MIN2(TRANSFORMATIONS_CONFORMES_____minimum__old_X__de_load_et_de_store,old_X)                             \
                              );                                                                                                        \
                         EGAL(TRANSFORMATIONS_CONFORMES_____maximum__old_X__de_load_et_de_store                                         \
                             ,MAX2(TRANSFORMATIONS_CONFORMES_____maximum__old_X__de_load_et_de_store,old_X)                             \
                              );                                                                                                        \
                                                                                                                                        \
                         EGAL(TRANSFORMATIONS_CONFORMES_____minimum__old_Y__de_load_et_de_store                                         \
                             ,MIN2(TRANSFORMATIONS_CONFORMES_____minimum__old_Y__de_load_et_de_store,old_Y)                             \
                              );                                                                                                        \
                         EGAL(TRANSFORMATIONS_CONFORMES_____maximum__old_Y__de_load_et_de_store                                         \
                             ,MAX2(TRANSFORMATIONS_CONFORMES_____maximum__old_Y__de_load_et_de_store,old_Y)                             \
                              );                                                                                                        \
                                                                                                                                        \
                         EGAL(TRANSFORMATIONS_CONFORMES_____minimum__new_X__de_load_et_de_store                                         \
                             ,MIN2(TRANSFORMATIONS_CONFORMES_____minimum__new_X__de_load_et_de_store,new_X)                             \
                              );                                                                                                        \
                         EGAL(TRANSFORMATIONS_CONFORMES_____maximum__new_X__de_load_et_de_store                                         \
                             ,MAX2(TRANSFORMATIONS_CONFORMES_____maximum__new_X__de_load_et_de_store,new_X)                             \
                              );                                                                                                        \
                                                                                                                                        \
                         EGAL(TRANSFORMATIONS_CONFORMES_____minimum__new_Y__de_load_et_de_store                                         \
                             ,MIN2(TRANSFORMATIONS_CONFORMES_____minimum__new_Y__de_load_et_de_store,new_Y)                             \
                              );                                                                                                        \
                         EGAL(TRANSFORMATIONS_CONFORMES_____maximum__new_Y__de_load_et_de_store                                         \
                             ,MAX2(TRANSFORMATIONS_CONFORMES_____maximum__new_Y__de_load_et_de_store,new_Y)                             \
                              );                                                                                                        \
                                        /* Recherche des extrema...                                                                  */ \
                         Eblock                                                                                                         \
                    ATes                                                                                                                \
                         Bblock                                                                                                         \
                         Eblock                                                                                                         \
                    ETes                                                                                                                \
                                                                                                                                        \
                    Test(IL_FAUT(TRANSFORMATIONS_CONFORMES_____editer_les_extrema_des_coordonnees_de_load_et_de_store))                 \
                         Bblock                                                                                                         \
                         Test(IFET(IFEQ(X,Xmax),IFEQ(Y,Ymax)))                                                                          \
                              Bblock                                                                                                    \
                              CAL3(Prme4("[%d,%d]x[%d,%d]"                                                                              \
                                        ,TRANSFORMATIONS_CONFORMES_____minimum__new_X__de_load_et_de_store                              \
                                        ,TRANSFORMATIONS_CONFORMES_____maximum__new_X__de_load_et_de_store                              \
                                        ,TRANSFORMATIONS_CONFORMES_____minimum__new_Y__de_load_et_de_store                              \
                                        ,TRANSFORMATIONS_CONFORMES_____maximum__new_Y__de_load_et_de_store                              \
                                         )                                                                                              \
                                   );                                                                                                   \
                                                                                                                                        \
                              Test(IL_NE_FAUT_PAS(TRANSFORMATIONS_CONFORMES_____permuter_les_coordonnees_de_load_et_de_store))          \
                                   Bblock                                                                                               \
                                   CALS(FPrme0(" --> "));                                                                               \
                                   Eblock                                                                                               \
                              ATes                                                                                                      \
                                   Bblock                                                                                               \
                                   CALS(FPrme0(" <-- "));                                                                               \
                                   Eblock                                                                                               \
                              ETes                                                                                                      \
                                                                                                                                        \
                              CAL3(Prme4("[%d,%d]x[%d,%d]"                                                                              \
                                        ,TRANSFORMATIONS_CONFORMES_____minimum__old_X__de_load_et_de_store                              \
                                        ,TRANSFORMATIONS_CONFORMES_____maximum__old_X__de_load_et_de_store                              \
                                        ,TRANSFORMATIONS_CONFORMES_____minimum__old_Y__de_load_et_de_store                              \
                                        ,TRANSFORMATIONS_CONFORMES_____maximum__old_Y__de_load_et_de_store                              \
                                         )                                                                                              \
                                   );                                                                                                   \
                                                                                                                                        \
                              CALS(Fsauts_de_lignes(UN));                                                                               \
                              Eblock                                                                                                    \
                         ATes                                                                                                           \
                              Bblock                                                                                                    \
                              Eblock                                                                                                    \
                         ETes                                                                                                           \
                         Eblock                                                                                                         \
                    ATes                                                                                                                \
                         Bblock                                                                                                         \
                         Eblock                                                                                                         \
                    ETes                                                                                                                \
                                                                                                                                        \
                    Test(IL_FAUT(TRANSFORMATIONS_CONFORMES_____editer_les_coordonnees_de_load_et_de_store))                             \
                         Bblock                                                                                                         \
                         CALS(FPrme0("PlanImage... : "));                                                                               \
                                                                                                                                        \
                         CAL3(Prme2("{%d,%d}"                                                                                           \
                                   ,new_X                                                                                               \
                                   ,new_Y                                                                                               \
                                    )                                                                                                   \
                              );                                                                                                        \
                                                                                                                                        \
                         Test(IL_NE_FAUT_PAS(TRANSFORMATIONS_CONFORMES_____permuter_les_coordonnees_de_load_et_de_store))               \
                              Bblock                                                                                                    \
                              CALS(FPrme0(" --> "));                                                                                    \
                              Eblock                                                                                                    \
                         ATes                                                                                                           \
                              Bblock                                                                                                    \
                              CALS(FPrme0(" <-- "));                                                                                    \
                              Eblock                                                                                                    \
                         ETes                                                                                                           \
                                                                                                                                        \
                         CAL3(Prme2("{%d,%d}"                                                                                           \
                                   ,old_X                                                                                               \
                                   ,old_Y                                                                                               \
                                    )                                                                                                   \
                              );                                                                                                        \
                                                                                                                                        \
                         CALS(Fsauts_de_lignes(UN));                                                                                    \
                         Eblock                                                                                                         \
                    ATes                                                                                                                \
                         Bblock                                                                                                         \
                         Eblock                                                                                                         \
                    ETes                                                                                                                \
                                        /* Procedure de permutation eventuelle des coordonnees (introduite le 20120521150042) et     */ \
                                        /* completee le 20120528091800 pour editer eventuellement les "extrema" des coordonnees      */ \
                                        /* (le mot 'extrema' est entre quotes car, en effet, pour 'point_manoeuvre' cela peut ne     */ \
                                        /* pas etre les extrema...), puis encore completee le 20120604120312 afin de pouvoir         */ \
                                        /* editer les coordonnees elles-memes...                                                     */

#define   store_point_load_point(imageA,new_X,new_Y,imageR,old_X,old_Y)                                                                 \
                    Bblock                                                                                                              \
                    COORDONNEES_EFFECTIVES_DE_store_load(new_X,new_Y,old_X,old_Y);                                                      \
                                        /* Permutation eventuelle de {old_X,old_Y} et de {new_X,new_Y}...                            */ \
                                                                                                                                        \
                    OPC5(IL_NE_FAUT_PAS(TRANSFORMATIONS_CONFORMES_____store_point_modulo__plutot_que__store_point_valide)               \
                        ,store_point_valide                                                                                             \
                        ,store_point_modulo                                                                                             \
                        ,OPC3(IL_NE_FAUT_PAS(TRANSFORMATIONS_CONFORMES_____load_point_valide__plutot_que__load_point_modulo)            \
                             ,load_point_modulo                                                                                         \
                             ,load_point_valide                                                                                         \
                             ,imageA                                                                                                    \
                             ,new_X_effectif                                                                                            \
                             ,new_Y_effectif                                                                                            \
                              )                                                                                                         \
                        ,imageR                                                                                                         \
                        ,old_X_effectif                                                                                                 \
                        ,old_Y_effectif                                                                                                 \
                        ,FVARIABLE                                                                                                      \
                         );                                                                                                             \
                    Eblock                                                                                                              \
                                        /* Procedure de load puis de store "standard" (introduite le 20120521150042).                */
#define   storeF_point_loadF_point(imageA,new_X,new_Y,imageR,old_X,old_Y)                                                               \
                    Bblock                                                                                                              \
                    COORDONNEES_EFFECTIVES_DE_store_load(new_X,new_Y,old_X,old_Y);                                                      \
                                        /* Permutation eventuelle de {old_X,old_Y} et de {new_X,new_Y}...                            */ \
                                                                                                                                        \
                    OPC4(IL_NE_FAUT_PAS(TRANSFORMATIONS_CONFORMES_____store_point_modulo__plutot_que__store_point_valide)               \
                        ,storeF_point_valide                                                                                            \
                        ,storeF_point_modulo                                                                                            \
                        ,OPC3(IL_NE_FAUT_PAS(TRANSFORMATIONS_CONFORMES_____load_point_valide__plutot_que__load_point_modulo)            \
                             ,loadF_point_modulo                                                                                        \
                             ,loadF_point_valide                                                                                        \
                             ,imageA                                                                                                    \
                             ,new_X_effectif                                                                                            \
                             ,new_Y_effectif                                                                                            \
                              )                                                                                                         \
                        ,imageR                                                                                                         \
                        ,old_X_effectif                                                                                                 \
                        ,old_Y_effectif                                                                                                 \
                         );                                                                                                             \
                    Eblock                                                                                                              \
                                        /* Procedure de load puis de store "flottant" (introduite le 20120521150042).                */
#define   storeJ_point_loadJ_point(imageA,new_X,new_Y,imageR,old_X,old_Y)                                                               \
                    Bblock                                                                                                              \
                    COORDONNEES_EFFECTIVES_DE_store_load(new_X,new_Y,old_X,old_Y);                                                      \
                                        /* Permutation eventuelle de {old_X,old_Y} et de {new_X,new_Y}...                            */ \
                                                                                                                                        \
                    OPC4(IL_NE_FAUT_PAS(TRANSFORMATIONS_CONFORMES_____store_point_modulo__plutot_que__store_point_valide)               \
                        ,storeRJ_point_valide                                                                                           \
                        ,storeRJ_point_valide                                                                                           \
                                        /* ATTENTION : 'storeRJ_point_modulo(...)' n'existe pas a la date du 20120604154933...       */ \
                        ,OPC3(IL_NE_FAUT_PAS(TRANSFORMATIONS_CONFORMES_____load_point_valide__plutot_que__load_point_modulo)            \
                             ,loadRJ_point_modulo                                                                                       \
                             ,loadRJ_point_modulo                                                                                       \
                                        /* ATTENTION : 'loadRJ_point_valide(...)' n'existe pas a la date du 20120604154933...        */ \
                             ,imageA                                                                                                    \
                             ,new_X_effectif                                                                                            \
                             ,new_Y_effectif                                                                                            \
                              )                                                                                                         \
                        ,imageR                                                                                                         \
                        ,old_X_effectif                                                                                                 \
                        ,old_Y_effectif                                                                                                 \
                         );                                                                                                             \
                    OPC4(IL_NE_FAUT_PAS(TRANSFORMATIONS_CONFORMES_____store_point_modulo__plutot_que__store_point_valide)               \
                        ,storeIJ_point_valide                                                                                           \
                        ,storeIJ_point_valide                                                                                           \
                                        /* ATTENTION : 'storeIJ_point_modulo(...)' n'existe pas a la date du 20120604154933...       */ \
                        ,OPC3(IL_NE_FAUT_PAS(TRANSFORMATIONS_CONFORMES_____load_point_valide__plutot_que__load_point_modulo)            \
                             ,loadIJ_point_modulo                                                                                       \
                             ,loadIJ_point_modulo                                                                                       \
                                        /* ATTENTION : 'loadIJ_point_valide(...)' n'existe pas a la date du 20120604154933...        */ \
                             ,imageA                                                                                                    \
                             ,new_X_effectif                                                                                            \
                             ,new_Y_effectif                                                                                            \
                              )                                                                                                         \
                        ,imageR                                                                                                         \
                        ,old_X_effectif                                                                                                 \
                        ,old_Y_effectif                                                                                                 \
                         );                                                                                                             \
                    Eblock                                                                                                              \
                                        /* Procedure de load puis de store "complexe" (introduite le 20120521150042).                */

DEFV(Common,DEFV(Int,ZINT(TRANSFORMATION_CONFORME_DANS_LE_PLAN_IMAGE_____Xmin_reference,k___Xmin)));
DEFV(Common,DEFV(Int,ZINT(TRANSFORMATION_CONFORME_DANS_LE_PLAN_IMAGE_____Xmax_reference,k___Xmax)));
DEFV(Common,DEFV(Int,ZINT(TRANSFORMATION_CONFORME_DANS_LE_PLAN_IMAGE_____Ymin_reference,k___Ymin)));
DEFV(Common,DEFV(Int,ZINT(TRANSFORMATION_CONFORME_DANS_LE_PLAN_IMAGE_____Ymax_reference,k___Ymax)));
                                        /* Definition d'un format d'image dit "reference" utilise pour calculer un facteur           */
                                        /* homothetique multiplicatif (introduit le 20100408174856).                                 */
                                        /*                                                                                           */
                                        /* ATTENTION : je note le 20111014104900 que le format de reference est le format 'Std'      */
                                        /* et non pas le format 'Pal'...                                                             */
                                        /*                                                                                           */
                                        /* ATTENTION : je note le 20170322102617 l'existence de six nouvelles variables dans         */
                                        /* 'v $xiii/Images$STR _reference.k___'. Mais celles-ci ne peuvent remplacer les quatre      */
                                        /* qui sont definies ci-dessus et ce pour de possibles problemes de compatibilite (au cas    */
                                        /* ou, par exemple, les variables 'v $xiii/Images$STR _reference.k___' passaient du format   */
                                        /* 'Std' au format 'Pal'...).                                                                */
DEFV(Common,DEFV(Logical,ZINT(TRANSFORMATION_CONFORME_DANS_LE_PLAN_IMAGE_____facteur_multiplicatif_homothetique,FAUX)));
                                        /* Introduit le 20100408174856, la valeur par defaut garantissant la compatibilite           */
                                        /* anterieure...                                                                             */

DEFV(Common,DEFV(Float,ZINT(TRANSFORMATION_CONFORME_DANS_LE_PLAN_COMPLEXE_____A_facteur_homothetie_X,FU)));
DEFV(Common,DEFV(Float,ZINT(TRANSFORMATION_CONFORME_DANS_LE_PLAN_COMPLEXE_____A_facteur_homothetie_Y,FU)));
                                        /* Parametres destines uniquement a 'TRANSFORMATION_CONFORME_DANS_LE_PLAN_COMPLEXE(...)'     */
                                        /* permettant de faire une homothetie sur le domaine de calcul (via 'point_courant') et      */
                                        /* introduits le 20120527181002...                                                           */

DEFV(Common,DEFV(Float,ZINT(TRANSFORMATION_CONFORME_DANS_LES_PLANS_____R_facteur_homothetie_X,FU)));
DEFV(Common,DEFV(Float,ZINT(TRANSFORMATION_CONFORME_DANS_LES_PLANS_____R_facteur_homothetie_Y,FU)));
                                        /* Parametres destines a faire une homothetie (via 'point_manoeuvre') introduits le          */
                                        /* 20120527184309...                                                                         */

#define   A_translation__dX_____                                                                                                        \
                    AXPB(TRANSFORMATION_CONFORME_DANS_LES_PLANS_____A_translation_AX                                                    \
                        ,ASI1(A_translation,dx)                                                                                         \
                        ,TRANSFORMATION_CONFORME_DANS_LES_PLANS_____A_translation_BX                                                    \
                         )
#define   A_translation__dY_____                                                                                                        \
                    AXPB(TRANSFORMATION_CONFORME_DANS_LES_PLANS_____A_translation_AY                                                    \
                        ,ASI1(A_translation,dy)                                                                                         \
                        ,TRANSFORMATION_CONFORME_DANS_LES_PLANS_____A_translation_BY                                                    \
                         )

DEFV(Common,DEFV(Float,ZINT(TRANSFORMATION_CONFORME_DANS_LES_PLANS_____A_translation_AX,FU)));
DEFV(Common,DEFV(Float,ZINT(TRANSFORMATION_CONFORME_DANS_LES_PLANS_____A_translation_BX,FZERO)));
DEFV(Common,DEFV(Float,ZINT(TRANSFORMATION_CONFORME_DANS_LES_PLANS_____A_translation_AY,FU)));
DEFV(Common,DEFV(Float,ZINT(TRANSFORMATION_CONFORME_DANS_LES_PLANS_____A_translation_BY,FZERO)));

#define   R_translation__dX_____                                                                                                        \
                    AXPB(TRANSFORMATION_CONFORME_DANS_LES_PLANS_____R_translation_AX                                                    \
                        ,ASI1(R_translation,dx)                                                                                         \
                        ,TRANSFORMATION_CONFORME_DANS_LES_PLANS_____R_translation_BX                                                    \
                         )
#define   R_translation__dY_____                                                                                                        \
                    AXPB(TRANSFORMATION_CONFORME_DANS_LES_PLANS_____R_translation_AY                                                    \
                        ,ASI1(R_translation,dy)                                                                                         \
                        ,TRANSFORMATION_CONFORME_DANS_LES_PLANS_____R_translation_BY                                                    \
                         )

DEFV(Common,DEFV(Float,ZINT(TRANSFORMATION_CONFORME_DANS_LES_PLANS_____R_translation_AX,FU)));
DEFV(Common,DEFV(Float,ZINT(TRANSFORMATION_CONFORME_DANS_LES_PLANS_____R_translation_BX,FZERO)));
DEFV(Common,DEFV(Float,ZINT(TRANSFORMATION_CONFORME_DANS_LES_PLANS_____R_translation_AY,FU)));
DEFV(Common,DEFV(Float,ZINT(TRANSFORMATION_CONFORME_DANS_LES_PLANS_____R_translation_BY,FZERO)));
                                        /* Definition des facteurs de corrections des translations 'A' et 'R' (ceci fut introduit    */
                                        /* le 20111228152543...                                                                      */

#define   EDITION_DES_COORDONNEES_D_UNE_TRANSFORMATION_CONFORME                                                                         \
                    Bblock                                                                                                              \
                    Test(IL_FAUT(TRANSFORMATIONS_CONFORMES_____editer_les_coordonnees_de_load_et_de_store))                             \
                         Bblock                                                                                                         \
                         CALS(FPrme0("PlanComplexe : "));                                                                               \
                                                                                                                                        \
                         CAL3(Prme2("{%+.^^^,%+.^^^}"                                                                                   \
                                   ,Reelle(point_manoeuvre)                                                                             \
                                   ,Imaginaire(point_manoeuvre)                                                                         \
                                    )                                                                                                   \
                              );                                                                                                        \
                                                                                                                                        \
                         Test(IL_NE_FAUT_PAS(TRANSFORMATIONS_CONFORMES_____permuter_les_coordonnees_de_load_et_de_store))               \
                              Bblock                                                                                                    \
                              CALS(FPrme0(" --> "));                                                                                    \
                              Eblock                                                                                                    \
                         ATes                                                                                                           \
                              Bblock                                                                                                    \
                              CALS(FPrme0(" <-- "));                                                                                    \
                              Eblock                                                                                                    \
                         ETes                                                                                                           \
                                                                                                                                        \
                         CAL3(Prme2("{%+.^^^,%+.^^^}"                                                                                   \
                                   ,Reelle(point_courant)                                                                               \
                                   ,Imaginaire(point_courant)                                                                           \
                                    )                                                                                                   \
                              );                                                                                                        \
                                                                                                                                        \
                         CALS(Fsauts_de_lignes(UN));                                                                                    \
                         Eblock                                                                                                         \
                    ATes                                                                                                                \
                         Bblock                                                                                                         \
                         Eblock                                                                                                         \
                    ETes                                                                                                                \
                    Eblock                                                                                                              \
                                        /* Edition eventuelle des coordonnees et de leur transformation conforme afin d'en verifier  */ \
                                        /* le bon fonctionnement (introduite le 20120604114352...)                                   */

#define   TRANSFORMATION_CONFORME_DANS_LE_PLAN_IMAGE(variables_specifiques,condition,transformation,action_de_rangement,fme)            \
                                        /* Procedure generale introduite le 20070116092344...                                        */ \
                                        /*                                                                                           */ \
                                        /* L'argument 'fme' ("Facteur_Multiplicatif_Effectif") a ete introduit le 20100408174856...  */ \
                    Bblock                                                                                                              \
                    DEFV(Float,INIT(facteur_multiplicatif_effectif,facteur_multiplicatif));                                             \
                                        /* Facteur multiplicatif effectif introduit le 20100408173148 afin de rendre ce facteur      */ \
                                        /* "homothetique" ce qui permettra alors d'obtenir le meme resultat quel que soit la         */ \
                                        /* resolution de l'image (par exemple 'Puq' et 'Pqu'...). Ceci n'a evidemment de sens        */ \
                                        /* que pour 'TRANSFORMATION_CONFORME_DANS_LE_PLAN_IMAGE(...)' et n'en a pas pour             */ \
                                        /* 'TRANSFORMATION_CONFORME_DANS_LE_PLAN_COMPLEXE(...)' puisque les coordonnees {X,Y}        */ \
                                        /* sont alors normalisees dans [0,1], cette normalisation etant evidemment independante      */ \
                                        /* de resolution de l'image...                                                               */ \
                                                                                                                                        \
                    Test(IL_FAUT(TRANSFORMATION_CONFORME_DANS_LE_PLAN_IMAGE_____facteur_multiplicatif_homothetique))                    \
                         Bblock                                                                                                         \
                         DEFV(Float,INIT(facteur_correctif                                                                              \
                                        ,DIVI(RACX(FLOT(MUL2(DIMENSION(TRANSFORMATION_CONFORME_DANS_LE_PLAN_IMAGE_____Xmin_reference    \
                                                                      ,TRANSFORMATION_CONFORME_DANS_LE_PLAN_IMAGE_____Xmax_reference    \
                                                                       )                                                                \
                                                            ,DIMENSION(TRANSFORMATION_CONFORME_DANS_LE_PLAN_IMAGE_____Ymin_reference    \
                                                                      ,TRANSFORMATION_CONFORME_DANS_LE_PLAN_IMAGE_____Ymax_reference    \
                                                                       )                                                                \
                                                             )                                                                          \
                                                        )                                                                               \
                                                   )                                                                                    \
                                             ,RACX(FLOT(dimXY))                                                                         \
                                              )                                                                                         \
                                         )                                                                                              \
                              );                                                                                                        \
                         EGAL(facteur_multiplicatif_effectif,fme);                                                                      \
                                        /* Ainsi, le facteur mutiplicatif est rendu independant de la resolution de l'image par      */ \
                                        /* rapport a la resolution dite "reference"...                                               */ \
                         Eblock                                                                                                         \
                    ATes                                                                                                                \
                         Bblock                                                                                                         \
                         Eblock                                                                                                         \
                    ETes                                                                                                                \
                                                                                                                                        \
                    begin_image                                                                                                         \
                         Bblock                                                                                                         \
                         DEFV(complexe,point_courant);                                                                                  \
                                        /* Point complexe courant.                                                                   */ \
                         DEFV(complexe,point_manoeuvre);                                                                                \
                                        /* Point complexe resultat de la transformation.                                             */ \
                         BLOC(variables_specifiques);                                                                                   \
                                        /* Variables specifiques eventuellement (introduites le 20070116095630)...                   */ \
                                                                                                                                        \
                         Cinitialisation(point_courant                                                                                  \
                                        ,ADD2(FLOT(X)                                                                                   \
                                             ,F__lDENORMALISE_OX(A_translation__dX_____)                                                \
                                              )                                                                                         \
                                        ,ADD2(FLOT(Y)                                                                                   \
                                             ,F__lDENORMALISE_OY(A_translation__dY_____)                                                \
                                              )                                                                                         \
                                         );                                                                                             \
                                        /* Le "point_courant" est le point courant {X,Y} sur le maillage de l'image.                 */ \
                                                                                                                                        \
                         Test(condition)                                                                                                \
                              Bblock                                                                                                    \
                              DEFV(Int,INIT(new_X,UNDEF));                                                                              \
                                        /* Nouvelle coordonnee horizontale apres transformation,                                     */ \
                              DEFV(Int,INIT(new_Y,UNDEF));                                                                              \
                                        /* Nouvelle coordonnee verticale apres transformation,                                       */ \
                                                                                                                                        \
                              BLOC(transformation);                                                                                     \
                                        /* Transformation du nombre complexe courant.                                                */ \
                                                                                                                                        \
                              EDITION_DES_COORDONNEES_D_UNE_TRANSFORMATION_CONFORME;                                                    \
                                        /* Edition eventuelle des coordonnees introduite le 20120604114352...                        */ \
                                                                                                                                        \
                              EGAL(new_X                                                                                                \
                                  ,ADD2(VINTE(MUL3(TRANSFORMATION_CONFORME_DANS_LES_PLANS_____R_facteur_homothetie_X                    \
                                                  ,facteur_multiplicatif_effectif                                                       \
                                                  ,Reelle(point_manoeuvre)                                                              \
                                                   )                                                                                    \
                                              )                                                                                         \
                                       ,_lDENORMALISE_OX(R_translation__dX_____)                                                        \
                                        )                                                                                               \
                                   );                                                                                                   \
                              EGAL(new_Y                                                                                                \
                                  ,ADD2(VINTE(MUL3(TRANSFORMATION_CONFORME_DANS_LES_PLANS_____R_facteur_homothetie_Y                    \
                                                  ,facteur_multiplicatif_effectif                                                       \
                                                  ,Imaginaire(point_manoeuvre)                                                          \
                                                   )                                                                                    \
                                              )                                                                                         \
                                       ,_lDENORMALISE_OY(R_translation__dY_____)                                                        \
                                        )                                                                                               \
                                   );                                                                                                   \
                                        /* Calcul des coordonnees transformees dans le plan image.                                   */ \
                                                                                                                                        \
                              BLOC(action_de_rangement);                                                                                \
                                        /* Et enfin, deplacement du point courant...                                                 */ \
                              Eblock                                                                                                    \
                         ATes                                                                                                           \
                              Bblock                                                                                                    \
                              Eblock                                                                                                    \
                         ETes                                                                                                           \
                         Eblock                                                                                                         \
                    end_image                                                                                                           \
                    Eblock                                                                                                              \
                                        /* Definition de la transformation conforme en coordonnees d'ecran [Xmin,Xmax]x[Ymin,Ymax].  */

#define   TRANSFORMATION_CONFORME_DANS_LE_PLAN_COMPLEXE(variables_specifiques,condition,transformation,action_de_rangement)             \
                                        /* Procedure generale introduite le 20070116092344...                                        */ \
                    Bblock                                                                                                              \
                    begin_image                                                                                                         \
                         Bblock                                                                                                         \
                         DEFV(Float,INIT(new_X,FLOT__UNDEF));                                                                           \
                                        /* Nouvelle coordonnee horizontale apres transformation,                                     */ \
                         DEFV(Float,INIT(new_Y,FLOT__UNDEF));                                                                           \
                                        /* Nouvelle coordonnee verticale apres transformation,                                       */ \
                         DEFV(complexe,point_courant);                                                                                  \
                                        /* Point complexe courant.                                                                   */ \
                         DEFV(complexe,point_manoeuvre);                                                                                \
                                        /* Point complexe resultat de la transformation.                                             */ \
                         BLOC(variables_specifiques);                                                                                   \
                                        /* Variables specifiques eventuellement (introduites le 20070116095630)...                   */ \
                                                                                                                                        \
                         Cinitialisation(point_courant                                                                                  \
                                        ,AXPB(TRANSFORMATION_CONFORME_DANS_LE_PLAN_COMPLEXE_____A_facteur_homothetie_X                  \
                                             ,SUPER_cNORMALISE_OX(X)                                                                    \
                                             ,A_translation__dX_____                                                                    \
                                              )                                                                                         \
                                        ,AXPB(TRANSFORMATION_CONFORME_DANS_LE_PLAN_COMPLEXE_____A_facteur_homothetie_Y                  \
                                             ,SUPER_cNORMALISE_OY(Y)                                                                    \
                                             ,A_translation__dY_____                                                                    \
                                              )                                                                                         \
                                         );                                                                                             \
                                        /* Le "point_courant" est le point courant {X,Y} ramene dans le plan Complexe.               */ \
                                        /*                                                                                           */ \
                                        /* Le passage de '_____cNORMALISE_O?(...)' a 'SUPER_cNORMALISE_O?(...)' a eu lieu            */ \
                                        /* le 20050912125230...                                                                      */ \
                                                                                                                                        \
                         Test(condition)                                                                                                \
                              Bblock                                                                                                    \
                              BLOC(transformation);                                                                                     \
                                        /* Transformation du nombre complexe courant.                                                */ \
                                                                                                                                        \
                              EDITION_DES_COORDONNEES_D_UNE_TRANSFORMATION_CONFORME;                                                    \
                                        /* Edition eventuelle des coordonnees introduite le 20120604114352...                        */ \
                                                                                                                                        \
                              EGAL(new_X                                                                                                \
                                  ,ADD2(MUL3(TRANSFORMATION_CONFORME_DANS_LES_PLANS_____R_facteur_homothetie_X                          \
                                            ,facteur_multiplicatif                                                                      \
                                            ,Reelle(point_manoeuvre)                                                                    \
                                             )                                                                                          \
                                       ,R_translation__dX_____                                                                          \
                                        )                                                                                               \
                                   );                                                                                                   \
                              EGAL(new_Y                                                                                                \
                                  ,ADD2(MUL3(TRANSFORMATION_CONFORME_DANS_LES_PLANS_____R_facteur_homothetie_Y                          \
                                            ,facteur_multiplicatif                                                                      \
                                            ,Imaginaire(point_manoeuvre)                                                                \
                                             )                                                                                          \
                                       ,R_translation__dY_____                                                                          \
                                        )                                                                                               \
                                   );                                                                                                   \
                                        /* Calcul des coordonnees transformees dans le plan Complexe.                                */ \
                                                                                                                                        \
                              BLOC(action_de_rangement);                                                                                \
                                        /* Et enfin, deplacement du point courant...                                                 */ \
                              Eblock                                                                                                    \
                         ATes                                                                                                           \
                              Bblock                                                                                                    \
                              Eblock                                                                                                    \
                         ETes                                                                                                           \
                         Eblock                                                                                                         \
                    end_image                                                                                                           \
                    Eblock                                                                                                              \
                                        /* Definition de la transformation conforme en coordonnees d'ecran [Xmin,Xmax]x[Ymin,Ymax].  */

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   C O N F O R M E   K * ( Z * * 2 )  :                     */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*                   *** **           *********    ***    *********           ** ***                                                 */
/*                     ***           **      ***************      **           ***                                                   */
/*                  ***  ***        **             ***             **        ***  **                                                 */
/*                  *      ***    ***              ***              ***    ***                                                       */
/*                           *** ***               ***               *** ***                                                         */
/*                             ***                 ***                 * *                                                           */
/*                          **** ****             ****              **** ****                                                        */
/*                  *    *****    *****           *****           *****    ** **                                                     */
/*                  ******          *****         *****         *****          *****                                                 */
/*                  ***               ******     ******      ******               **                                                 */
/*                   * *               ********  *******  ********               * *                                                 */
/*                    **                 ***********************                 **                                                  */
/*                    ***                 *********************                 ***                                                  */
/*                     **                  *******************                  **                                                   */
/*                     **         ***************** * ****************          **                                                   */
/*                  ****************************************************************                                                 */
/*                     **          **************** * *****************         **                                                   */
/*                     **                  *******************                  **                                                   */
/*                    ***                 *********************                 ***                                                  */
/*                    **                 ***********************                 **                                                  */
/*                   * *               ********  *******  ********               * *                                                 */
/*                  ***               ******      ******     ******               **                                                 */
/*                  ******          *****         *****         *****          *****                                                 */
/*                  *    ** **    *****           *****           *****    *****                                                     */
/*                          **** ****              ****             **** ****                                                        */
/*                             * *                 ***                 ***                                                           */
/*                           *** ***               ***               *** ***                                                         */
/*                  *      ***    ***              ***              ***    ***                                                       */
/*                  ***  ***        **             ***             **        ***  **                                                 */
/*                     ***           **      ***************      **           ***                                                   */
/*                   *** **           *********    ***    *********           ** ***                                                 */
/*                  **    * *      ******          ***          ******      ***    *                                                 */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*                  .+**+**+..    ...+********+++++**++++++********+...    ..+**+**+                                                 */
/*                  ..+***+...    ..+**+...+++*************+++...+**+..    ...+***+.                                                 */
/*                  +**++***+......+**+...........+***+...........+**+......+***++**                                                 */
/*                  ++....+***+..++**+...      ...+***+...      ...+**++..+***+....+                                                 */
/*                  ..   ...+***+***+...       ...+***+...       ...+***+***+...   .                                                 */
/*                  ..    ...++***++.....     ...++***+....     .....++* *+....    .                                                 */
/*                  +......++***+***++...........++***++...........++***+***++......                                                 */
/*                  *+..++***++..++****++........++***++........++****++..++* *++..+                                                 */
/*                  ******++.......++****+++....++*****++....+++****++.......++*****                                                 */
/*                  ***+......  ....++*****+++++++*****+++++++*****++....  ......+**                                                 */
/*                  .+ *+..       ....++******+++******++++******++....       ..+* +                                                 */
/*                  .+**+...       ....++***********************++....       ...+**+                                                 */
/*                  ..+**+..   .........+++*******************+++.........   ..+**+.                                                 */
/*                  ..+**+...........+++++++*****************++++++............+**+.                                                 */
/*                  ..+**++++++++++++************** * *************+++++++++++++**+.                                                 */
/*                  ****************************************************************                                                 */
/*                  ..+**+++++++++++++************* * **************++++++++++++**+.                                                 */
/*                  ..+**+............++++++*****************+++++++...........+**+.                                                 */
/*                  ..+**+..   .........+++*******************+++.........   ..+**+.                                                 */
/*                  .+**+...       ....++***********************++....       ...+**+                                                 */
/*                  .+ *+..       ....++******++++******+++******++....       ..+* +                                                 */
/*                  ***+......  ....++*****+++++++*****+++++++*****++....  ......+**                                                 */
/*                  ******++.......++****+++....++*****++....+++****++.......++*****                                                 */
/*                  *+..++* *++..++****++........++***++........++****++..++***++..+                                                 */
/*                  +......++***+***++...........++***++...........++***+***++......                                                 */
/*                  ..    ....+* *++.....     ....+***++...     .....++***++...    .                                                 */
/*                  ..   ...+***+***+...       ...+***+...       ...+***+***+...   .                                                 */
/*                  ++....+***+..++**+...      ...+***+...      ...+**++..+***+....+                                                 */
/*                  +**++***+......+**+...........+***+...........+**+......+***++**                                                 */
/*                  ..+***+...    ..+**+...+++*************+++...+**+..    ...+***+.                                                 */
/*                  .+**+**+..    ...+********++++++**+++++********+...    ..+**+**+                                                 */
/*                  *+....+ +.....++*****+.........+*+.........+*****++.....+*+....+                                                 */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#define   Z_AU_CARRE_DANS_PLANS_IMAGE_OU_COMPLEXE                                                                                       \
                    Bblock                                                                                                              \
                    TRANSFORMATION__Z_AU_CARRE(point_manoeuvre,point_courant);                                                          \
                    Eblock                                                                                                              \
                                        /* Definition generale de la transformation 'z' au carre dans les plans image ou             */ \
                                        /* complexe (introduite le 20070118102622).                                                  */

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        D E F I N I T I O N   D E   L A   T R A N S F O R M A T I O N   C O N F O R M E   K * ( Z * * 2 )                          */
/*        E N   C O O R D O N N E E S   D ' E C R A N   [Xmin,Xmax] x [Ymin,Ymax]  :                                                 */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#define   Z_AU_CARRE_DANS_LE_PLAN_IMAGE(action_de_rangement)                                                                            \
                    Bblock                                                                                                              \
                    TRANSFORMATION_CONFORME_DANS_LE_PLAN_IMAGE(BLOC(VIDE;)                                                              \
                                                              ,TOUJOURS_VRAI                                                            \
                                                              ,BLOC(Z_AU_CARRE_DANS_PLANS_IMAGE_OU_COMPLEXE;)                           \
                                                              ,BLOC(action_de_rangement)                                                \
                                                              ,MUL2(facteur_multiplicatif,NEUT(facteur_correctif))                      \
                                                               );                                                                       \
                    Eblock                                                                                                              \
                                        /* Definition de la transformation conforme en coordonnees d'ecran [Xmin,Xmax]x[Ymin,Ymax].  */

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   C O N F O R M E   K * ( Z * * 2 )                        */
/*        E N   C O O R D O N N E E S   D ' E C R A N   [Xmin,Xmax] x [Ymin,Ymax]  :                                                 */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

BFonctionP

DEFV(Common,DEFV(FonctionP,POINTERp(Iz_au_carre_dans_le_plan_image(imageR,ARGUMENT_POINTERs(R_translation)
                                                                  ,facteur_multiplicatif
                                                                  ,imageA,ARGUMENT_POINTERs(A_translation)
                                                                   )
                                    )
                 )
     )
DEFV(Argument,DEFV(image,imageR));
                                        /* Image resultat a generer.                                                                 */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(R_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de generation de 'imageR' ; on n'obliera pas que cette translation est                    */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(Float,facteur_multiplicatif));
                                        /* Facteur multiplicatif 'K' (une valeur de l'ordre de 0.01 donne de bons resultats).        */
DEFV(Argument,DEFV(image,imageA));
                                        /* Image argument.                                                                           */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(A_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de l'image 'imageA' ; on n'oubliera pas que cette translation est                         */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     /*..............................................................................................................................*/
     Z_AU_CARRE_DANS_LE_PLAN_IMAGE(BLOC(store_point_load_point(imageA
                                                              ,new_X
                                                              ,new_Y
                                                              ,imageR
                                                              ,X
                                                              ,Y
                                                               );
                                        )
                                   );
     RETI(imageR);
     Eblock

EFonctionP

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   C O N F O R M E   K * ( Z * * 2 )                        */
/*        E N   C O O R D O N N E E S   D ' E C R A N   [Xmin,Xmax] x [Ymin,Ymax]  :                                                 */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

BFonctionF

DEFV(Common,DEFV(FonctionF,POINTERF(IFz_au_carre_dans_le_plan_image(imageR,ARGUMENT_POINTERs(R_translation)
                                                                   ,facteur_multiplicatif
                                                                   ,imageA,ARGUMENT_POINTERs(A_translation)
                                                                    )
                                    )
                 )
     )
                                        /* Fonction introduite le 20041225171429.                                                    */
DEFV(Argument,DEFV(imageF,imageR));
                                        /* Image resultat a generer.                                                                 */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(R_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de generation de 'imageR' ; on n'obliera pas que cette translation est                    */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(Float,facteur_multiplicatif));
                                        /* Facteur multiplicatif 'K' (une valeur de l'ordre de 0.01 donne de bons resultats).        */
DEFV(Argument,DEFV(imageF,imageA));
                                        /* Image argument.                                                                           */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(A_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de l'image 'imageA' ; on n'oubliera pas que cette translation est                         */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     /*..............................................................................................................................*/
     Z_AU_CARRE_DANS_LE_PLAN_IMAGE(BLOC(storeF_point_loadF_point(imageA
                                                                ,new_X
                                                                ,new_Y
                                                                ,imageR
                                                                ,X
                                                                ,Y
                                                                 );
                                        )
                                   );
     RETIF(imageR);
     Eblock

EFonctionF

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   C O N F O R M E   K * ( Z * * 2 )                        */
/*        E N   C O O R D O N N E E S   D ' E C R A N   [Xmin,Xmax] x [Ymin,Ymax]  :                                                 */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

BFonctionJ

DEFV(Common,DEFV(FonctionJ,POINTERJ(IJz_au_carre_dans_le_plan_image(imageR,ARGUMENT_POINTERs(R_translation)
                                                                   ,facteur_multiplicatif
                                                                   ,imageA,ARGUMENT_POINTERs(A_translation)
                                                                    )
                                    )
                 )
     )
DEFV(Argument,DEFV(imageJ,imageR));
                                        /* Image resultat a generer.                                                                 */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(R_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de generation de 'imageR' ; on n'obliera pas que cette translation est                    */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(Float,facteur_multiplicatif));
                                        /* Facteur multiplicatif 'K' (une valeur de l'ordre de 0.01 donne de bons resultats).        */
DEFV(Argument,DEFV(imageJ,imageA));
                                        /* Image argument.                                                                           */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(A_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de l'image 'imageA' ; on n'oubliera pas que cette translation est                         */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     /*..............................................................................................................................*/
     Z_AU_CARRE_DANS_LE_PLAN_IMAGE(BLOC(storeJ_point_loadJ_point(imageA
                                                                ,new_X
                                                                ,new_Y
                                                                ,imageR
                                                                ,X
                                                                ,Y
                                                                 );
                                        )
                                   );
     RETIJ(imageR);
     Eblock

EFonctionJ

#undef    Z_AU_CARRE_DANS_LE_PLAN_IMAGE

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        D E F I N I T I O N   D E   L A   T R A N S F O R M A T I O N   C O N F O R M E   K * ( Z * * 2 )                          */
/*        E N   C O O R D O N N E E S   D U   P L A N   C O M P L E X E   [0,1] x [0,1]  :                                           */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#define   Z_AU_CARRE_DANS_LE_PLAN_COMPLEXE(action_de_rangement)                                                                         \
                    Bblock                                                                                                              \
                    TRANSFORMATION_CONFORME_DANS_LE_PLAN_COMPLEXE(BLOC(VIDE;)                                                           \
                                                                 ,TOUJOURS_VRAI                                                         \
                                                                 ,BLOC(Z_AU_CARRE_DANS_PLANS_IMAGE_OU_COMPLEXE;)                        \
                                                                 ,BLOC(action_de_rangement)                                             \
                                                                  );                                                                    \
                    Eblock                                                                                                              \
                                        /* Definition de la transformation conforme en coordonnees d'ecran [Xmin,Xmax]x[Ymin,Ymax].  */

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   C O N F O R M E   K * ( Z * * 2 )                        */
/*        E N   C O O R D O N N E E S   D U   P L A N   C O M P L E X E   [0,1] x [0,1]  :                                           */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

BFonctionP

DEFV(Common,DEFV(FonctionP,POINTERp(Iz_au_carre_dans_le_plan_complexe(imageR,ARGUMENT_POINTERs(R_translation)
                                                                     ,facteur_multiplicatif
                                                                     ,imageA,ARGUMENT_POINTERs(A_translation)
                                                                      )
                                    )
                 )
     )
DEFV(Argument,DEFV(image,imageR));
                                        /* Image resultat a generer.                                                                 */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(R_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de generation de 'imageR' ; on n'obliera pas que cette translation est                    */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(Float,facteur_multiplicatif));
                                        /* Facteur multiplicatif 'K' (une valeur de l'ordre de 5.0 donne de bons resultats) ; voir   */
                                        /* a ce propos les commentaires de 'v $xci/z_carre.01$K'...                                  */
DEFV(Argument,DEFV(image,imageA));
                                        /* Image argument.                                                                           */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(A_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de l'image 'imageA' ; on n'oubliera pas que cette translation est                         */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     /*..............................................................................................................................*/
     Z_AU_CARRE_DANS_LE_PLAN_COMPLEXE(BLOC(store_point_load_point(imageA
                                                                 ,fV_cDENORMALISE_OX(new_X)
                                                                 ,fV_cDENORMALISE_OY(new_Y)
                                                                 ,imageR
                                                                 ,X
                                                                 ,Y
                                                                  );
                                           )
                                      );
     RETI(imageR);
     Eblock

EFonctionP

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   C O N F O R M E   K * ( Z * * 2 )                        */
/*        E N   C O O R D O N N E E S   D U   P L A N   C O M P L E X E   [0,1] x [0,1]  :                                           */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

BFonctionF

DEFV(Common,DEFV(FonctionF,POINTERF(IFz_au_carre_dans_le_plan_complexe(imageR,ARGUMENT_POINTERs(R_translation)
                                                                      ,facteur_multiplicatif
                                                                      ,imageA,ARGUMENT_POINTERs(A_translation)
                                                                       )
                                    )
                 )
     )
                                        /* Fonction introduite le 20041225171429.                                                    */
DEFV(Argument,DEFV(imageF,imageR));
                                        /* Image resultat a generer.                                                                 */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(R_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de generation de 'imageR' ; on n'obliera pas que cette translation est                    */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(Float,facteur_multiplicatif));
                                        /* Facteur multiplicatif 'K' (une valeur de l'ordre de 5.0 donne de bons resultats) ; voir   */
                                        /* a ce propos les commentaires de 'v $xci/z_carre.01$K'...                                  */
DEFV(Argument,DEFV(imageF,imageA));
                                        /* Image argument.                                                                           */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(A_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de l'image 'imageA' ; on n'oubliera pas que cette translation est                         */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     /*..............................................................................................................................*/
     Z_AU_CARRE_DANS_LE_PLAN_COMPLEXE(BLOC(storeF_point_loadF_point(imageA
                                                                   ,fV_cDENORMALISE_OX(new_X)
                                                                   ,fV_cDENORMALISE_OY(new_Y)
                                                                   ,imageR
                                                                   ,X
                                                                   ,Y
                                                                    );
                                           )
                                      );
     RETIF(imageR);
     Eblock

EFonctionF

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   C O N F O R M E   K * ( Z * * 2 )                        */
/*        E N   C O O R D O N N E E S   D U   P L A N   C O M P L E X E   [0,1] x [0,1]  :                                           */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

BFonctionJ

DEFV(Common,DEFV(FonctionJ,POINTERJ(IJz_au_carre_dans_le_plan_complexe(imageR,ARGUMENT_POINTERs(R_translation)
                                                                      ,facteur_multiplicatif
                                                                      ,imageA,ARGUMENT_POINTERs(A_translation)
                                                                       )
                                    )
                 )
     )
DEFV(Argument,DEFV(imageJ,imageR));
                                        /* Image resultat a generer.                                                                 */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(R_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de generation de 'imageR' ; on n'obliera pas que cette translation est                    */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(Float,facteur_multiplicatif));
                                        /* Facteur multiplicatif 'K' (une valeur de l'ordre de 5.0 donne de bons resultats) ; voir   */
                                        /* a ce propos les commentaires de 'v $xci/z_carre.01$K'...                                  */
DEFV(Argument,DEFV(imageJ,imageA));
                                        /* Image argument.                                                                           */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(A_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de l'image 'imageA' ; on n'oubliera pas que cette translation est                         */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     /*..............................................................................................................................*/
     Z_AU_CARRE_DANS_LE_PLAN_COMPLEXE(BLOC(storeJ_point_loadJ_point(imageA
                                                                   ,fV_cDENORMALISE_OX(new_X)
                                                                   ,fV_cDENORMALISE_OY(new_Y)
                                                                   ,imageR
                                                                   ,X
                                                                   ,Y
                                                                    );
                                           )
                                      );
     RETIJ(imageR);
     Eblock

EFonctionJ

#undef    Z_AU_CARRE_DANS_LE_PLAN_COMPLEXE

#undef    Z_AU_CARRE_DANS_PLANS_IMAGE_OU_COMPLEXE

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   C O N F O R M E   K * ( 1 / Z )  :                       */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*                                             ***********                                                                           */
/*                                              *********                                                                            */
/*                                              ********                                                                             */
/*                                               *******                                                                             */
/*                                                *****                                                                              */
/*                                                *****                                                                              */
/*                                                 ***                                                                               */
/*                                              *********                                                                            */
/*                                            **** *** ****                                                                          */
/*                                           **     *     **                                                                         */
/*                                          **      *      **                                                                        */
/*                                       ******    ***    ******                                                                     */
/*                  *                 ***   *    *  *  *    *   ***                                                                  */
/*                  *******         ***      *  *  ***  *  *      ***         ******                                                 */
/*                  **************  **       * *    *    * *       **  *************                                                 */
/*                  ******************************** *******************************                                                 */
/*                  **************  **       * *    *    * *       **  *************                                                 */
/*                  ******          ***      *  *  ***  *  *      ***          *****                                                 */
/*                                    ***   *    *  *  *    *   ***                                                                  */
/*                                       ******    ***    ******                                                                     */
/*                                          **      *      **                                                                        */
/*                                           **     *     **                                                                         */
/*                                            **** *** ****                                                                          */
/*                                              *********                                                                            */
/*                                                 ***                                                                               */
/*                                                *****                                                                              */
/*                                                *****                                                                              */
/*                                               *******                                                                             */
/*                                              ********                                                                             */
/*                                              *********                                                                            */
/*                                             ***********                                                                           */
/*                                            ************                                                                           */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*                  .......................+++++*********+++++......................                                                 */
/*                  ........................+++++*******++++........................                                                 */
/*                  ..........................+++*******+++.........................                                                 */
/*                  ...........................+++*****+++...............   ........                                                 */
/*                  .........         ..........++*****++..........         ........                                                 */
/*                  .........             ......++****++.......             ........                                                 */
/*                  .........              ......++***++......              ........                                                 */
/*                  ..........            ....+++*******+++....            .........                                                 */
/*                  ...........          ....+****++*++****+....          ..........                                                 */
/*                  ............         ...+**+...+*+...+**+...         ...........                                                 */
/*                  ++...........  ........+**+.  ..*..  .+**+........  ...........+                                                 */
/*                  +++++..............++******+...+*+...+******++..............++++                                                 */
/*                  ++++++++........++***++.*+...*. * .*...+*..+***++........+++++++                                                 */
/*                  ****+++++++++..++**+..  .*.+*+++*+++*+.*.  ..+**++..+++++++++***                                                 */
/*                  *************+++**+.... .*.*+ ++*++ +*.*. ....+**+++************                                                 */
/*                  ******************************** *******************************                                                 */
/*                  ************++++**+.... .*.++ ++*++ ++.*. ....+**++++***********                                                 */
/*                  ****++++++++...++**+..  .*.+*+++*+++*+.*.  ..+**++...++++++++***                                                 */
/*                  ++++++++........++***++.*+...*. * .*...+*..+***++........+++++++                                                 */
/*                  ++++...............++******+...+*+...+******++...............+++                                                 */
/*                  +............  ........+**..  ..*..  ..**+........  ............                                                 */
/*                  ............         ...+**+...+*+...+**+...         ...........                                                 */
/*                  ...........          ....+****++*++****+....          ..........                                                 */
/*                  ..........            ....+++*******+++....            .........                                                 */
/*                  .........              ......++***++......              ........                                                 */
/*                  .........             ......++****++.......             ........                                                 */
/*                  ........          ..........++*****++..........          .......                                                 */
/*                  ...........................+++*****+++...............    .......                                                 */
/*                  ..........................+++*******+++.........................                                                 */
/*                  ........................+++++*******++++........................                                                 */
/*                  .......................+++++*********+++++......................                                                 */
/*                  .....................++++++**********++++++.....................                                                 */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#define   UN_SUR_Z_DANS_PLANS_IMAGE_OU_COMPLEXE                                                                                         \
                    Bblock                                                                                                              \
                    TRANSFORMATION__UN_SUR_Z(point_manoeuvre,point_courant);                                                            \
                                        /* Avant le 20070115102032, le 'Cquotient(...)' n'etait pas present et l'inverse du          */ \
                                        /* nombre courant etait calcule "a la main" via :                                            */ \
                                        /*                                                                                           */ \
                                        /*                  Cconjugaison(point_manoeuvre,point_courant);                             */ \
                                        /*                  EGAL(module_au_carre,Cmodule2(point_manoeuvre));                         */ \
                                        /*                                                                                           */ \
                                        /* et (ci-apres pour le calcul de {new_X,new_Y}) :                                           */ \
                                        /*                                                                                           */ \
                                        /*                  SCAL(Reelle(point_manoeuvre)                                             */ \
                                        /*                      ,module_au_carre                                                     */ \
                                        /*                      ,facteur_multiplicatif                                               */ \
                                        /*                       )                                                                   */ \
                                        /*                                                                                           */ \
                                        /*                  SCAL(Imaginaire(point_manoeuvre)                                         */ \
                                        /*                      ,module_au_carre                                                     */ \
                                        /*                      ,facteur_multiplicatif                                               */ \
                                        /*                       )                                                                   */ \
                                        /*                                                                                           */ \
                                        /* L'utilisation (logique...) de 'Cquotient(...)' a introduit une legere incompatibilite     */ \
                                        /* anterieure visible, par exemple, sur quelques points d'un champ gaussien au format 'Pal'. */ \
                    Eblock                                                                                                              \
                                        /* Definition generale de la transformation un sur 'z' dans les plans image ou               */ \
                                        /* complexe (introduite le 20070118103318).                                                  */

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        D E F I N I T I O N   D E   L A   T R A N S F O R M A T I O N   C O N F O R M E   K * ( 1 / Z )                            */
/*        E N   C O O R D O N N E E S   D ' E C R A N   [Xmin,Xmax] x [Ymin,Ymax]  :                                                 */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#define   UN_SUR_Z_DANS_LE_PLAN_IMAGE(action_de_rangement)                                                                              \
                    Bblock                                                                                                              \
                    TRANSFORMATION_CONFORME_DANS_LE_PLAN_IMAGE(BLOC(VIDE;)                                                              \
                                                              ,IZNE(Cmodule2(point_courant))                                            \
                                                              ,BLOC(UN_SUR_Z_DANS_PLANS_IMAGE_OU_COMPLEXE;)                             \
                                                              ,BLOC(action_de_rangement)                                                \
                                                              ,DIVI(facteur_multiplicatif,EXP2(facteur_correctif))                      \
                                                               );                                                                       \
                    Eblock                                                                                                              \
                                        /* Definition de la transformation conforme en coordonnees d'ecran [Xmin,Xmax]x[Ymin,Ymax].  */

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   C O N F O R M E   K * ( 1 / Z )                          */
/*        E N   C O O R D O N N E E S   D ' E C R A N   [Xmin,Xmax] x [Ymin,Ymax]  :                                                 */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

BFonctionP

DEFV(Common,DEFV(FonctionP,POINTERp(Iun_sur_z_dans_le_plan_image(imageR,ARGUMENT_POINTERs(R_translation)
                                                                ,facteur_multiplicatif
                                                                ,imageA,ARGUMENT_POINTERs(A_translation)
                                                                 )
                                    )
                 )
     )
DEFV(Argument,DEFV(image,imageR));
                                        /* Image resultat a generer.                                                                 */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(R_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de generation de 'imageR' ; on n'obliera pas que cette translation est                    */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(Float,facteur_multiplicatif));
                                        /* Facteur multiplicatif 'K' (une valeur de l'ordre de 64000.0 donne de bons resultats).     */
DEFV(Argument,DEFV(image,imageA));
                                        /* Image argument.                                                                           */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(A_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de l'image 'imageA' ; on n'oubliera pas que cette translation est                         */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     /*..............................................................................................................................*/
     CALS(Inoir(imageR));
                                        /* L'image Resultat est nettoye ici (contrairement a la transformation z**2),                */
                                        /* a cause du test de nullite du carre du module du nombre complexe courant ;                */
                                        /* dans ce cas aucun point n'est marque...                                                   */

     UN_SUR_Z_DANS_LE_PLAN_IMAGE(BLOC(store_point_load_point(imageA
                                                            ,new_X
                                                            ,new_Y
                                                            ,imageR
                                                            ,X
                                                            ,Y
                                                             );
                                      )
                                 );
     RETI(imageR);
     Eblock

EFonctionP

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   C O N F O R M E   K * ( 1 / Z )                          */
/*        E N   C O O R D O N N E E S   D ' E C R A N   [Xmin,Xmax] x [Ymin,Ymax]  :                                                 */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

BFonctionF

DEFV(Common,DEFV(FonctionF,POINTERF(IFun_sur_z_dans_le_plan_image(imageR,ARGUMENT_POINTERs(R_translation)
                                                                 ,facteur_multiplicatif
                                                                 ,imageA,ARGUMENT_POINTERs(A_translation)
                                                                  )
                                    )
                 )
     )
                                        /* Fonction introduite le 20041225171429.                                                    */
DEFV(Argument,DEFV(imageF,imageR));
                                        /* Image resultat a generer.                                                                 */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(R_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de generation de 'imageR' ; on n'obliera pas que cette translation est                    */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(Float,facteur_multiplicatif));
                                        /* Facteur multiplicatif 'K' (une valeur de l'ordre de 64000.0 donne de bons resultats).     */
DEFV(Argument,DEFV(imageF,imageA));
                                        /* Image argument.                                                                           */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(A_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de l'image 'imageA' ; on n'oubliera pas que cette translation est                         */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     /*..............................................................................................................................*/
     CALS(IFinitialisation(imageR,FZERO));
                                        /* L'image Resultat est nettoye ici (contrairement a la transformation z**2),                */
                                        /* a cause du test de nullite du carre du module du nombre complexe courant ;                */
                                        /* dans ce cas aucun point n'est marque...                                                   */

     UN_SUR_Z_DANS_LE_PLAN_IMAGE(BLOC(storeF_point_loadF_point(imageA
                                                              ,new_X
                                                              ,new_Y
                                                              ,imageR
                                                              ,X
                                                              ,Y
                                                               );
                                      )
                                 );
     RETIF(imageR);
     Eblock

EFonctionF

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   C O N F O R M E   K * ( 1 / Z )                          */
/*        E N   C O O R D O N N E E S   D ' E C R A N   [Xmin,Xmax] x [Ymin,Ymax]  :                                                 */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

BFonctionJ

DEFV(Common,DEFV(FonctionJ,POINTERJ(IJun_sur_z_dans_le_plan_image(imageR,ARGUMENT_POINTERs(R_translation)
                                                                 ,facteur_multiplicatif
                                                                 ,imageA,ARGUMENT_POINTERs(A_translation)
                                                                  )
                                    )
                 )
     )
DEFV(Argument,DEFV(imageJ,imageR));
                                        /* Image resultat a generer.                                                                 */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(R_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de generation de 'imageR' ; on n'obliera pas que cette translation est                    */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(Float,facteur_multiplicatif));
                                        /* Facteur multiplicatif 'K' (une valeur de l'ordre de 64000.0 donne de bons resultats).     */
DEFV(Argument,DEFV(imageJ,imageA));
                                        /* Image argument.                                                                           */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(A_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de l'image 'imageA' ; on n'oubliera pas que cette translation est                         */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     DEFV(complexe,valeur_initiale);
                                        /* Valeur initiale de l'image Resultat.                                                      */
     /*..............................................................................................................................*/
     Cinitialisation(valeur_initiale,FZERO,FZERO);
     CALS(IJinitialisation(imageR,ADRESSE(valeur_initiale)));
                                        /* L'image Resultat est nettoye ici (contrairement a la transformation z**2),                */
                                        /* a cause du test de nullite du carre du module du nombre complexe courant ;                */
                                        /* dans ce cas aucun point n'est marque...                                                   */

     UN_SUR_Z_DANS_LE_PLAN_IMAGE(BLOC(storeJ_point_loadJ_point(imageA
                                                              ,new_X
                                                              ,new_Y
                                                              ,imageR
                                                              ,X
                                                              ,Y
                                                               );
                                      )
                                 );
     RETIJ(imageR);
     Eblock

EFonctionJ

#undef    UN_SUR_Z_DANS_LE_PLAN_IMAGE

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        D E F I N I T I O N   D E   L A   T R A N S F O R M A T I O N   C O N F O R M E   K * ( 1 / Z )                            */
/*        E N   C O O R D O N N E E S   D U   P L A N   C O M P L E X E   [0,1] x [0,1]  :                                           */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#define   UN_SUR_Z_DANS_LE_PLAN_COMPLEXE(action_de_rangement)                                                                           \
                    Bblock                                                                                                              \
                    TRANSFORMATION_CONFORME_DANS_LE_PLAN_COMPLEXE(BLOC(VIDE;)                                                           \
                                                                 ,IZNE(Cmodule2(point_courant))                                         \
                                                                 ,BLOC(UN_SUR_Z_DANS_PLANS_IMAGE_OU_COMPLEXE;)                          \
                                                                 ,BLOC(action_de_rangement)                                             \
                                                                  );                                                                    \
                    Eblock                                                                                                              \
                                        /* Definition de la transformation conforme en coordonnees d'ecran [Xmin,Xmax]x[Ymin,Ymax].  */

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   C O N F O R M E   K * ( 1 / Z )                          */
/*        E N   C O O R D O N N E E S   D U   P L A N   C O M P L E X E   [0,1] x [0,1]  :                                           */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

BFonctionP

DEFV(Common,DEFV(FonctionP,POINTERp(Iun_sur_z_dans_le_plan_complexe(imageR,ARGUMENT_POINTERs(R_translation)
                                                                   ,facteur_multiplicatif
                                                                   ,imageA,ARGUMENT_POINTERs(A_translation)
                                                                    )
                                    )
                 )
     )
DEFV(Argument,DEFV(image,imageR));
                                        /* Image resultat a generer.                                                                 */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(R_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de generation de 'imageR' ; on n'obliera pas que cette translation est                    */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(Float,facteur_multiplicatif));
                                        /* Facteur multiplicatif 'K' (une valeur de l'ordre de 0.25 donne de bons resultats) ; voir  */
                                        /* a ce propos les commentaires de 'v $xci/un_sur_z.01$K'...                                 */
DEFV(Argument,DEFV(image,imageA));
                                        /* Image argument.                                                                           */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(A_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de l'image 'imageA' ; on n'oubliera pas que cette translation est                         */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     /*..............................................................................................................................*/
     CALS(Inoir(imageR));
                                        /* L'image Resultat est nettoye ici (contrairement a la transformation z**2),                */
                                        /* a cause du test de nullite du carre du module du nombre complexe courant ;                */
                                        /* dans ce cas aucun point n'est marque...                                                   */

     UN_SUR_Z_DANS_LE_PLAN_COMPLEXE(BLOC(store_point_load_point(imageA
                                                               ,fV_cDENORMALISE_OX(new_X)
                                                               ,fV_cDENORMALISE_OY(new_Y)
                                                               ,imageR
                                                               ,X
                                                               ,Y
                                                                );
                                         )
                                    );
     RETI(imageR);
     Eblock

EFonctionP

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   C O N F O R M E   K * ( 1 / Z )                          */
/*        E N   C O O R D O N N E E S   D U   P L A N   C O M P L E X E   [0,1] x [0,1]  :                                           */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

BFonctionF

DEFV(Common,DEFV(FonctionF,POINTERF(IFun_sur_z_dans_le_plan_complexe(imageR,ARGUMENT_POINTERs(R_translation)
                                                                    ,facteur_multiplicatif
                                                                    ,imageA,ARGUMENT_POINTERs(A_translation)
                                                                     )
                                    )
                 )
     )
                                        /* Fonction introduite le 20041225171429.                                                    */
DEFV(Argument,DEFV(imageF,imageR));
                                        /* Image resultat a generer.                                                                 */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(R_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de generation de 'imageR' ; on n'obliera pas que cette translation est                    */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(Float,facteur_multiplicatif));
                                        /* Facteur multiplicatif 'K' (une valeur de l'ordre de 0.25 donne de bons resultats) ; voir  */
                                        /* a ce propos les commentaires de 'v $xci/un_sur_z.01$K'...                                 */
DEFV(Argument,DEFV(imageF,imageA));
                                        /* Image argument.                                                                           */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(A_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de l'image 'imageA' ; on n'oubliera pas que cette translation est                         */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     /*..............................................................................................................................*/
     CALS(IFinitialisation(imageR,FZERO));
                                        /* L'image Resultat est nettoye ici (contrairement a la transformation z**2),                */
                                        /* a cause du test de nullite du carre du module du nombre complexe courant ;                */
                                        /* dans ce cas aucun point n'est marque...                                                   */

     UN_SUR_Z_DANS_LE_PLAN_COMPLEXE(BLOC(storeF_point_loadF_point(imageA
                                                                 ,fV_cDENORMALISE_OX(new_X)
                                                                 ,fV_cDENORMALISE_OY(new_Y)
                                                                 ,imageR
                                                                 ,X
                                                                 ,Y
                                                                  );
                                         )
                                    );
     RETIF(imageR);
     Eblock

EFonctionF

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   C O N F O R M E   K * ( 1 / Z )                          */
/*        E N   C O O R D O N N E E S   D U   P L A N   C O M P L E X E   [0,1] x [0,1]  :                                           */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

BFonctionJ

DEFV(Common,DEFV(FonctionJ,POINTERJ(IJun_sur_z_dans_le_plan_complexe(imageR,ARGUMENT_POINTERs(R_translation)
                                                                    ,facteur_multiplicatif
                                                                    ,imageA,ARGUMENT_POINTERs(A_translation)
                                                                     )
                                    )
                 )
     )
DEFV(Argument,DEFV(imageJ,imageR));
                                        /* Image resultat a generer.                                                                 */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(R_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de generation de 'imageR' ; on n'obliera pas que cette translation est                    */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(Float,facteur_multiplicatif));
                                        /* Facteur multiplicatif 'K' (une valeur de l'ordre de 0.25 donne de bons resultats) ; voir  */
                                        /* a ce propos les commentaires de 'v $xci/un_sur_z.01$K'...                                 */
DEFV(Argument,DEFV(imageJ,imageA));
                                        /* Image argument.                                                                           */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(A_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de l'image 'imageA' ; on n'oubliera pas que cette translation est                         */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     DEFV(complexe,valeur_initiale);
                                        /* Valeur initiale de l'image Resultat.                                                      */
     /*..............................................................................................................................*/
     Cinitialisation(valeur_initiale,FZERO,FZERO);
     CALS(IJinitialisation(imageR,ADRESSE(valeur_initiale)));
                                        /* L'image Resultat est nettoye ici (contrairement a la transformation z**2),                */
                                        /* a cause du test de nullite du carre du module du nombre complexe courant ;                */
                                        /* dans ce cas aucun point n'est marque...                                                   */
     UN_SUR_Z_DANS_LE_PLAN_COMPLEXE(BLOC(storeJ_point_loadJ_point(imageA
                                                                 ,fV_cDENORMALISE_OX(new_X)
                                                                 ,fV_cDENORMALISE_OY(new_Y)
                                                                 ,imageR
                                                                 ,X
                                                                 ,Y
                                                                  );
                                         )
                                    );
     RETIJ(imageR);
     Eblock

EFonctionJ

#undef    UN_SUR_Z_DANS_LE_PLAN_COMPLEXE

#undef    UN_SUR_Z_DANS_PLANS_IMAGE_OU_COMPLEXE

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   C O N F O R M E   H O M O G R A P H I Q U E              */
/*        ( O U   " T R A N S F O R M A T I O N   D E   M O B I U S " )  :                                                           */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*                                             ***********                                                                           */
/*                                              *********                                                                            */
/*                                              ********                                                                             */
/*                                               *******                                                                             */
/*                                                *****                                                                              */
/*                                                *****                                                                              */
/*                                                 ***                                                                               */
/*                                              *********                                                                            */
/*                                            **** *** ****                                                                          */
/*                                           **     *     **                                                                         */
/*                                          **      *      **                                                                        */
/*                                       ******    ***    ******                                                                     */
/*                  *                 ***   *    *  *  *    *   ***                                                                  */
/*                  *******         ***      *  *  ***  *  *      ***         ******                                                 */
/*                  **************  **       * *    *    * *       **  *************                                                 */
/*                  ******************************** *******************************                                                 */
/*                  **************  **       * *    *    * *       **  *************                                                 */
/*                  ******          ***      *  *  ***  *  *      ***          *****                                                 */
/*                                    ***   *    *  *  *    *   ***                                                                  */
/*                                       ******    ***    ******                                                                     */
/*                                          **      *      **                                                                        */
/*                                           **     *     **                                                                         */
/*                                            **** *** ****                                                                          */
/*                                              *********                                                                            */
/*                                                 ***                                                                               */
/*                                                *****                                                                              */
/*                                                *****                                                                              */
/*                                               *******                                                                             */
/*                                              ********                                                                             */
/*                                              *********                                                                            */
/*                                             ***********                                                                           */
/*                                            ************                                                                           */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*                  .......................+++++*********+++++......................                                                 */
/*                  ........................+++++*******++++........................                                                 */
/*                  ..........................+++*******+++.........................                                                 */
/*                  ...........................+++*****+++...............   ........                                                 */
/*                  .........         ..........++*****++..........         ........                                                 */
/*                  .........             ......++****++.......             ........                                                 */
/*                  .........              ......++***++......              ........                                                 */
/*                  ..........            ....+++*******+++....            .........                                                 */
/*                  ...........          ....+****++*++****+....          ..........                                                 */
/*                  ............         ...+**+...+*+...+**+...         ...........                                                 */
/*                  ++...........  ........+**+.  ..*..  .+**+........  ...........+                                                 */
/*                  +++++..............++******+...+*+...+******++..............++++                                                 */
/*                  ++++++++........++***++.*+...*. * .*...+*..+***++........+++++++                                                 */
/*                  ****+++++++++..++**+..  .*.+*+++*+++*+.*.  ..+**++..+++++++++***                                                 */
/*                  *************+++**+.... .*.*+ ++*++ +*.*. ....+**+++************                                                 */
/*                  ******************************** *******************************                                                 */
/*                  ************++++**+.... .*.++ ++*++ ++.*. ....+**++++***********                                                 */
/*                  ****++++++++...++**+..  .*.+*+++*+++*+.*.  ..+**++...++++++++***                                                 */
/*                  ++++++++........++***++.*+...*. * .*...+*..+***++........+++++++                                                 */
/*                  ++++...............++******+...+*+...+******++...............+++                                                 */
/*                  +............  ........+**..  ..*..  ..**+........  ............                                                 */
/*                  ............         ...+**+...+*+...+**+...         ...........                                                 */
/*                  ...........          ....+****++*++****+....          ..........                                                 */
/*                  ..........            ....+++*******+++....            .........                                                 */
/*                  .........              ......++***++......              ........                                                 */
/*                  .........             ......++****++.......             ........                                                 */
/*                  ........          ..........++*****++..........          .......                                                 */
/*                  ...........................+++*****+++...............    .......                                                 */
/*                  ..........................+++*******+++.........................                                                 */
/*                  ........................+++++*******++++........................                                                 */
/*                  .......................+++++*********+++++......................                                                 */
/*                  .....................++++++**********++++++.....................                                                 */
/*                                                                                                                                   */
/*                    (initialisee ici telle qu'elle soit identique a l'inversion)                                                   */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#define   Z_HOMOGRAPHIQUE_DANS_PLANS_IMAGE_OU_COMPLEXE                                                                                  \
                    Bblock                                                                                                              \
                    TRANSFORMATION__Z_HOMOGRAPHIQUE(point_manoeuvre,point_courant,nombre_A,nombre_B,nombre_C,nombre_D,INDIRECT);        \
                                        /* Calcul de :                                                                               */ \
                                        /*                                                                                           */ \
                                        /*                   A.z + B                                                                 */ \
                                        /*                  ---------                                                                */ \
                                        /*                   C.z + D                                                                 */ \
                                        /*                                                                                           */ \
                    Eblock                                                                                                              \
                                        /* Definition generale de la transformation homographique dans les plans image ou            */ \
                                        /* complexe (introduite le 20070118100909).                                                  */

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        D E F I N I T I O N   D E   L A   T R A N S F O R M A T I O N   C O N F O R M E   H O M O G R A P H I Q U E                */
/*        E N   C O O R D O N N E E S   D ' E C R A N   [Xmin,Xmax] x [Ymin,Ymax]  :                                                 */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#define   Z_HOMOGRAPHIQUE_DANS_LE_PLAN_IMAGE(action_de_rangement)                                                                       \
                    Bblock                                                                                                              \
                    TRANSFORMATION_CONFORME_DANS_LE_PLAN_IMAGE(BLOC(DEFV(complexe,point_manoeuvre_A);                                   \
                                                                    DEFV(complexe,point_manoeuvre_B);                                   \
                                                                    DEFV(complexe,point_manoeuvre_C);                                   \
                                                                    DEFV(complexe,point_manoeuvre_D);                                   \
                                        /* Nombres complexes intermediaires...                                                       */ \
                                                                    )                                                                   \
                                                              ,TOUJOURS_VRAI                                                            \
                                                              ,BLOC(Z_HOMOGRAPHIQUE_DANS_PLANS_IMAGE_OU_COMPLEXE;)                      \
                                                              ,BLOC(action_de_rangement)                                                \
                                                              ,NEUT(facteur_multiplicatif)                                              \
                                                               );                                                                       \
                    Eblock                                                                                                              \
                                        /* Definition de la transformation conforme en coordonnees d'ecran [Xmin,Xmax]x[Ymin,Ymax].  */

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   C O N F O R M E   H O M O G R A P H I Q U E              */
/*        E N   C O O R D O N N E E S   D ' E C R A N   [Xmin,Xmax] x [Ymin,Ymax]  :                                                 */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

BFonctionP

DEFV(Common,DEFV(FonctionP,POINTERp(Iz_homographique_dans_le_plan_image(imageR,ARGUMENT_POINTERs(R_translation)
                                                                       ,facteur_multiplicatif
                                                                       ,imageA,ARGUMENT_POINTERs(A_translation)
                                                                       ,ARGUMENT_POINTERs(nombre_A)
                                                                       ,ARGUMENT_POINTERs(nombre_B)
                                                                       ,ARGUMENT_POINTERs(nombre_C)
                                                                       ,ARGUMENT_POINTERs(nombre_D)
                                                                        )
                                    )
                 )
     )
DEFV(Argument,DEFV(image,imageR));
                                        /* Image resultat a generer.                                                                 */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(R_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de generation de 'imageR' ; on n'obliera pas que cette translation est                    */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(Float,facteur_multiplicatif));
                                        /* Facteur multiplicatif 'K' (une valeur de l'ordre de 0.01 donne de bons resultats).        */
DEFV(Argument,DEFV(image,imageA));
                                        /* Image argument.                                                                           */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(A_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de l'image 'imageA' ; on n'oubliera pas que cette translation est                         */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(complexe,POINTERs(nombre_A)));
DEFV(Argument,DEFV(complexe,POINTERs(nombre_B)));
DEFV(Argument,DEFV(complexe,POINTERs(nombre_C)));
DEFV(Argument,DEFV(complexe,POINTERs(nombre_D)));
                                        /* Definition des quatre coefficients complexes de la transformation homographique :         */
                                        /*                                                                                           */
                                        /*                   A.z + B                                                                 */
                                        /*                  ---------                                                                */
                                        /*                   C.z + D                                                                 */
                                        /*                                                                                           */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     /*..............................................................................................................................*/
     Z_HOMOGRAPHIQUE_DANS_LE_PLAN_IMAGE(BLOC(store_point_load_point(imageA
                                                                   ,new_X
                                                                   ,new_Y
                                                                   ,imageR
                                                                   ,X
                                                                   ,Y
                                                                    );
                                             )
                                        );
     RETI(imageR);
     Eblock

EFonctionP

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   C O N F O R M E   H O M O G R A P H I Q U E              */
/*        E N   C O O R D O N N E E S   D ' E C R A N   [Xmin,Xmax] x [Ymin,Ymax]  :                                                 */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

BFonctionF

DEFV(Common,DEFV(FonctionF,POINTERF(IFz_homographique_dans_le_plan_image(imageR,ARGUMENT_POINTERs(R_translation)
                                                                        ,facteur_multiplicatif
                                                                        ,imageA,ARGUMENT_POINTERs(A_translation)
                                                                        ,ARGUMENT_POINTERs(nombre_A)
                                                                        ,ARGUMENT_POINTERs(nombre_B)
                                                                        ,ARGUMENT_POINTERs(nombre_C)
                                                                        ,ARGUMENT_POINTERs(nombre_D)
                                                                         )
                                    )
                 )
     )
                                        /* Fonction introduite le 20041228084443.                                                    */
DEFV(Argument,DEFV(imageF,imageR));
                                        /* Image resultat a generer.                                                                 */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(R_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de generation de 'imageR' ; on n'obliera pas que cette translation est                    */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(Float,facteur_multiplicatif));
                                        /* Facteur multiplicatif 'K' (une valeur de l'ordre de 0.01 donne de bons resultats).        */
DEFV(Argument,DEFV(imageF,imageA));
                                        /* Image argument.                                                                           */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(A_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de l'image 'imageA' ; on n'oubliera pas que cette translation est                         */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(complexe,POINTERs(nombre_A)));
DEFV(Argument,DEFV(complexe,POINTERs(nombre_B)));
DEFV(Argument,DEFV(complexe,POINTERs(nombre_C)));
DEFV(Argument,DEFV(complexe,POINTERs(nombre_D)));
                                        /* Definition des quatre coefficients complexes de la transformation homographique :         */
                                        /*                                                                                           */
                                        /*                   A.z + B                                                                 */
                                        /*                  ---------                                                                */
                                        /*                   C.z + D                                                                 */
                                        /*                                                                                           */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     /*..............................................................................................................................*/
     Z_HOMOGRAPHIQUE_DANS_LE_PLAN_IMAGE(BLOC(storeF_point_loadF_point(imageA
                                                                     ,new_X
                                                                     ,new_Y
                                                                     ,imageR
                                                                     ,X
                                                                     ,Y
                                                                      );
                                             )
                                        );
     RETIF(imageR);
     Eblock

EFonctionF

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   C O N F O R M E   H O M O G R A P H I Q U E              */
/*        E N   C O O R D O N N E E S   D ' E C R A N   [Xmin,Xmax] x [Ymin,Ymax]  :                                                 */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

BFonctionJ

DEFV(Common,DEFV(FonctionJ,POINTERJ(IJz_homographique_dans_le_plan_image(imageR,ARGUMENT_POINTERs(R_translation)
                                                                        ,facteur_multiplicatif
                                                                        ,imageA,ARGUMENT_POINTERs(A_translation)
                                                                        ,ARGUMENT_POINTERs(nombre_A)
                                                                        ,ARGUMENT_POINTERs(nombre_B)
                                                                        ,ARGUMENT_POINTERs(nombre_C)
                                                                        ,ARGUMENT_POINTERs(nombre_D)
                                                                         )
                                    )
                 )
     )
DEFV(Argument,DEFV(imageJ,imageR));
                                        /* Image resultat a generer.                                                                 */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(R_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de generation de 'imageR' ; on n'obliera pas que cette translation est                    */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(Float,facteur_multiplicatif));
                                        /* Facteur multiplicatif 'K' (une valeur de l'ordre de 0.01 donne de bons resultats).        */
DEFV(Argument,DEFV(imageJ,imageA));
                                        /* Image argument.                                                                           */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(A_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de l'image 'imageA' ; on n'oubliera pas que cette translation est                         */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(complexe,POINTERs(nombre_A)));
DEFV(Argument,DEFV(complexe,POINTERs(nombre_B)));
DEFV(Argument,DEFV(complexe,POINTERs(nombre_C)));
DEFV(Argument,DEFV(complexe,POINTERs(nombre_D)));
                                        /* Definition des quatre coefficients complexes de la transformation homographique :         */
                                        /*                                                                                           */
                                        /*                   A.z + B                                                                 */
                                        /*                  ---------                                                                */
                                        /*                   C.z + D                                                                 */
                                        /*                                                                                           */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     /*..............................................................................................................................*/
     Z_HOMOGRAPHIQUE_DANS_LE_PLAN_IMAGE(BLOC(storeJ_point_loadJ_point(imageA
                                                                     ,new_X
                                                                     ,new_Y
                                                                     ,imageR
                                                                     ,X
                                                                     ,Y
                                                                      );
                                             )
                                        );
     RETIJ(imageR);
     Eblock

EFonctionJ

#undef    Z_HOMOGRAPHIQUE_DANS_LE_PLAN_IMAGE

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        D E F I N I T I O N   D E   L A   T R A N S F O R M A T I O N   C O N F O R M E   H O M O G R A P H I Q U E                */
/*        E N   C O O R D O N N E E S   D U   P L A N   C O M P L E X E   [0,1] x [0,1]  :                                           */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#define   Z_HOMOGRAPHIQUE_DANS_LE_PLAN_COMPLEXE(action_de_rangement)                                                                    \
                    Bblock                                                                                                              \
                    TRANSFORMATION_CONFORME_DANS_LE_PLAN_COMPLEXE(BLOC(DEFV(complexe,point_manoeuvre_A);                                \
                                                                       DEFV(complexe,point_manoeuvre_B);                                \
                                                                       DEFV(complexe,point_manoeuvre_C);                                \
                                                                       DEFV(complexe,point_manoeuvre_D);                                \
                                        /* Nombres complexes intermediaires...                                                       */ \
                                                                       )                                                                \
                                                                 ,TOUJOURS_VRAI                                                         \
                                                                 ,BLOC(Z_HOMOGRAPHIQUE_DANS_PLANS_IMAGE_OU_COMPLEXE;)                   \
                                                                 ,BLOC(action_de_rangement)                                             \
                                                                  );                                                                    \
                    Eblock                                                                                                              \
                                        /* Definition de la transformation conforme en coordonnees d'ecran [Xmin,Xmax]x[Ymin,Ymax].  */

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   C O N F O R M E   H O M O G R A P H I Q U E              */
/*        E N   C O O R D O N N E E S   D U   P L A N   C O M P L E X E   [0,1] x [0,1]  :                                           */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

BFonctionP

DEFV(Common,DEFV(FonctionP,POINTERp(Iz_homographique_dans_le_plan_complexe(imageR,ARGUMENT_POINTERs(R_translation)
                                                                          ,facteur_multiplicatif
                                                                          ,imageA,ARGUMENT_POINTERs(A_translation)
                                                                          ,ARGUMENT_POINTERs(nombre_A)
                                                                          ,ARGUMENT_POINTERs(nombre_B)
                                                                          ,ARGUMENT_POINTERs(nombre_C)
                                                                          ,ARGUMENT_POINTERs(nombre_D)
                                                                           )
                                    )
                 )
     )
DEFV(Argument,DEFV(image,imageR));
                                        /* Image resultat a generer.                                                                 */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(R_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de generation de 'imageR' ; on n'obliera pas que cette translation est                    */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(Float,facteur_multiplicatif));
                                        /* Facteur multiplicatif 'K' (une valeur de l'ordre de 5.0 donne de bons resultats) ; voir   */
                                        /* a ce propos les commentaires de 'v $xci/z_homogra.01$K'...                                */
DEFV(Argument,DEFV(image,imageA));
                                        /* Image argument.                                                                           */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(A_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de l'image 'imageA' ; on n'oubliera pas que cette translation est                         */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(complexe,POINTERs(nombre_A)));
DEFV(Argument,DEFV(complexe,POINTERs(nombre_B)));
DEFV(Argument,DEFV(complexe,POINTERs(nombre_C)));
DEFV(Argument,DEFV(complexe,POINTERs(nombre_D)));
                                        /* Definition des quatre coefficients complexes de la transformation homographique :         */
                                        /*                                                                                           */
                                        /*                   A.z + B                                                                 */
                                        /*                  ---------                                                                */
                                        /*                   C.z + D                                                                 */
                                        /*                                                                                           */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     /*..............................................................................................................................*/
     Z_HOMOGRAPHIQUE_DANS_LE_PLAN_COMPLEXE(BLOC(store_point_load_point(imageA
                                                                      ,fV_cDENORMALISE_OX(new_X)
                                                                      ,fV_cDENORMALISE_OY(new_Y)
                                                                      ,imageR
                                                                      ,X
                                                                      ,Y
                                                                       );
                                                )
                                           );
     RETI(imageR);
     Eblock

EFonctionP

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   C O N F O R M E   H O M O G R A P H I Q U E              */
/*        E N   C O O R D O N N E E S   D U   P L A N   C O M P L E X E   [0,1] x [0,1]  :                                           */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

BFonctionF

DEFV(Common,DEFV(FonctionF,POINTERF(IFz_homographique_dans_le_plan_complexe(imageR,ARGUMENT_POINTERs(R_translation)
                                                                           ,facteur_multiplicatif
                                                                           ,imageA,ARGUMENT_POINTERs(A_translation)
                                                                           ,ARGUMENT_POINTERs(nombre_A)
                                                                           ,ARGUMENT_POINTERs(nombre_B)
                                                                           ,ARGUMENT_POINTERs(nombre_C)
                                                                           ,ARGUMENT_POINTERs(nombre_D)
                                                                            )
                                    )
                 )
     )
                                        /* Fonction introduite le 20041228084443.                                                    */
DEFV(Argument,DEFV(imageF,imageR));
                                        /* Image resultat a generer.                                                                 */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(R_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de generation de 'imageR' ; on n'obliera pas que cette translation est                    */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(Float,facteur_multiplicatif));
                                        /* Facteur multiplicatif 'K' (une valeur de l'ordre de 5.0 donne de bons resultats) ; voir   */
                                        /* a ce propos les commentaires de 'v $xci/z_homogra.01$K'...                                */
DEFV(Argument,DEFV(imageF,imageA));
                                        /* Image argument.                                                                           */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(A_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de l'image 'imageA' ; on n'oubliera pas que cette translation est                         */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(complexe,POINTERs(nombre_A)));
DEFV(Argument,DEFV(complexe,POINTERs(nombre_B)));
DEFV(Argument,DEFV(complexe,POINTERs(nombre_C)));
DEFV(Argument,DEFV(complexe,POINTERs(nombre_D)));
                                        /* Definition des quatre coefficients complexes de la transformation homographique :         */
                                        /*                                                                                           */
                                        /*                   A.z + B                                                                 */
                                        /*                  ---------                                                                */
                                        /*                   C.z + D                                                                 */
                                        /*                                                                                           */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     /*..............................................................................................................................*/
     Z_HOMOGRAPHIQUE_DANS_LE_PLAN_COMPLEXE(BLOC(storeF_point_loadF_point(imageA
                                                                        ,fV_cDENORMALISE_OX(new_X)
                                                                        ,fV_cDENORMALISE_OY(new_Y)
                                                                        ,imageR
                                                                        ,X
                                                                        ,Y
                                                                         );
                                                )
                                           );
     RETIF(imageR);
     Eblock

EFonctionF

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   C O N F O R M E   H O M O G R A P H I Q U E              */
/*        E N   C O O R D O N N E E S   D U   P L A N   C O M P L E X E   [0,1] x [0,1]  :                                           */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

BFonctionJ

DEFV(Common,DEFV(FonctionJ,POINTERJ(IJz_homographique_dans_le_plan_complexe(imageR,ARGUMENT_POINTERs(R_translation)
                                                                           ,facteur_multiplicatif
                                                                           ,imageA,ARGUMENT_POINTERs(A_translation)
                                                                           ,ARGUMENT_POINTERs(nombre_A)
                                                                           ,ARGUMENT_POINTERs(nombre_B)
                                                                           ,ARGUMENT_POINTERs(nombre_C)
                                                                           ,ARGUMENT_POINTERs(nombre_D)
                                                                            )
                                    )
                 )
     )
DEFV(Argument,DEFV(imageJ,imageR));
                                        /* Image resultat a generer.                                                                 */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(R_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de generation de 'imageR' ; on n'obliera pas que cette translation est                    */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(Float,facteur_multiplicatif));
                                        /* Facteur multiplicatif 'K' (une valeur de l'ordre de 5.0 donne de bons resultats) ; voir   */
                                        /* a ce propos les commentaires de 'v $xci/z_homogra.01$K'...                                */
DEFV(Argument,DEFV(imageJ,imageA));
                                        /* Image argument.                                                                           */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(A_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de l'image 'imageA' ; on n'oubliera pas que cette translation est                         */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(complexe,POINTERs(nombre_A)));
DEFV(Argument,DEFV(complexe,POINTERs(nombre_B)));
DEFV(Argument,DEFV(complexe,POINTERs(nombre_C)));
DEFV(Argument,DEFV(complexe,POINTERs(nombre_D)));
                                        /* Definition des quatre coefficients complexes de la transformation homographique :         */
                                        /*                                                                                           */
                                        /*                   A.z + B                                                                 */
                                        /*                  ---------                                                                */
                                        /*                   C.z + D                                                                 */
                                        /*                                                                                           */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     /*..............................................................................................................................*/
     Z_HOMOGRAPHIQUE_DANS_LE_PLAN_COMPLEXE(BLOC(storeJ_point_loadJ_point(imageA
                                                                        ,fV_cDENORMALISE_OX(new_X)
                                                                        ,fV_cDENORMALISE_OY(new_Y)
                                                                        ,imageR
                                                                        ,X
                                                                        ,Y
                                                                         );
                                                )
                                           );
     RETIJ(imageR);
     Eblock

EFonctionJ

#undef    Z_HOMOGRAPHIQUE_DANS_LE_PLAN_COMPLEXE

#undef    Z_HOMOGRAPHIQUE_DANS_PLANS_IMAGE_OU_COMPLEXE

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   G E N E R A L I S E E  :   */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#define   Z_HYPERBOLIQUE_1_DANS_PLANS_IMAGE_OU_COMPLEXE                                                                                 \
                    Bblock                                                                                                              \
                    DEFV(complexe_etendu,point_courant_etendu);                                                                         \
                    DEFV(complexe_etendu,point_manoeuvre_etendu);                                                                       \
                                                                                                                                        \
                    Cextension_directe(point_courant_etendu,point_courant);                                                             \
                                                                                                                                        \
                    EGAL(CP_Rho(point_manoeuvre_etendu)                                                                                 \
                        ,FfABSO(LIN2(NomDeLaFonctionCourante QD@@__ _____ponderation_TAHX                                               \
                                    ,TAHX(AXPB(NomDeLaFonctionCourante QD@@__ _____A_TAHX_du_module                                     \
                                              ,CP_Rho(point_courant_etendu)                                                             \
                                              ,NomDeLaFonctionCourante QD@@__ _____B_TAHX_du_module                                     \
                                               )                                                                                        \
                                          )                                                                                             \
                                    ,NomDeLaFonctionCourante QD@@__ _____ponderation_SINX                                               \
                                    ,SINX(AXPB(NomDeLaFonctionCourante QD@@__ _____A_SINX_du_module                                     \
                                              ,CP_Rho(point_courant_etendu)                                                             \
                                              ,NomDeLaFonctionCourante QD@@__ _____B_SINX_du_module                                     \
                                               )                                                                                        \
                                          )                                                                                             \
                                    ,NomDeLaFonctionCourante QD@@__ _____translation_du_module                                          \
                                     )                                                                                                  \
                                )                                                                                                       \
                         );                                                                                                             \
                                        /* Par l'usage de 'TAHX(...)', le module de 'point_courant_etendu', quelle que soit sa       */ \
                                        /* valeur, est ramene dans [0,1['...                                                         */ \
                                        /*                                                                                           */ \
                                        /* On rappelle le 20111229091704 que 'TAHX(...)' atteint tres vite, "a epsilon pres",        */ \
                                        /* son maximum (1.0) :                                                                       */ \
                                        /*                                                                                           */ \
                                        /*                  TAHX(0.0)=0.000000                                                       */ \
                                        /*                  TAHX(0.2)=0.197375                                                       */ \
                                        /*                  TAHX(0.4)=0.379949                                                       */ \
                                        /*                  TAHX(0.6)=0.537050                                                       */ \
                                        /*                  TAHX(0.8)=0.664037                                                       */ \
                                        /*                  TAHX(1.0)=0.761594                                                       */ \
                                        /*                  TAHX(1.2)=0.833655                                                       */ \
                                        /*                  TAHX(1.4)=0.885352                                                       */ \
                                        /*                  TAHX(1.6)=0.921669                                                       */ \
                                        /*                  TAHX(1.8)=0.946806                                                       */ \
                                        /*                  TAHX(2.0)=0.964028                                                       */ \
                                        /*                  TAHX(2.2)=0.975743                                                       */ \
                                        /*                  TAHX(2.4)=0.983675                                                       */ \
                                        /*                  TAHX(2.6)=0.989027                                                       */ \
                                        /*                  TAHX(2.8)=0.992632  <-- a 0.01 pres...                                   */ \
                                        /*                  TAHX(3.0)=0.995055                                                       */ \
                                        /*                  TAHX(3.2)=0.996682                                                       */ \
                                        /*                  TAHX(3.4)=0.997775                                                       */ \
                                        /*                  TAHX(3.6)=0.998508                                                       */ \
                                        /*                  TAHX(3.8)=0.999000                                                       */ \
                                        /*                  TAHX(4.0)=0.999329                                                       */ \
                                        /*                                                                                           */ \
                                        /* Le 20111230170628 la fonction 'FfABSO(...)' fut introduite car, en effet, un module       */ \
                                        /* ne peut etre que positif ou nul...                                                        */ \
                    EGAL(CP_Theta(point_manoeuvre_etendu),NEUT(CP_Theta(point_courant_etendu)));                                        \
                                                                                                                                        \
                    Cextension_inverse(point_manoeuvre,point_manoeuvre_etendu);                                                         \
                    Eblock                                                                                                              \
                                        /* Definition generale de la transformation 'z' hyperbolique dans les plans image ou         */ \
                                        /* complexe (introduite le 20111228111203).                                                  */

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        D E F I N I 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   G E N E R A L I S E E        */
/*        E N   C O O R D O N N E E S   D ' E C R A N   [Xmin,Xmax] x [Ymin,Ymax]  :                                                 */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#define   Z_HYPERBOLIQUE_1_DANS_LE_PLAN_IMAGE(action_de_rangement)                                                                      \
                    Bblock                                                                                                              \
                    TRANSFORMATION_CONFORME_DANS_LE_PLAN_IMAGE(BLOC(VIDE;)                                                              \
                                                              ,TOUJOURS_VRAI                                                            \
                                                              ,BLOC(Z_HYPERBOLIQUE_1_DANS_PLANS_IMAGE_OU_COMPLEXE;)                     \
                                                              ,BLOC(action_de_rangement)                                                \
                                                              ,MUL2(facteur_multiplicatif,NEUT(facteur_correctif))                      \
                                                               );                                                                       \
                    Eblock                                                                                                              \
                                        /* Definition de la transformation en coordonnees d'ecran [Xmin,Xmax]x[Ymin,Ymax].           */

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   G E N E R A L I S E E      */
/*        E N   C O O R D O N N E E S   D ' E C R A N   [Xmin,Xmax] x [Ymin,Ymax]  :                                                 */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

BFonctionP

DEFV(Common,DEFV(Float,SINT(Iz_hyperbolique_1_dans_le_plan_image_____ponderation_TAHX,FU)));
DEFV(Common,DEFV(Float,SINT(Iz_hyperbolique_1_dans_le_plan_image_____A_TAHX_du_module,FU)));
DEFV(Common,DEFV(Float,SINT(Iz_hyperbolique_1_dans_le_plan_image_____B_TAHX_du_module,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iz_hyperbolique_1_dans_le_plan_image_____ponderation_SINX,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iz_hyperbolique_1_dans_le_plan_image_____A_SINX_du_module,FU)));
DEFV(Common,DEFV(Float,SINT(Iz_hyperbolique_1_dans_le_plan_image_____B_SINX_du_module,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iz_hyperbolique_1_dans_le_plan_image_____translation_du_module,FZERO)));
                                        /* Parametre introduit le 20111228142846 et completes le 20111229143729...                   */

DEFV(Common,DEFV(FonctionP,POINTERp(Iz_hyperbolique_1_dans_le_plan_image(imageR,ARGUMENT_POINTERs(R_translation)
                                                                        ,facteur_multiplicatif
                                                                        ,imageA,ARGUMENT_POINTERs(A_translation)
                                                                         )
                                    )
                 )
     )
                                        /* Fonction introduite le 20111228111203.                                                    */
DEFV(Argument,DEFV(image,imageR));
                                        /* Image resultat a generer.                                                                 */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(R_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de generation de 'imageR' ; on n'obliera pas que cette translation est                    */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(Float,facteur_multiplicatif));
                                        /* Facteur multiplicatif 'K' (une valeur de l'ordre de 0.01 donne de bons resultats).        */
DEFV(Argument,DEFV(image,imageA));
                                        /* Image argument.                                                                           */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(A_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de l'image 'imageA' ; on n'oubliera pas que cette translation est                         */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     /*..............................................................................................................................*/
     Z_HYPERBOLIQUE_1_DANS_LE_PLAN_IMAGE(BLOC(store_point_load_point(imageA
                                                                    ,new_X
                                                                    ,new_Y
                                                                    ,imageR
                                                                    ,X
                                                                    ,Y
                                                                     );
                                              )
                                         );
     RETI(imageR);
     Eblock

EFonctionP

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   G E N E R A L I S E E      */
/*        E N   C O O R D O N N E E S   D ' E C R A N   [Xmin,Xmax] x [Ymin,Ymax]  :                                                 */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

BFonctionF

DEFV(Common,DEFV(Float,SINT(IFz_hyperbolique_1_dans_le_plan_image_____ponderation_TAHX,FU)));
DEFV(Common,DEFV(Float,SINT(IFz_hyperbolique_1_dans_le_plan_image_____A_TAHX_du_module,FU)));
DEFV(Common,DEFV(Float,SINT(IFz_hyperbolique_1_dans_le_plan_image_____B_TAHX_du_module,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFz_hyperbolique_1_dans_le_plan_image_____ponderation_SINX,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFz_hyperbolique_1_dans_le_plan_image_____A_SINX_du_module,FU)));
DEFV(Common,DEFV(Float,SINT(IFz_hyperbolique_1_dans_le_plan_image_____B_SINX_du_module,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFz_hyperbolique_1_dans_le_plan_image_____translation_du_module,FZERO)));
                                        /* Parametre introduit le 20111228142846 et completes le 20111229143729...                   */

DEFV(Common,DEFV(FonctionF,POINTERF(IFz_hyperbolique_1_dans_le_plan_image(imageR,ARGUMENT_POINTERs(R_translation)
                                                                         ,facteur_multiplicatif
                                                                         ,imageA,ARGUMENT_POINTERs(A_translation)
                                                                          )
                                    )
                 )
     )
                                        /* Fonction introduite le 20111228111203.                                                    */
DEFV(Argument,DEFV(imageF,imageR));
                                        /* Image resultat a generer.                                                                 */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(R_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de generation de 'imageR' ; on n'obliera pas que cette translation est                    */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(Float,facteur_multiplicatif));
                                        /* Facteur multiplicatif 'K' (une valeur de l'ordre de 0.01 donne de bons resultats).        */
DEFV(Argument,DEFV(imageF,imageA));
                                        /* Image argument.                                                                           */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(A_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de l'image 'imageA' ; on n'oubliera pas que cette translation est                         */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     /*..............................................................................................................................*/
     Z_HYPERBOLIQUE_1_DANS_LE_PLAN_IMAGE(BLOC(storeF_point_loadF_point(imageA
                                                                      ,new_X
                                                                      ,new_Y
                                                                      ,imageR
                                                                      ,X
                                                                      ,Y
                                                                       );
                                              )
                                         );
     RETIF(imageR);
     Eblock

EFonctionF

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   G E N E R A L I S E E      */
/*        E N   C O O R D O N N E E S   D ' E C R A N   [Xmin,Xmax] x [Ymin,Ymax]  :                                                 */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

BFonctionJ

DEFV(Common,DEFV(Float,SINT(IJz_hyperbolique_1_dans_le_plan_image_____ponderation_TAHX,FU)));
DEFV(Common,DEFV(Float,SINT(IJz_hyperbolique_1_dans_le_plan_image_____A_TAHX_du_module,FU)));
DEFV(Common,DEFV(Float,SINT(IJz_hyperbolique_1_dans_le_plan_image_____B_TAHX_du_module,FZERO)));
DEFV(Common,DEFV(Float,SINT(IJz_hyperbolique_1_dans_le_plan_image_____ponderation_SINX,FZERO)));
DEFV(Common,DEFV(Float,SINT(IJz_hyperbolique_1_dans_le_plan_image_____A_SINX_du_module,FU)));
DEFV(Common,DEFV(Float,SINT(IJz_hyperbolique_1_dans_le_plan_image_____B_SINX_du_module,FZERO)));
DEFV(Common,DEFV(Float,SINT(IJz_hyperbolique_1_dans_le_plan_image_____translation_du_module,FZERO)));
                                        /* Parametre introduit le 20111228142846 et completes le 20111229143729...                   */

DEFV(Common,DEFV(FonctionJ,POINTERJ(IJz_hyperbolique_1_dans_le_plan_image(imageR,ARGUMENT_POINTERs(R_translation)
                                                                         ,facteur_multiplicatif
                                                                         ,imageA,ARGUMENT_POINTERs(A_translation)
                                                                          )
                                    )
                 )
     )
                                        /* Fonction introduite le 20111228111203.                                                    */
DEFV(Argument,DEFV(imageJ,imageR));
                                        /* Image resultat a generer.                                                                 */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(R_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de generation de 'imageR' ; on n'obliera pas que cette translation est                    */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(Float,facteur_multiplicatif));
                                        /* Facteur multiplicatif 'K' (une valeur de l'ordre de 0.01 donne de bons resultats).        */
DEFV(Argument,DEFV(imageJ,imageA));
                                        /* Image argument.                                                                           */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(A_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de l'image 'imageA' ; on n'oubliera pas que cette translation est                         */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     /*..............................................................................................................................*/
     Z_HYPERBOLIQUE_1_DANS_LE_PLAN_IMAGE(BLOC(storeJ_point_loadJ_point(imageA
                                                                      ,new_X
                                                                      ,new_Y
                                                                      ,imageR
                                                                      ,X
                                                                      ,Y
                                                                       );
                                              )
                                         );
     RETIJ(imageR);
     Eblock

EFonctionJ

#undef    Z_HYPERBOLIQUE_1_DANS_LE_PLAN_IMAGE

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        D E F I N I 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   G E N E R A L I S E E        */
/*        E N   C O O R D O N N E E S   D U   P L A N   C O M P L E X E   [0,1] x [0,1]  :                                           */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#define   Z_HYPERBOLIQUE_1_DANS_LE_PLAN_COMPLEXE(action_de_rangement)                                                                   \
                    Bblock                                                                                                              \
                    TRANSFORMATION_CONFORME_DANS_LE_PLAN_COMPLEXE(BLOC(VIDE;)                                                           \
                                                                 ,TOUJOURS_VRAI                                                         \
                                                                 ,BLOC(Z_HYPERBOLIQUE_1_DANS_PLANS_IMAGE_OU_COMPLEXE;)                  \
                                                                 ,BLOC(action_de_rangement)                                             \
                                                                  );                                                                    \
                    Eblock                                                                                                              \
                                        /* Definition de la transformation en coordonnees d'ecran [Xmin,Xmax]x[Ymin,Ymax].           */

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   G E N E R A L I S E E      */
/*        E N   C O O R D O N N E E S   D U   P L A N   C O M P L E X E   [0,1] x [0,1]  :                                           */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

BFonctionP

DEFV(Common,DEFV(Float,SINT(Iz_hyperbolique_1_dans_le_plan_complexe_____ponderation_TAHX,FU)));
DEFV(Common,DEFV(Float,SINT(Iz_hyperbolique_1_dans_le_plan_complexe_____A_TAHX_du_module,FU)));
DEFV(Common,DEFV(Float,SINT(Iz_hyperbolique_1_dans_le_plan_complexe_____B_TAHX_du_module,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iz_hyperbolique_1_dans_le_plan_complexe_____ponderation_SINX,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iz_hyperbolique_1_dans_le_plan_complexe_____A_SINX_du_module,FU)));
DEFV(Common,DEFV(Float,SINT(Iz_hyperbolique_1_dans_le_plan_complexe_____B_SINX_du_module,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iz_hyperbolique_1_dans_le_plan_complexe_____translation_du_module,FZERO)));
                                        /* Parametre introduit le 20111228142846 et completes le 20111229143729...                   */

DEFV(Common,DEFV(FonctionP,POINTERp(Iz_hyperbolique_1_dans_le_plan_complexe(imageR,ARGUMENT_POINTERs(R_translation)
                                                                           ,facteur_multiplicatif
                                                                           ,imageA,ARGUMENT_POINTERs(A_translation)
                                                                            )
                                    )
                 )
     )
                                        /* Fonction introduite le 20111228111203.                                                    */
DEFV(Argument,DEFV(image,imageR));
                                        /* Image resultat a generer.                                                                 */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(R_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de generation de 'imageR' ; on n'obliera pas que cette translation est                    */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(Float,facteur_multiplicatif));
                                        /* Facteur multiplicatif 'K'.                                                                */
DEFV(Argument,DEFV(image,imageA));
                                        /* Image argument.                                                                           */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(A_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de l'image 'imageA' ; on n'oubliera pas que cette translation est                         */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     /*..............................................................................................................................*/
     Z_HYPERBOLIQUE_1_DANS_LE_PLAN_COMPLEXE(BLOC(store_point_load_point(imageA
                                                                       ,fV_cDENORMALISE_OX(new_X)
                                                                       ,fV_cDENORMALISE_OY(new_Y)
                                                                       ,imageR
                                                                       ,X
                                                                       ,Y
                                                                        );
                                                 )
                                            );
     RETI(imageR);
     Eblock

EFonctionP

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   G E N E R A L I S E E      */
/*        E N   C O O R D O N N E E S   D U   P L A N   C O M P L E X E   [0,1] x [0,1]  :                                           */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

BFonctionF

DEFV(Common,DEFV(Float,SINT(IFz_hyperbolique_1_dans_le_plan_complexe_____ponderation_TAHX,FU)));
DEFV(Common,DEFV(Float,SINT(IFz_hyperbolique_1_dans_le_plan_complexe_____A_TAHX_du_module,FU)));
DEFV(Common,DEFV(Float,SINT(IFz_hyperbolique_1_dans_le_plan_complexe_____B_TAHX_du_module,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFz_hyperbolique_1_dans_le_plan_complexe_____ponderation_SINX,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFz_hyperbolique_1_dans_le_plan_complexe_____A_SINX_du_module,FU)));
DEFV(Common,DEFV(Float,SINT(IFz_hyperbolique_1_dans_le_plan_complexe_____B_SINX_du_module,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFz_hyperbolique_1_dans_le_plan_complexe_____translation_du_module,FZERO)));
                                        /* Parametre introduit le 20111228142846 et completes le 20111229143729...                   */

DEFV(Common,DEFV(FonctionF,POINTERF(IFz_hyperbolique_1_dans_le_plan_complexe(imageR,ARGUMENT_POINTERs(R_translation)
                                                                            ,facteur_multiplicatif
                                                                            ,imageA,ARGUMENT_POINTERs(A_translation)
                                                                             )
                                    )
                 )
     )
                                        /* Fonction introduite le 20111228111203.                                                    */
DEFV(Argument,DEFV(imageF,imageR));
                                        /* Image resultat a generer.                                                                 */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(R_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de generation de 'imageR' ; on n'obliera pas que cette translation est                    */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(Float,facteur_multiplicatif));
                                        /* Facteur multiplicatif 'K'.                                                                */
DEFV(Argument,DEFV(imageF,imageA));
                                        /* Image argument.                                                                           */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(A_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de l'image 'imageA' ; on n'oubliera pas que cette translation est                         */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     /*..............................................................................................................................*/
     Z_HYPERBOLIQUE_1_DANS_LE_PLAN_COMPLEXE(BLOC(storeF_point_loadF_point(imageA
                                                                         ,fV_cDENORMALISE_OX(new_X)
                                                                         ,fV_cDENORMALISE_OY(new_Y)
                                                                         ,imageR
                                                                         ,X
                                                                         ,Y
                                                                          );
                                                 )
                                            );
     RETIF(imageR);
     Eblock

EFonctionF

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   G E N E R A L I S E E      */
/*        E N   C O O R D O N N E E S   D U   P L A N   C O M P L E X E   [0,1] x [0,1]  :                                           */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

BFonctionJ

DEFV(Common,DEFV(Float,SINT(IJz_hyperbolique_1_dans_le_plan_complexe_____ponderation_TAHX,FU)));
DEFV(Common,DEFV(Float,SINT(IJz_hyperbolique_1_dans_le_plan_complexe_____A_TAHX_du_module,FU)));
DEFV(Common,DEFV(Float,SINT(IJz_hyperbolique_1_dans_le_plan_complexe_____B_TAHX_du_module,FZERO)));
DEFV(Common,DEFV(Float,SINT(IJz_hyperbolique_1_dans_le_plan_complexe_____ponderation_SINX,FZERO)));
DEFV(Common,DEFV(Float,SINT(IJz_hyperbolique_1_dans_le_plan_complexe_____A_SINX_du_module,FU)));
DEFV(Common,DEFV(Float,SINT(IJz_hyperbolique_1_dans_le_plan_complexe_____B_SINX_du_module,FZERO)));
DEFV(Common,DEFV(Float,SINT(IJz_hyperbolique_1_dans_le_plan_complexe_____translation_du_module,FZERO)));
                                        /* Parametre introduit le 20111228142846 et completes le 20111229143729...                   */

DEFV(Common,DEFV(FonctionJ,POINTERJ(IJz_hyperbolique_1_dans_le_plan_complexe(imageR,ARGUMENT_POINTERs(R_translation)
                                                                            ,facteur_multiplicatif
                                                                            ,imageA,ARGUMENT_POINTERs(A_translation)
                                                                             )
                                    )
                 )
     )
                                        /* Fonction introduite le 20111228111203.                                                    */
DEFV(Argument,DEFV(imageJ,imageR));
                                        /* Image resultat a generer.                                                                 */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(R_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de generation de 'imageR' ; on n'obliera pas que cette translation est                    */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(Float,facteur_multiplicatif));
                                        /* Facteur multiplicatif 'K'.                                                                */
DEFV(Argument,DEFV(imageJ,imageA));
                                        /* Image argument.                                                                           */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(A_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de l'image 'imageA' ; on n'oubliera pas que cette translation est                         */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     /*..............................................................................................................................*/
     Z_HYPERBOLIQUE_1_DANS_LE_PLAN_COMPLEXE(BLOC(storeJ_point_loadJ_point(imageA
                                                                         ,fV_cDENORMALISE_OX(new_X)
                                                                         ,fV_cDENORMALISE_OY(new_Y)
                                                                         ,imageR
                                                                         ,X
                                                                         ,Y
                                                                          );
                                                 )
                                            );
     RETIJ(imageR);
     Eblock

EFonctionJ

#undef    Z_HYPERBOLIQUE_1_DANS_LE_PLAN_COMPLEXE

#undef    Z_HYPERBOLIQUE_1_DANS_PLANS_IMAGE_OU_COMPLEXE

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   2   G E N E R A L I S E E  :   */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#define   Z_HYPERBOLIQUE_2_DANS_PLANS_IMAGE_OU_COMPLEXE                                                                                 \
                    Bblock                                                                                                              \
                    DEFV(complexe_etendu,point_manoeuvre_etendu);                                                                       \
                                                                                                                                        \
                    EGAL(CP_Rho(point_manoeuvre_etendu)                                                                                 \
                        ,AXPB(NomDeLaFonctionCourante QD@@__ _____ARho_                                                                 \
                             ,ABSO(TANH(Reelle(point_courant)))                                                                         \
                             ,NomDeLaFonctionCourante QD@@__ _____BRho_                                                                 \
                              )                                                                                                         \
                         );                                                                                                             \
                    EGAL(CP_Theta(point_manoeuvre_etendu)                                                                               \
                        ,AXPB(NomDeLaFonctionCourante QD@@__ _____ATheta                                                                \
                             ,ATAD(TANG(Imaginaire(point_courant)))                                                                     \
                             ,NomDeLaFonctionCourante QD@@__ _____BTheta                                                                \
                              )                                                                                                         \
                         );                                                                                                             \
                                        /* Le principe de cette transformation est le suivant :                                      */ \
                                        /*                                                                                           */ \
                                        /* 1-Soit l'hyperboloide 'H' a deux nappes :                                                 */ \
                                        /*                                                                                           */ \
                                        /*                  X(u,v) = a.sh(u).cos(v)                                                  */ \
                                        /*                  Y(u,v) = b.sh(u).sin(v)                                                  */ \
                                        /*                  Z(u,v) = c.ch(u)                                                         */ \
                                        /*                                                                                           */ \
                                        /* dont on ne prend donc que la nappe superieure (d'ou le "+c") et que l'on suppose de       */ \
                                        /* revolution autour de l'axe 'OZ', d'ou :                                                   */ \
                                        /*                                                                                           */ \
                                        /*                  a = b                                                                    */ \
                                        /*                                                                                           */ \
                                        /* 2-Soit le cercle 'K' situe dans un plan parallele a 'OXY' :                               */ \
                                        /*                                                                                           */ \
                                        /*                  X = r.cos(t)                                                             */ \
                                        /*                  Y = r.sin(t)                                                             */ \
                                        /*                  Z = c/a                                                                  */ \
                                        /*                                                                                           */ \
                                        /* Le faisceau de droites passant par l'origine 'O' et la circonference de ce cercle 'K'     */ \
                                        /* est le cone asymptote de l'hyperboloide 'H'.                                              */ \
                                        /*                                                                                           */ \
                                        /* 3-Soit 'OP' une droite passant par l'origine 'O' et un point 'P' quelconque du disque     */ \
                                        /* delimite par le cercle 'K'. Etudions l'intersection de 'OP'  'O' et un point 'P'          */ \
                                        /* quelconque du cercle 'K' :                                                                */ \
                                        /*                                                                                           */ \
                                        /*                  a.sh(u).cos(v) = q.r.cos(t)                                              */ \
                                        /*                  b.sh(u).sin(v) = q.r.sin(t)                                              */ \
                                        /*                  c.ch(u)        = q.(c/a)                                                 */ \
                                        /*                                                                                           */ \
                                        /* ou 'q' est un nombre reel qui permet de parametrer la doite 'OP'. Du systeme de trois     */ \
                                        /* equations precedents, on tire :                                                           */ \
                                        /*                                                                                           */ \
                                        /*                  t = arctg(tg(v))                                                         */ \
                                        /*                  r = |th(u)|                                                              */ \
                                        /*                                                                                           */ \
                                        /* (qui correspondemt aux affectations 'CP_Rho(...)' et 'CP_Theta(...)' ci-dessus) et        */ \
                                        /*                                                                                           */ \
                                        /*                                 1                                                         */ \
                                        /*                  u = arcsh(------------)                                                  */ \
                                        /*                                _______                                                    */ \
                                        /*                               /     2                                                     */ \
                                        /*                             \/ 1 - r                                                      */ \
                                        /*                                                                                           */ \
                                        /*                             a                                                             */ \
                                        /*                  v = arctg(---.tg(t)) = arctg(tg(t))                                      */ \
                                        /*                             b                                                             */ \
                                        /*                                                                                           */ \
                                        /*                           a                                                               */ \
                                        /*                  q = ------------)                                                        */ \
                                        /*                          _______                                                          */ \
                                        /*                         /     2                                                           */ \
                                        /*                       \/ 1 - r                                                            */ \
                                        /*                                                                                           */ \
                                        /* d'ou le mapping :                                                                         */ \
                                        /*                                                                                           */ \
                                        /*                  H     <--> K                                                             */ \
                                        /*                                                                                           */ \
                                        /*                  {u,v} <--> {r,t}                                                         */ \
                                        /*                                                                                           */ \
                                        /* avec :                                                                                    */ \
                                        /*                                                                                           */ \
                                        /*                  u     <--> Relle(point_courant)                                          */ \
                                        /*                  v     <--> Imaginaire(point_courant)                                     */ \
                                        /*                                                                                           */ \
                                        /*                                                                                           */ \
                                        /* Enfin, on notera qu'evidemment dans la definition de 'CP_Theta(...)' ci-dessus :          */ \
                                        /*                                                                                           */ \
                                        /*                  ATAD(TANG(...)) = NEUT(...)                                              */ \
                                        /*                                                                                           */ \
                                        /* mais que, malgre tout, cette forme est conservee afin de garantir l'intervalle du         */ \
                                        /* resultat...                                                                               */ \
                                                                                                                                        \
                    Cextension_inverse(point_manoeuvre,point_manoeuvre_etendu);                                                         \
                    Eblock                                                                                                              \
                                        /* Definition generale de la transformation 'z' hyperbolique dans les plans image ou         */ \
                                        /* complexe.                                                                                 */

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        D E F I N I 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   2   G E N E R A L I S E E        */
/*        E N   C O O R D O N N E E S   D ' E C R A N   [Xmin,Xmax] x [Ymin,Ymax]  :                                                 */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#define   Z_HYPERBOLIQUE_2_DANS_LE_PLAN_IMAGE(action_de_rangement)                                                                      \
                    Bblock                                                                                                              \
                    TRANSFORMATION_CONFORME_DANS_LE_PLAN_IMAGE(BLOC(VIDE;)                                                              \
                                                              ,TOUJOURS_VRAI                                                            \
                                                              ,BLOC(Z_HYPERBOLIQUE_2_DANS_PLANS_IMAGE_OU_COMPLEXE;)                     \
                                                              ,BLOC(action_de_rangement)                                                \
                                                              ,MUL2(facteur_multiplicatif,NEUT(facteur_correctif))                      \
                                                               );                                                                       \
                    Eblock                                                                                                              \
                                        /* Definition de la transformation en coordonnees d'ecran [Xmin,Xmax]x[Ymin,Ymax].           */

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   2   G E N E R A L I S E E      */
/*        E N   C O O R D O N N E E S   D ' E C R A N   [Xmin,Xmax] x [Ymin,Ymax]  :                                                 */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

BFonctionP

DEFV(Common,DEFV(Float,SINT(Iz_hyperbolique_2_dans_le_plan_image_____ARho_,FU)));
DEFV(Common,DEFV(Float,SINT(Iz_hyperbolique_2_dans_le_plan_image_____BRho_,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iz_hyperbolique_2_dans_le_plan_image_____ATheta,CERCLE_TRIGONOMETRIQUE)));
DEFV(Common,DEFV(Float,SINT(Iz_hyperbolique_2_dans_le_plan_image_____BTheta,FZERO)));
                                        /* Arguments introduits le 20120601090927...                                                 */

DEFV(Common,DEFV(FonctionP,POINTERp(Iz_hyperbolique_2_dans_le_plan_image(imageR,ARGUMENT_POINTERs(R_translation)
                                                                        ,facteur_multiplicatif
                                                                        ,imageA,ARGUMENT_POINTERs(A_translation)
                                                                         )
                                    )
                 )
     )
                                        /* Fonction introduite le 20120526222445.                                                    */
DEFV(Argument,DEFV(image,imageR));
                                        /* Image resultat a generer.                                                                 */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(R_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de generation de 'imageR' ; on n'obliera pas que cette translation est                    */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(Float,facteur_multiplicatif));
                                        /* Facteur multiplicatif 'K' (une valeur de l'ordre de 0.01 donne de bons resultats).        */
DEFV(Argument,DEFV(image,imageA));
                                        /* Image argument.                                                                           */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(A_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de l'image 'imageA' ; on n'oubliera pas que cette translation est                         */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     /*..............................................................................................................................*/
     Z_HYPERBOLIQUE_2_DANS_LE_PLAN_IMAGE(BLOC(store_point_load_point(imageA
                                                                    ,new_X
                                                                    ,new_Y
                                                                    ,imageR
                                                                    ,X
                                                                    ,Y
                                                                     );
                                              )
                                         );
     RETI(imageR);
     Eblock

EFonctionP

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   2   G E N E R A L I S E E      */
/*        E N   C O O R D O N N E E S   D ' E C R A N   [Xmin,Xmax] x [Ymin,Ymax]  :                                                 */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

BFonctionF

DEFV(Common,DEFV(Float,SINT(IFz_hyperbolique_2_dans_le_plan_image_____ARho_,FU)));
DEFV(Common,DEFV(Float,SINT(IFz_hyperbolique_2_dans_le_plan_image_____BRho_,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFz_hyperbolique_2_dans_le_plan_image_____ATheta,CERCLE_TRIGONOMETRIQUE)));
DEFV(Common,DEFV(Float,SINT(IFz_hyperbolique_2_dans_le_plan_image_____BTheta,FZERO)));
                                        /* Arguments introduits le 20120601090927...                                                 */

DEFV(Common,DEFV(FonctionF,POINTERF(IFz_hyperbolique_2_dans_le_plan_image(imageR,ARGUMENT_POINTERs(R_translation)
                                                                         ,facteur_multiplicatif
                                                                         ,imageA,ARGUMENT_POINTERs(A_translation)
                                                                          )
                                    )
                 )
     )
                                        /* Fonction introduite le 20120526222445.                                                    */
DEFV(Argument,DEFV(imageF,imageR));
                                        /* Image resultat a generer.                                                                 */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(R_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de generation de 'imageR' ; on n'obliera pas que cette translation est                    */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(Float,facteur_multiplicatif));
                                        /* Facteur multiplicatif 'K' (une valeur de l'ordre de 0.01 donne de bons resultats).        */
DEFV(Argument,DEFV(imageF,imageA));
                                        /* Image argument.                                                                           */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(A_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de l'image 'imageA' ; on n'oubliera pas que cette translation est                         */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     /*..............................................................................................................................*/
     Z_HYPERBOLIQUE_2_DANS_LE_PLAN_IMAGE(BLOC(storeF_point_loadF_point(imageA
                                                                      ,new_X
                                                                      ,new_Y
                                                                      ,imageR
                                                                      ,X
                                                                      ,Y
                                                                       );
                                              )
                                         );
     RETIF(imageR);
     Eblock

EFonctionF

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   2   G E N E R A L I S E E      */
/*        E N   C O O R D O N N E E S   D ' E C R A N   [Xmin,Xmax] x [Ymin,Ymax]  :                                                 */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

BFonctionJ

DEFV(Common,DEFV(Float,SINT(IJz_hyperbolique_2_dans_le_plan_image_____ARho_,FU)));
DEFV(Common,DEFV(Float,SINT(IJz_hyperbolique_2_dans_le_plan_image_____BRho_,FZERO)));
DEFV(Common,DEFV(Float,SINT(IJz_hyperbolique_2_dans_le_plan_image_____ATheta,CERCLE_TRIGONOMETRIQUE)));
DEFV(Common,DEFV(Float,SINT(IJz_hyperbolique_2_dans_le_plan_image_____BTheta,FZERO)));
                                        /* Arguments introduits le 20120601090927...                                                 */

DEFV(Common,DEFV(FonctionJ,POINTERJ(IJz_hyperbolique_2_dans_le_plan_image(imageR,ARGUMENT_POINTERs(R_translation)
                                                                         ,facteur_multiplicatif
                                                                         ,imageA,ARGUMENT_POINTERs(A_translation)
                                                                          )
                                    )
                 )
     )
                                        /* Fonction introduite le 20120526222445.                                                    */
DEFV(Argument,DEFV(imageJ,imageR));
                                        /* Image resultat a generer.                                                                 */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(R_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de generation de 'imageR' ; on n'obliera pas que cette translation est                    */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(Float,facteur_multiplicatif));
                                        /* Facteur multiplicatif 'K' (une valeur de l'ordre de 0.01 donne de bons resultats).        */
DEFV(Argument,DEFV(imageJ,imageA));
                                        /* Image argument.                                                                           */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(A_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de l'image 'imageA' ; on n'oubliera pas que cette translation est                         */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     /*..............................................................................................................................*/
     Z_HYPERBOLIQUE_2_DANS_LE_PLAN_IMAGE(BLOC(storeJ_point_loadJ_point(imageA
                                                                      ,new_X
                                                                      ,new_Y
                                                                      ,imageR
                                                                      ,X
                                                                      ,Y
                                                                       );
                                              )
                                         );
     RETIJ(imageR);
     Eblock

EFonctionJ

#undef    Z_HYPERBOLIQUE_2_DANS_LE_PLAN_IMAGE

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        D E F I N I 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   2   G E N E R A L I S E E        */
/*        E N   C O O R D O N N E E S   D U   P L A N   C O M P L E X E   [0,1] x [0,1]  :                                           */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#define   Z_HYPERBOLIQUE_2_DANS_LE_PLAN_COMPLEXE(action_de_rangement)                                                                   \
                    Bblock                                                                                                              \
                    TRANSFORMATION_CONFORME_DANS_LE_PLAN_COMPLEXE(BLOC(VIDE;)                                                           \
                                                                 ,TOUJOURS_VRAI                                                         \
                                                                 ,BLOC(Z_HYPERBOLIQUE_2_DANS_PLANS_IMAGE_OU_COMPLEXE;)                  \
                                                                 ,BLOC(action_de_rangement)                                             \
                                                                  );                                                                    \
                    Eblock                                                                                                              \
                                        /* Definition de la transformation en coordonnees d'ecran [Xmin,Xmax]x[Ymin,Ymax].           */

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   2   G E N E R A L I S E E      */
/*        E N   C O O R D O N N E E S   D U   P L A N   C O M P L E X E   [0,1] x [0,1]  :                                           */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

BFonctionP

DEFV(Common,DEFV(Float,SINT(Iz_hyperbolique_2_dans_le_plan_complexe_____ARho_,FU)));
DEFV(Common,DEFV(Float,SINT(Iz_hyperbolique_2_dans_le_plan_complexe_____BRho_,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iz_hyperbolique_2_dans_le_plan_complexe_____ATheta,CERCLE_TRIGONOMETRIQUE)));
DEFV(Common,DEFV(Float,SINT(Iz_hyperbolique_2_dans_le_plan_complexe_____BTheta,FZERO)));
                                        /* Arguments introduits le 20120601090927...                                                 */

DEFV(Common,DEFV(FonctionP,POINTERp(Iz_hyperbolique_2_dans_le_plan_complexe(imageR,ARGUMENT_POINTERs(R_translation)
                                                                           ,facteur_multiplicatif
                                                                           ,imageA,ARGUMENT_POINTERs(A_translation)
                                                                            )
                                    )
                 )
     )
                                        /* Fonction introduite le 20120526222445.                                                    */
DEFV(Argument,DEFV(image,imageR));
                                        /* Image resultat a generer.                                                                 */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(R_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de generation de 'imageR' ; on n'obliera pas que cette translation est                    */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(Float,facteur_multiplicatif));
                                        /* Facteur multiplicatif 'K'.                                                                */
DEFV(Argument,DEFV(image,imageA));
                                        /* Image argument.                                                                           */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(A_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de l'image 'imageA' ; on n'oubliera pas que cette translation est                         */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     /*..............................................................................................................................*/
     Z_HYPERBOLIQUE_2_DANS_LE_PLAN_COMPLEXE(BLOC(store_point_load_point(imageA
                                                                       ,fV_cDENORMALISE_OX(new_X)
                                                                       ,fV_cDENORMALISE_OY(new_Y)
                                                                       ,imageR
                                                                       ,X
                                                                       ,Y
                                                                        );
                                                 )
                                            );
     RETI(imageR);
     Eblock

EFonctionP

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   2   G E N E R A L I S E E      */
/*        E N   C O O R D O N N E E S   D U   P L A N   C O M P L E X E   [0,1] x [0,1]  :                                           */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

BFonctionF

DEFV(Common,DEFV(Float,SINT(IFz_hyperbolique_2_dans_le_plan_complexe_____ARho_,FU)));
DEFV(Common,DEFV(Float,SINT(IFz_hyperbolique_2_dans_le_plan_complexe_____BRho_,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFz_hyperbolique_2_dans_le_plan_complexe_____ATheta,CERCLE_TRIGONOMETRIQUE)));
DEFV(Common,DEFV(Float,SINT(IFz_hyperbolique_2_dans_le_plan_complexe_____BTheta,FZERO)));
                                        /* Arguments introduits le 20120601090927...                                                 */

DEFV(Common,DEFV(FonctionF,POINTERF(IFz_hyperbolique_2_dans_le_plan_complexe(imageR,ARGUMENT_POINTERs(R_translation)
                                                                            ,facteur_multiplicatif
                                                                            ,imageA,ARGUMENT_POINTERs(A_translation)
                                                                             )
                                    )
                 )
     )
                                        /* Fonction introduite le 20120526222445.                                                    */
DEFV(Argument,DEFV(imageF,imageR));
                                        /* Image resultat a generer.                                                                 */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(R_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de generation de 'imageR' ; on n'obliera pas que cette translation est                    */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(Float,facteur_multiplicatif));
                                        /* Facteur multiplicatif 'K'.                                                                */
DEFV(Argument,DEFV(imageF,imageA));
                                        /* Image argument.                                                                           */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(A_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de l'image 'imageA' ; on n'oubliera pas que cette translation est                         */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     /*..............................................................................................................................*/
     Z_HYPERBOLIQUE_2_DANS_LE_PLAN_COMPLEXE(BLOC(storeF_point_loadF_point(imageA
                                                                         ,fV_cDENORMALISE_OX(new_X)
                                                                         ,fV_cDENORMALISE_OY(new_Y)
                                                                         ,imageR
                                                                         ,X
                                                                         ,Y
                                                                          );
                                                 )
                                            );
     RETIF(imageR);
     Eblock

EFonctionF

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   2   G E N E R A L I S E E      */
/*        E N   C O O R D O N N E E S   D U   P L A N   C O M P L E X E   [0,1] x [0,1]  :                                           */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

BFonctionJ

DEFV(Common,DEFV(Float,SINT(IJz_hyperbolique_2_dans_le_plan_complexe_____ARho_,FU)));
DEFV(Common,DEFV(Float,SINT(IJz_hyperbolique_2_dans_le_plan_complexe_____BRho_,FZERO)));
DEFV(Common,DEFV(Float,SINT(IJz_hyperbolique_2_dans_le_plan_complexe_____ATheta,CERCLE_TRIGONOMETRIQUE)));
DEFV(Common,DEFV(Float,SINT(IJz_hyperbolique_2_dans_le_plan_complexe_____BTheta,FZERO)));
                                        /* Arguments introduits le 20120601090927...                                                 */

DEFV(Common,DEFV(FonctionJ,POINTERJ(IJz_hyperbolique_2_dans_le_plan_complexe(imageR,ARGUMENT_POINTERs(R_translation)
                                                                            ,facteur_multiplicatif
                                                                            ,imageA,ARGUMENT_POINTERs(A_translation)
                                                                             )
                                    )
                 )
     )
                                        /* Fonction introduite le 20120526222445.                                                    */
DEFV(Argument,DEFV(imageJ,imageR));
                                        /* Image resultat a generer.                                                                 */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(R_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de generation de 'imageR' ; on n'obliera pas que cette translation est                    */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(Float,facteur_multiplicatif));
                                        /* Facteur multiplicatif 'K'.                                                                */
DEFV(Argument,DEFV(imageJ,imageA));
                                        /* Image argument.                                                                           */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(A_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de l'image 'imageA' ; on n'oubliera pas que cette translation est                         */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     /*..............................................................................................................................*/
     Z_HYPERBOLIQUE_2_DANS_LE_PLAN_COMPLEXE(BLOC(storeJ_point_loadJ_point(imageA
                                                                         ,fV_cDENORMALISE_OX(new_X)
                                                                         ,fV_cDENORMALISE_OY(new_Y)
                                                                         ,imageR
                                                                         ,X
                                                                         ,Y
                                                                          );
                                                 )
                                            );
     RETIJ(imageR);
     Eblock

EFonctionJ

#undef    Z_HYPERBOLIQUE_2_DANS_LE_PLAN_COMPLEXE

#undef    Z_HYPERBOLIQUE_2_DANS_PLANS_IMAGE_OU_COMPLEXE

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        C O N T R O L E   D E S   T R A N S F O R M A T I O N S   " A U T O - S I M I L A I R E " S  :                             */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
DEFV(Common,DEFV(Int,ZINT(TRANSFORMATION__ZQO_AUTO_SIMILAIRE_____ne_calculer_que_le_logarithme,FAUX)));
                                        /* Introduit le 20200724163254 ades fins de test...                                          */

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   " A U T O - S I M I L A I R E "   C O M P L E X E  :     */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#define   Z_AUTO_SIMILAIRE_DANS_PLANS_IMAGE_OU_COMPLEXE                                                                                 \
                    Bblock                                                                                                              \
                    TRANSFORMATION__Z_AUTO_SIMILAIRE(point_manoeuvre,point_courant,nombre_pd,nombre_prd,INDIRECT);                      \
                                        /* Calcul de :                                                                               */ \
                                        /*                                                                                           */ \
                                        /*                            p1                                                             */ \
                                        /*                   prd.log(----)                                                           */ \
                                        /*                            pd                                                             */ \
                                        /*                  e                                                                        */ \
                                        /*                                                                                           */ \
                    Eblock                                                                                                              \
                                        /* Definition generale de la transformation auto_similaire dans les plans image ou           */ \
                                        /* complexe (introduite le 20070118100909).                                                  */

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        D E F I N I T I O N   D E   L A   T R A N S F O R M A T I O N   " A U T O - S I M I L A I R E "   C O M P L E X E          */
/*        E N   C O O R D O N N E E S   D ' E C R A N   [Xmin,Xmax] x [Ymin,Ymax]  :                                                 */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#define   Z_AUTO_SIMILAIRE_DANS_LE_PLAN_IMAGE(action_de_rangement)                                                                      \
                    Bblock                                                                                                              \
                    TRANSFORMATION_CONFORME_DANS_LE_PLAN_IMAGE(BLOC(VIDE;)                                                              \
                                                              ,TOUJOURS_VRAI                                                            \
                                                              ,BLOC(Z_AUTO_SIMILAIRE_DANS_PLANS_IMAGE_OU_COMPLEXE;)                     \
                                                              ,BLOC(action_de_rangement)                                                \
                                                              ,NEUT(facteur_multiplicatif)                                              \
                                                               );                                                                       \
                    Eblock                                                                                                              \
                                        /* Definition de la transformation conforme en coordonnees d'ecran [Xmin,Xmax]x[Ymin,Ymax].  */

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   " A U T O - S I M I L A I R E "   C O M P L E X E        */
/*        E N   C O O R D O N N E E S   D ' E C R A N   [Xmin,Xmax] x [Ymin,Ymax]  :                                                 */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

BFonctionP

DEFV(Common,DEFV(FonctionP,POINTERp(Iz_auto_similaire_dans_le_plan_image(imageR,ARGUMENT_POINTERs(R_translation)
                                                                        ,facteur_multiplicatif
                                                                        ,imageA,ARGUMENT_POINTERs(A_translation)
                                                                        ,ARGUMENT_POINTERs(nombre_pd)
                                                                        ,ARGUMENT_POINTERs(nombre_prd)
                                                                         )
                                    )
                 )
     )
                                        /* Fonction introduite le 20200705113415.                                                    */
DEFV(Argument,DEFV(image,imageR));
                                        /* Image resultat a generer.                                                                 */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(R_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de generation de 'imageR' ; on n'obliera pas que cette translation est                    */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(Float,facteur_multiplicatif));
                                        /* Facteur multiplicatif 'K' (une valeur de l'ordre de 0.01 donne de bons resultats).        */
DEFV(Argument,DEFV(image,imageA));
                                        /* Image argument.                                                                           */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(A_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de l'image 'imageA' ; on n'oubliera pas que cette translation est                         */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(complexe,POINTERs(nombre_pd)));
DEFV(Argument,DEFV(complexe,POINTERs(nombre_prd)));
                                        /* Definition deux deux parametres complexes de la transformation "auto-similaire" :         */
                                        /*                                                                                           */
                                        /*                            p1                                                             */
                                        /*                   prd.log(----)                                                           */
                                        /*                            pd                                                             */
                                        /*                  e                                                                        */
                                        /*                                                                                           */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     /*..............................................................................................................................*/
     Z_AUTO_SIMILAIRE_DANS_LE_PLAN_IMAGE(BLOC(store_point_load_point(imageA
                                                                    ,new_X
                                                                    ,new_Y
                                                                    ,imageR
                                                                    ,X
                                                                    ,Y
                                                                     );
                                              )
                                         );
     RETI(imageR);
     Eblock

EFonctionP

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   " A U T O - S I M I L A I R E "   C O M P L E X E        */
/*        E N   C O O R D O N N E E S   D ' E C R A N   [Xmin,Xmax] x [Ymin,Ymax]  :                                                 */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

BFonctionF

DEFV(Common,DEFV(FonctionF,POINTERF(IFz_auto_similaire_dans_le_plan_image(imageR,ARGUMENT_POINTERs(R_translation)
                                                                         ,facteur_multiplicatif
                                                                         ,imageA,ARGUMENT_POINTERs(A_translation)
                                                                         ,ARGUMENT_POINTERs(nombre_pd)
                                                                         ,ARGUMENT_POINTERs(nombre_prd)
                                                                          )
                                    )
                 )
     )
                                        /* Fonction introduite le 20200705113415.                                                    */
DEFV(Argument,DEFV(imageF,imageR));
                                        /* Image resultat a generer.                                                                 */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(R_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de generation de 'imageR' ; on n'obliera pas que cette translation est                    */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(Float,facteur_multiplicatif));
                                        /* Facteur multiplicatif 'K' (une valeur de l'ordre de 0.01 donne de bons resultats).        */
DEFV(Argument,DEFV(imageF,imageA));
                                        /* Image argument.                                                                           */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(A_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de l'image 'imageA' ; on n'oubliera pas que cette translation est                         */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(complexe,POINTERs(nombre_pd)));
DEFV(Argument,DEFV(complexe,POINTERs(nombre_prd)));
                                        /* Definition deux deux parametres complexes de la transformation "auto-similaire" :         */
                                        /*                                                                                           */
                                        /*                            p1                                                             */
                                        /*                   prd.log(----)                                                           */
                                        /*                            pd                                                             */
                                        /*                  e                                                                        */
                                        /*                                                                                           */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     /*..............................................................................................................................*/
     Z_AUTO_SIMILAIRE_DANS_LE_PLAN_IMAGE(BLOC(storeF_point_loadF_point(imageA
                                                                      ,new_X
                                                                      ,new_Y
                                                                      ,imageR
                                                                      ,X
                                                                      ,Y
                                                                       );
                                              )
                                         );
     RETIF(imageR);
     Eblock

EFonctionF

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   " A U T O - S I M I L A I R E "   C O M P L E X E        */
/*        E N   C O O R D O N N E E S   D ' E C R A N   [Xmin,Xmax] x [Ymin,Ymax]  :                                                 */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

BFonctionJ

DEFV(Common,DEFV(FonctionJ,POINTERJ(IJz_auto_similaire_dans_le_plan_image(imageR,ARGUMENT_POINTERs(R_translation)
                                                                         ,facteur_multiplicatif
                                                                         ,imageA,ARGUMENT_POINTERs(A_translation)
                                                                         ,ARGUMENT_POINTERs(nombre_pd)
                                                                         ,ARGUMENT_POINTERs(nombre_prd)
                                                                          )
                                    )
                 )
     )
                                        /* Fonction introduite le 20200705113415.                                                    */
DEFV(Argument,DEFV(imageJ,imageR));
                                        /* Image resultat a generer.                                                                 */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(R_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de generation de 'imageR' ; on n'obliera pas que cette translation est                    */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(Float,facteur_multiplicatif));
                                        /* Facteur multiplicatif 'K' (une valeur de l'ordre de 0.01 donne de bons resultats).        */
DEFV(Argument,DEFV(imageJ,imageA));
                                        /* Image argument.                                                                           */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(A_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de l'image 'imageA' ; on n'oubliera pas que cette translation est                         */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(complexe,POINTERs(nombre_pd)));
DEFV(Argument,DEFV(complexe,POINTERs(nombre_prd)));
                                        /* Definition deux deux parametres complexes de la transformation "auto-similaire" :         */
                                        /*                                                                                           */
                                        /*                            p1                                                             */
                                        /*                   prd.log(----)                                                           */
                                        /*                            pd                                                             */
                                        /*                  e                                                                        */
                                        /*                                                                                           */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     /*..............................................................................................................................*/
     Z_AUTO_SIMILAIRE_DANS_LE_PLAN_IMAGE(BLOC(storeJ_point_loadJ_point(imageA
                                                                      ,new_X
                                                                      ,new_Y
                                                                      ,imageR
                                                                      ,X
                                                                      ,Y
                                                                       );
                                              )
                                         );
     RETIJ(imageR);
     Eblock

EFonctionJ

#undef    Z_AUTO_SIMILAIRE_DANS_LE_PLAN_IMAGE

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        D E F I N I T I O N   D E   L A   T R A N S F O R M A T I O N   " A U T O - S I M I L A I R E "   C O M P L E X E          */
/*        E N   C O O R D O N N E E S   D U   P L A N   C O M P L E X E   [0,1] x [0,1]  :                                           */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#define   Z_AUTO_SIMILAIRE_DANS_LE_PLAN_COMPLEXE(action_de_rangement)                                                                   \
                    Bblock                                                                                                              \
                    TRANSFORMATION_CONFORME_DANS_LE_PLAN_COMPLEXE(BLOC(VIDE;)                                                           \
                                                                 ,TOUJOURS_VRAI                                                         \
                                                                 ,BLOC(Z_AUTO_SIMILAIRE_DANS_PLANS_IMAGE_OU_COMPLEXE;)                  \
                                                                 ,BLOC(action_de_rangement)                                             \
                                                                  );                                                                    \
                    Eblock                                                                                                              \
                                        /* Definition de la transformation conforme en coordonnees d'ecran [Xmin,Xmax]x[Ymin,Ymax].  */

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   " A U T O - S I M I L A I R E "   C O M P L E X E        */
/*        E N   C O O R D O N N E E S   D U   P L A N   C O M P L E X E   [0,1] x [0,1]  :                                           */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

BFonctionP

DEFV(Common,DEFV(FonctionP,POINTERp(Iz_auto_similaire_dans_le_plan_complexe(imageR,ARGUMENT_POINTERs(R_translation)
                                                                           ,facteur_multiplicatif
                                                                           ,imageA,ARGUMENT_POINTERs(A_translation)
                                                                           ,ARGUMENT_POINTERs(nombre_pd)
                                                                           ,ARGUMENT_POINTERs(nombre_prd)
                                                                            )
                                    )
                 )
     )
                                        /* Fonction introduite le 20200705113415.                                                    */
DEFV(Argument,DEFV(image,imageR));
                                        /* Image resultat a generer.                                                                 */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(R_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de generation de 'imageR' ; on n'obliera pas que cette translation est                    */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(Float,facteur_multiplicatif));
                                        /* Facteur multiplicatif 'K' (une valeur de l'ordre de 5.0 donne de bons resultats) ; voir   */
                                        /* a ce propos les commentaires de 'v $xci/z_homogra.01$K'...                                */
DEFV(Argument,DEFV(image,imageA));
                                        /* Image argument.                                                                           */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(A_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de l'image 'imageA' ; on n'oubliera pas que cette translation est                         */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(complexe,POINTERs(nombre_pd)));
DEFV(Argument,DEFV(complexe,POINTERs(nombre_prd)));
                                        /* Definition deux deux parametres complexes de la transformation "auto-similaire" :         */
                                        /*                                                                                           */
                                        /*                            p1                                                             */
                                        /*                   prd.log(----)                                                           */
                                        /*                            pd                                                             */
                                        /*                  e                                                                        */
                                        /*                                                                                           */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     /*..............................................................................................................................*/
     Z_AUTO_SIMILAIRE_DANS_LE_PLAN_COMPLEXE(BLOC(store_point_load_point(imageA
                                                                       ,fV_cDENORMALISE_OX(new_X)
                                                                       ,fV_cDENORMALISE_OY(new_Y)
                                                                       ,imageR
                                                                       ,X
                                                                       ,Y
                                                                        );
                                                 )
                                            );
     RETI(imageR);
     Eblock

EFonctionP

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   " A U T O - S I M I L A I R E "   C O M P L E X E        */
/*        E N   C O O R D O N N E E S   D U   P L A N   C O M P L E X E   [0,1] x [0,1]  :                                           */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

BFonctionF

DEFV(Common,DEFV(FonctionF,POINTERF(IFz_auto_similaire_dans_le_plan_complexe(imageR,ARGUMENT_POINTERs(R_translation)
                                                                            ,facteur_multiplicatif
                                                                            ,imageA,ARGUMENT_POINTERs(A_translation)
                                                                            ,ARGUMENT_POINTERs(nombre_pd)
                                                                            ,ARGUMENT_POINTERs(nombre_prd)
                                                                             )
                                    )
                 )
     )
                                        /* Fonction introduite le 20200705113415.                                                    */
DEFV(Argument,DEFV(imageF,imageR));
                                        /* Image resultat a generer.                                                                 */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(R_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de generation de 'imageR' ; on n'obliera pas que cette translation est                    */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(Float,facteur_multiplicatif));
                                        /* Facteur multiplicatif 'K' (une valeur de l'ordre de 5.0 donne de bons resultats) ; voir   */
                                        /* a ce propos les commentaires de 'v $xci/z_homogra.01$K'...                                */
DEFV(Argument,DEFV(imageF,imageA));
                                        /* Image argument.                                                                           */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(A_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de l'image 'imageA' ; on n'oubliera pas que cette translation est                         */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(complexe,POINTERs(nombre_pd)));
DEFV(Argument,DEFV(complexe,POINTERs(nombre_prd)));
                                        /* Definition deux deux parametres complexes de la transformation "auto-similaire" :         */
                                        /*                                                                                           */
                                        /*                            p1                                                             */
                                        /*                   prd.log(----)                                                           */
                                        /*                            pd                                                             */
                                        /*                  e                                                                        */
                                        /*                                                                                           */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     /*..............................................................................................................................*/
     Z_AUTO_SIMILAIRE_DANS_LE_PLAN_COMPLEXE(BLOC(storeF_point_loadF_point(imageA
                                                                         ,fV_cDENORMALISE_OX(new_X)
                                                                         ,fV_cDENORMALISE_OY(new_Y)
                                                                         ,imageR
                                                                         ,X
                                                                         ,Y
                                                                          );
                                                 )
                                            );
     RETIF(imageR);
     Eblock

EFonctionF

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   " A U T O - S I M I L A I R E "   C O M P L E X E        */
/*        E N   C O O R D O N N E E S   D U   P L A N   C O M P L E X E   [0,1] x [0,1]  :                                           */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

BFonctionJ

DEFV(Common,DEFV(FonctionJ,POINTERJ(IJz_auto_similaire_dans_le_plan_complexe(imageR,ARGUMENT_POINTERs(R_translation)
                                                                            ,facteur_multiplicatif
                                                                            ,imageA,ARGUMENT_POINTERs(A_translation)
                                                                            ,ARGUMENT_POINTERs(nombre_pd)
                                                                            ,ARGUMENT_POINTERs(nombre_prd)
                                                                             )
                                    )
                 )
     )
                                        /* Fonction introduite le 20200705113415.                                                    */
DEFV(Argument,DEFV(imageJ,imageR));
                                        /* Image resultat a generer.                                                                 */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(R_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de generation de 'imageR' ; on n'obliera pas que cette translation est                    */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(Float,facteur_multiplicatif));
                                        /* Facteur multiplicatif 'K' (une valeur de l'ordre de 5.0 donne de bons resultats) ; voir   */
                                        /* a ce propos les commentaires de 'v $xci/z_homogra.01$K'...                                */
DEFV(Argument,DEFV(imageJ,imageA));
                                        /* Image argument.                                                                           */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(A_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de l'image 'imageA' ; on n'oubliera pas que cette translation est                         */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(complexe,POINTERs(nombre_pd)));
DEFV(Argument,DEFV(complexe,POINTERs(nombre_prd)));
                                        /* Definition deux deux parametres complexes de la transformation "auto-similaire" :         */
                                        /*                                                                                           */
                                        /*                            p1                                                             */
                                        /*                   prd.log(----)                                                           */
                                        /*                            pd                                                             */
                                        /*                  e                                                                        */
                                        /*                                                                                           */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     /*..............................................................................................................................*/
     Z_AUTO_SIMILAIRE_DANS_LE_PLAN_COMPLEXE(BLOC(storeJ_point_loadJ_point(imageA
                                                                         ,fV_cDENORMALISE_OX(new_X)
                                                                         ,fV_cDENORMALISE_OY(new_Y)
                                                                         ,imageR
                                                                         ,X
                                                                         ,Y
                                                                          );
                                                 )
                                            );
     RETIJ(imageR);
     Eblock

EFonctionJ

#undef    Z_AUTO_SIMILAIRE_DANS_LE_PLAN_COMPLEXE

#undef    Z_AUTO_SIMILAIRE_DANS_PLANS_IMAGE_OU_COMPLEXE

#undef    TRANSFORMATION_CONFORME_DANS_LE_PLAN_COMPLEXE
#undef    TRANSFORMATION_CONFORME_DANS_LE_PLAN_IMAGE

#undef    EDITION_DES_COORDONNEES_D_UNE_TRANSFORMATION_CONFORME

#undef    A_translation__dX_____
#undef    A_translation__dY_____
#undef    R_translation__dX_____
#undef    R_translation__dY_____

_______________________________________________________________________________________________________________________________________
_______________________________________________________________________________________________________________________________________
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        C O N T R O L E   D E   L ' A R I T H M E T I Q U E   E T E N D U E                                                        */
/*        L O R S   D E   C A L C U L S   S U R   L E S   N O M B R E S   H Y P E R - C O M P L E X E S  :                           */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

#ifdef    FAIRE_EVENTUELLEMENT_DE_L_ARITHMETIQUE_ETENDUE_DANS_LES_NOMBRES_HYPER_COMPLEXES
DEFV(Common,DEFV(Logical,_______VERSION__ximcf_conformes_____ARITHMETIQUE_ETENDUE_DANS_LES_NOMBRES_HYPER_COMPLEXES));
                                        /* Indicateur introduit le 20070129121935...                                                 */
#Aifdef   FAIRE_EVENTUELLEMENT_DE_L_ARITHMETIQUE_ETENDUE_DANS_LES_NOMBRES_HYPER_COMPLEXES
DEFV(Common,DEFV(Logical,_______VERSION__ximcf_conformes_____ARITHMETIQUE_DE_BASE_DANS_LES_NOMBRES_HYPER_COMPLEXES));
                                        /* Indicateur introduit le 20070129132455...                                                 */
#Eifdef   FAIRE_EVENTUELLEMENT_DE_L_ARITHMETIQUE_ETENDUE_DANS_LES_NOMBRES_HYPER_COMPLEXES

_______________________________________________________________________________________________________________________________________
_______________________________________________________________________________________________________________________________________
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        D E F I N I T I O N   G E N E R A L E   D E S   T R A N S F O R M A T I O N S   C O N F O R M E S                          */
/*        D A N S   L E S   P L A N S   H Y P E R - I M A G E   E T   H Y P E R - C O M P L E X E   R E S P E C T I V E M E N T  :   */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
DEFV(Common,DEFV(Int,ZINT(TRANSFORMATION_CONFORME_DANS_LE_PLAN_HYPER_IMAGE_____Xmin_reference,k___Xmin)));
DEFV(Common,DEFV(Int,ZINT(TRANSFORMATION_CONFORME_DANS_LE_PLAN_HYPER_IMAGE_____Xmax_reference,k___Xmax)));
DEFV(Common,DEFV(Int,ZINT(TRANSFORMATION_CONFORME_DANS_LE_PLAN_HYPER_IMAGE_____Ymin_reference,k___Ymin)));
DEFV(Common,DEFV(Int,ZINT(TRANSFORMATION_CONFORME_DANS_LE_PLAN_HYPER_IMAGE_____Ymax_reference,k___Ymax)));
                                        /* Definition d'un format d'image dit "reference" utilise pour calculer un facteur           */
                                        /* homothetique multiplicatif (introduit le 20100408174856).                                 */
                                        /*                                                                                           */
                                        /* ATTENTION : je note le 20111016114151 que le format de reference est le format 'Std'      */
                                        /* et non pas le format 'Pal'...                                                             */
                                        /*                                                                                           */
                                        /* ATTENTION : je note le 20170322102617 l'existence de six nouvelles variables dans         */
                                        /* 'v $xiii/Images$STR _reference.k___'. Mais celles-ci ne peuvent remplacer les quatre      */
                                        /* qui sont definies ci-dessus et ce pour de possibles problemes de compatibilite (au cas    */
                                        /* ou, par exemple, les variables 'v $xiii/Images$STR _reference.k___' passaient du format   */
                                        /* 'Std' au format 'Pal'...).                                                                */
DEFV(Common,DEFV(Logical,ZINT(TRANSFORMATION_CONFORME_DANS_LE_PLAN_HYPER_IMAGE_____facteur_multiplicatif_homothetique,FAUX)));
                                        /* Introduit le 20111016114151, la valeur par defaut garantissant la compatibilite           */
                                        /* anterieure...                                                                             */

DEFV(Common,DEFV(Float,ZINT(TRANSFORMATION_CONFORME_DANS_LE_PLAN_HYPER_COMPLEXE_____A_facteur_homothetie_X,FU)));
DEFV(Common,DEFV(Float,ZINT(TRANSFORMATION_CONFORME_DANS_LE_PLAN_HYPER_COMPLEXE_____A_facteur_homothetie_Y,FU)));
                                        /* Parametres destines a 'TRANSFORMATION_CONFORME_DANS_LE_PLAN_HYPER_COMPLEXE(...)'          */
                                        /* permettant de faire une homothetie sur le domaine de calcul (via 'point_courant') et      */
                                        /* introduits le 20120527183514...                                                           */

DEFV(Common,DEFV(Float,ZINT(TRANSFORMATION_CONFORME_DANS_LES_PLANS_HYPER_____R_facteur_homothetie_X,FU)));
DEFV(Common,DEFV(Float,ZINT(TRANSFORMATION_CONFORME_DANS_LES_PLANS_HYPER_____R_facteur_homothetie_Y,FU)));
                                        /* Parametres destines a faire une homothetie (via 'point_manoeuvre') introduits le          */
                                        /* 20120527184309...                                                                         */
#define   A_translation__dX_____                                                                                                        \
                    AXPB(TRANSFORMATION_CONFORME_DANS_LES_PLANS_HYPER_____A_translation_AX                                              \
                        ,ASI1(A_translation,dx)                                                                                         \
                        ,TRANSFORMATION_CONFORME_DANS_LES_PLANS_HYPER_____A_translation_BX                                              \
                         )
#define   A_translation__dY_____                                                                                                        \
                    AXPB(TRANSFORMATION_CONFORME_DANS_LES_PLANS_HYPER_____A_translation_AY                                              \
                        ,ASI1(A_translation,dy)                                                                                         \
                        ,TRANSFORMATION_CONFORME_DANS_LES_PLANS_HYPER_____A_translation_BY                                              \
                         )

DEFV(Common,DEFV(Float,ZINT(TRANSFORMATION_CONFORME_DANS_LES_PLANS_HYPER_____A_translation_AX,FU)));
DEFV(Common,DEFV(Float,ZINT(TRANSFORMATION_CONFORME_DANS_LES_PLANS_HYPER_____A_translation_BX,FZERO)));
DEFV(Common,DEFV(Float,ZINT(TRANSFORMATION_CONFORME_DANS_LES_PLANS_HYPER_____A_translation_AY,FU)));
DEFV(Common,DEFV(Float,ZINT(TRANSFORMATION_CONFORME_DANS_LES_PLANS_HYPER_____A_translation_BY,FZERO)));

#define   R_translation__dX_____                                                                                                        \
                    AXPB(TRANSFORMATION_CONFORME_DANS_LES_PLANS_HYPER_____R_translation_AX                                              \
                        ,ASI1(R_translation,dx)                                                                                         \
                        ,TRANSFORMATION_CONFORME_DANS_LES_PLANS_HYPER_____R_translation_BX                                              \
                         )
#define   R_translation__dY_____                                                                                                        \
                    AXPB(TRANSFORMATION_CONFORME_DANS_LES_PLANS_HYPER_____R_translation_AY                                              \
                        ,ASI1(R_translation,dy)                                                                                         \
                        ,TRANSFORMATION_CONFORME_DANS_LES_PLANS_HYPER_____R_translation_BY                                              \
                         )

DEFV(Common,DEFV(Float,ZINT(TRANSFORMATION_CONFORME_DANS_LES_PLANS_HYPER_____R_translation_AX,FU)));
DEFV(Common,DEFV(Float,ZINT(TRANSFORMATION_CONFORME_DANS_LES_PLANS_HYPER_____R_translation_BX,FZERO)));
DEFV(Common,DEFV(Float,ZINT(TRANSFORMATION_CONFORME_DANS_LES_PLANS_HYPER_____R_translation_AY,FU)));
DEFV(Common,DEFV(Float,ZINT(TRANSFORMATION_CONFORME_DANS_LES_PLANS_HYPER_____R_translation_BY,FZERO)));
                                        /* Definition des facteurs de corrections des translations 'A' et 'R' (ceci fut introduit    */
                                        /* le 20111228152543...                                                                      */

#define   NomFonctionCourant                                                                                                            \
                    NomDeLaFonctionCourante                                                                                             \
                                        /* Introduit le 20070117180640 pour raccourcir les lignes 'LIN4(...)' suivantes...           */

#define   TRANSFORMATION_CONFORME_DANS_LE_PLAN_HYPER_IMAGE(variables_specifiques,condition,transformation,action_de_rangement,fme)      \
                                        /* Procedure generale introduite le 20070116112558...                                        */ \
                                        /*                                                                                           */ \
                                        /* L'argument 'fme' ("Facteur_Multiplicatif_Effectif") a ete introduit le 20111016114151...  */ \
                    Bblock                                                                                                              \
                    DEFV(Float,INIT(facteur_multiplicatif_effectif,facteur_multiplicatif));                                             \
                                        /* Facteur multiplicatif effectif introduit le 20111016114151 afin de rendre ce facteur      */ \
                                        /* "homothetique" ce qui permettra alors d'obtenir le meme resultat quel que soit la         */ \
                                        /* resolution de l'image (par exemple 'Puq' et 'Pqu'...). Ceci n'a evidemment de sens        */ \
                                        /* que pour 'TRANSFORMATION_CONFORME_DANS_LE_PLAN_HYPER_IMAGE(...)' et n'en a pas pour       */ \
                                        /* 'TRANSFORMATION_CONFORME_DANS_LE_PLAN_COMPLEXE(...)' puisque les coordonnees {X,Y}        */ \
                                        /* sont alors normalisees dans [0,1], cette normalisation etant evidemment independante      */ \
                                        /* de resolution de l'image...                                                               */ \
                                                                                                                                        \
                    Test(IL_FAUT(TRANSFORMATION_CONFORME_DANS_LE_PLAN_HYPER_IMAGE_____facteur_multiplicatif_homothetique))              \
                                        /* Test introduit le 20111016114151...                                                       */ \
                         Bblock                                                                                                         \
                         DEFV(Float,INIT(facteur_correctif                                                                              \
                                        ,DIVI(RACX(FLOT(MUL2(DIMENSION                                                                  \
                                                                 (TRANSFORMATION_CONFORME_DANS_LE_PLAN_HYPER_IMAGE_____Xmin_reference   \
                                                                 ,TRANSFORMATION_CONFORME_DANS_LE_PLAN_HYPER_IMAGE_____Xmax_reference   \
                                                                  )                                                                     \
                                                            ,DIMENSION                                                                  \
                                                                 (TRANSFORMATION_CONFORME_DANS_LE_PLAN_HYPER_IMAGE_____Ymin_reference   \
                                                                 ,TRANSFORMATION_CONFORME_DANS_LE_PLAN_HYPER_IMAGE_____Ymax_reference   \
                                                                  )                                                                     \
                                                             )                                                                          \
                                                        )                                                                               \
                                                   )                                                                                    \
                                             ,RACX(FLOT(dimXY))                                                                         \
                                              )                                                                                         \
                                         )                                                                                              \
                              );                                                                                                        \
                         EGAL(facteur_multiplicatif_effectif,fme);                                                                      \
                                        /* Ainsi, le facteur mutiplicatif est rendu independant de la resolution de l'image par      */ \
                                        /* rapport a la resolution dite "reference"...                                               */ \
                         Eblock                                                                                                         \
                    ATes                                                                                                                \
                         Bblock                                                                                                         \
                         Eblock                                                                                                         \
                    ETes                                                                                                                \
                                                                                                                                        \
                    begin_image                                                                                                         \
                         Bblock                                                                                                         \
                         DEFV(Float,INIT(composante_R,FLOT__UNDEF));                                                                    \
                         DEFV(Float,INIT(composante_I,FLOT__UNDEF));                                                                    \
                                        /* Coordonnees translatees...                                                                */ \
                         DEFV(hyper_complexe,point_courant);                                                                            \
                                        /* Point hyper-complexe courant.                                                             */ \
                         DEFV(hyper_complexe,point_manoeuvre);                                                                          \
                                        /* Point hyper-complexe resultat de la transformation.                                       */ \
                         BLOC(variables_specifiques);                                                                                   \
                                        /* Variables specifiques eventuellement (introduites le 20070116095630)...                   */ \
                                                                                                                                        \
                         EGAL(composante_R                                                                                              \
                             ,ADD2(FLOT(X)                                                                                              \
                                  ,F__lDENORMALISE_OX(A_translation__dX_____)                                                           \
                                   )                                                                                                    \
                              );                                                                                                        \
                         EGAL(composante_I                                                                                              \
                             ,ADD2(FLOT(Y)                                                                                              \
                                  ,F__lDENORMALISE_OY(A_translation__dY_____)                                                           \
                                   )                                                                                                    \
                              );                                                                                                        \
                                                                                                                                        \
                         HCinitialisation(point_courant                                                                                 \
                                         ,LIZ4(NomFonctionCourant QD@@__ _____matrice1_RR,composante_R                                  \
                                              ,NomFonctionCourant QD@@__ _____matrice1_RI,composante_I                                  \
                                              ,NomFonctionCourant QD@@__ _____matrice1_RJ,NomFonctionCourant QD@@__ _____composante_J   \
                                              ,NomFonctionCourant QD@@__ _____matrice1_RK,NomFonctionCourant QD@@__ _____composante_K   \
                                               )                                                                                        \
                                         ,LIZ4(NomFonctionCourant QD@@__ _____matrice1_IR,composante_R                                  \
                                              ,NomFonctionCourant QD@@__ _____matrice1_II,composante_I                                  \
                                              ,NomFonctionCourant QD@@__ _____matrice1_IJ,NomFonctionCourant QD@@__ _____composante_J   \
                                              ,NomFonctionCourant QD@@__ _____matrice1_IK,NomFonctionCourant QD@@__ _____composante_K   \
                                               )                                                                                        \
                                         ,LIZ4(NomFonctionCourant QD@@__ _____matrice1_JR,composante_R                                  \
                                              ,NomFonctionCourant QD@@__ _____matrice1_JI,composante_I                                  \
                                              ,NomFonctionCourant QD@@__ _____matrice1_JJ,NomFonctionCourant QD@@__ _____composante_J   \
                                              ,NomFonctionCourant QD@@__ _____matrice1_JK,NomFonctionCourant QD@@__ _____composante_K   \
                                               )                                                                                        \
                                         ,LIZ4(NomFonctionCourant QD@@__ _____matrice1_KR,composante_R                                  \
                                              ,NomFonctionCourant QD@@__ _____matrice1_KI,composante_I                                  \
                                              ,NomFonctionCourant QD@@__ _____matrice1_KJ,NomFonctionCourant QD@@__ _____composante_J   \
                                              ,NomFonctionCourant QD@@__ _____matrice1_KK,NomFonctionCourant QD@@__ _____composante_K   \
                                               )                                                                                        \
                                          );                                                                                            \
                                        /* Le "point_courant" est associe au point courant {X,Y} sur le maillage de l'image          */ \
                                        /* de facon que :                                                                            */ \
                                        /*                                                                                           */ \
                                        /*                  point_courant = {X,Y,0,0}                                                */ \
                                        /*                                                                                           */ \
                                        /* par defaut (voir la valeur des ponderations des 'LIN4(...)'). Les composantes             */ \
                                        /* {_____composante_J,_____composante_K} sont arbitraires et nulles par defaut...            */ \
                                                                                                                                        \
                         Test(condition)                                                                                                \
                              Bblock                                                                                                    \
                              DEFV(Int,INIT(new_X,UNDEF));                                                                              \
                                        /* Nouvelle coordonnee horizontale apres transformation,                                     */ \
                              DEFV(Int,INIT(new_Y,UNDEF));                                                                              \
                                        /* Nouvelle coordonnee verticale apres transformation,                                       */ \
                                                                                                                                        \
                              BLOC(transformation);                                                                                     \
                                        /* Transformation du nombre hyper-complexe courant.                                          */ \
                                                                                                                                        \
                              EGAL(new_X                                                                                                \
                                  ,ADD2(VINTE(MUL3(TRANSFORMATION_CONFORME_DANS_LES_PLANS_HYPER_____R_facteur_homothetie_X              \
                                                  ,facteur_multiplicatif_effectif                                                       \
                                                  ,LIZ4(NomFonctionCourant QD@@__ _____matrice2_RR,HReelle(point_manoeuvre)             \
                                                       ,NomFonctionCourant QD@@__ _____matrice2_RI,HImaginaire(point_manoeuvre)         \
                                                       ,NomFonctionCourant QD@@__ _____matrice2_RJ,HJmaginaire(point_manoeuvre)         \
                                                       ,NomFonctionCourant QD@@__ _____matrice2_RK,HKmaginaire(point_manoeuvre)         \
                                                        )                                                                               \
                                                   )                                                                                    \
                                              )                                                                                         \
                                       ,_lDENORMALISE_OX(R_translation__dX_____)                                                        \
                                        )                                                                                               \
                                   );                                                                                                   \
                              EGAL(new_Y                                                                                                \
                                  ,ADD2(VINTE(MUL3(TRANSFORMATION_CONFORME_DANS_LES_PLANS_HYPER_____R_facteur_homothetie_Y              \
                                                  ,facteur_multiplicatif_effectif                                                       \
                                                  ,LIZ4(NomFonctionCourant QD@@__ _____matrice2_IR,HReelle(point_manoeuvre)             \
                                                       ,NomFonctionCourant QD@@__ _____matrice2_II,HImaginaire(point_manoeuvre)         \
                                                       ,NomFonctionCourant QD@@__ _____matrice2_IJ,HJmaginaire(point_manoeuvre)         \
                                                       ,NomFonctionCourant QD@@__ _____matrice2_IK,HKmaginaire(point_manoeuvre)         \
                                                        )                                                                               \
                                                   )                                                                                    \
                                              )                                                                                         \
                                       ,_lDENORMALISE_OY(R_translation__dY_____)                                                        \
                                        )                                                                                               \
                                   );                                                                                                   \
                                        /* Calcul des coordonnees transformees dans le plan image en recuperant, par defaut (voir    */ \
                                        /* la valeur des ponderations des 'LIN4(...)'), les composantes {R,I} du quaternion          */ \
                                        /* 'point_manoeuvre'...                                                                      */ \
                                                                                                                                        \
                              BLOC(action_de_rangement);                                                                                \
                                        /* Et enfin, deplacement du point courant...                                                 */ \
                              Eblock                                                                                                    \
                         ATes                                                                                                           \
                              Bblock                                                                                                    \
                              Eblock                                                                                                    \
                         ETes                                                                                                           \
                         Eblock                                                                                                         \
                    end_image                                                                                                           \
                    Eblock                                                                                                              \
                                        /* Definition de la transformation conforme en coordonnees d'ecran [Xmin,Xmax]x[Ymin,Ymax].  */

#define   TRANSFORMATION_CONFORME_DANS_LE_PLAN_HYPER_COMPLEXE(variables_specifiques,condition,transformation,action_de_rangement)       \
                                        /* Procedure generale introduite le 20070116112558...                                        */ \
                    Bblock                                                                                                              \
                    begin_image                                                                                                         \
                         Bblock                                                                                                         \
                         DEFV(Float,INIT(new_X,FLOT__UNDEF));                                                                           \
                                        /* Nouvelle coordonnee horizontale apres transformation,                                     */ \
                         DEFV(Float,INIT(new_Y,FLOT__UNDEF));                                                                           \
                                        /* Nouvelle coordonnee verticale apres transformation,                                       */ \
                         DEFV(Float,INIT(composante_R,FLOT__UNDEF));                                                                    \
                         DEFV(Float,INIT(composante_I,FLOT__UNDEF));                                                                    \
                                        /* Coordonnees translatees...                                                                */ \
                         DEFV(hyper_complexe,point_courant);                                                                            \
                                        /* Point hyper-complexe courant.                                                             */ \
                         DEFV(hyper_complexe,point_manoeuvre);                                                                          \
                                        /* Point hyper-complexe resultat de la transformation.                                       */ \
                         BLOC(variables_specifiques);                                                                                   \
                                        /* Variables specifiques eventuellement (introduites le 20070116095630)...                   */ \
                                                                                                                                        \
                         EGAL(composante_R                                                                                              \
                             ,AXPB(TRANSFORMATION_CONFORME_DANS_LE_PLAN_HYPER_COMPLEXE_____A_facteur_homothetie_X                       \
                                  ,SUPER_cNORMALISE_OX(X)                                                                               \
                                  ,A_translation__dX_____                                                                               \
                                   )                                                                                                    \
                              );                                                                                                        \
                         EGAL(composante_I                                                                                              \
                             ,AXPB(TRANSFORMATION_CONFORME_DANS_LE_PLAN_HYPER_COMPLEXE_____A_facteur_homothetie_Y                       \
                                  ,SUPER_cNORMALISE_OY(Y)                                                                               \
                                  ,A_translation__dY_____                                                                               \
                                   )                                                                                                    \
                              );                                                                                                        \
                                                                                                                                        \
                         HCinitialisation(point_courant                                                                                 \
                                         ,LIZ4(NomFonctionCourant QD@@__ _____matrice1_RR,composante_R                                  \
                                              ,NomFonctionCourant QD@@__ _____matrice1_RI,composante_I                                  \
                                              ,NomFonctionCourant QD@@__ _____matrice1_RJ,NomFonctionCourant QD@@__ _____composante_J   \
                                              ,NomFonctionCourant QD@@__ _____matrice1_RK,NomFonctionCourant QD@@__ _____composante_K   \
                                               )                                                                                        \
                                         ,LIZ4(NomFonctionCourant QD@@__ _____matrice1_IR,composante_R                                  \
                                              ,NomFonctionCourant QD@@__ _____matrice1_II,composante_I                                  \
                                              ,NomFonctionCourant QD@@__ _____matrice1_IJ,NomFonctionCourant QD@@__ _____composante_J   \
                                              ,NomFonctionCourant QD@@__ _____matrice1_IK,NomFonctionCourant QD@@__ _____composante_K   \
                                               )                                                                                        \
                                         ,LIZ4(NomFonctionCourant QD@@__ _____matrice1_JR,composante_R                                  \
                                              ,NomFonctionCourant QD@@__ _____matrice1_JI,composante_I                                  \
                                              ,NomFonctionCourant QD@@__ _____matrice1_JJ,NomFonctionCourant QD@@__ _____composante_J   \
                                              ,NomFonctionCourant QD@@__ _____matrice1_JK,NomFonctionCourant QD@@__ _____composante_K   \
                                               )                                                                                        \
                                         ,LIZ4(NomFonctionCourant QD@@__ _____matrice1_KR,composante_R                                  \
                                              ,NomFonctionCourant QD@@__ _____matrice1_KI,composante_I                                  \
                                              ,NomFonctionCourant QD@@__ _____matrice1_KJ,NomFonctionCourant QD@@__ _____composante_J   \
                                              ,NomFonctionCourant QD@@__ _____matrice1_KK,NomFonctionCourant QD@@__ _____composante_K   \
                                               )                                                                                        \
                                          );                                                                                            \
                                        /* Le "point_courant" est associe au point courant {X,Y} sur le maillage de l'image          */ \
                                        /* de facon que :                                                                            */ \
                                        /*                                                                                           */ \
                                        /*                  point_courant = {X,Y,0,0}                                                */ \
                                        /*                                                                                           */ \
                                        /* par defaut (voir la valeur des ponderations des 'LIN4(...)'). Les composantes             */ \
                                        /* {_____composante_J,_____composante_K} sont arbitraires et nulles par defaut...            */ \
                                                                                                                                        \
                         Test(condition)                                                                                                \
                              Bblock                                                                                                    \
                              BLOC(transformation);                                                                                     \
                                        /* Transformation du nombre hyper-complexe courant.                                          */ \
                                                                                                                                        \
                              EGAL(new_X                                                                                                \
                                  ,ADD2(MUL3(TRANSFORMATION_CONFORME_DANS_LES_PLANS_HYPER_____R_facteur_homothetie_X                    \
                                            ,facteur_multiplicatif                                                                      \
                                            ,LIZ4(NomFonctionCourant QD@@__ _____matrice2_RR,HReelle(point_manoeuvre)                   \
                                                 ,NomFonctionCourant QD@@__ _____matrice2_RI,HImaginaire(point_manoeuvre)               \
                                                 ,NomFonctionCourant QD@@__ _____matrice2_RJ,HJmaginaire(point_manoeuvre)               \
                                                 ,NomFonctionCourant QD@@__ _____matrice2_RK,HKmaginaire(point_manoeuvre)               \
                                                  )                                                                                     \
                                             )                                                                                          \
                                       ,R_translation__dX_____                                                                          \
                                        )                                                                                               \
                                   );                                                                                                   \
                              EGAL(new_Y                                                                                                \
                                  ,ADD2(MUL3(TRANSFORMATION_CONFORME_DANS_LES_PLANS_HYPER_____R_facteur_homothetie_Y                    \
                                            ,facteur_multiplicatif                                                                      \
                                            ,LIZ4(NomFonctionCourant QD@@__ _____matrice2_IR,HReelle(point_manoeuvre)                   \
                                                 ,NomFonctionCourant QD@@__ _____matrice2_II,HImaginaire(point_manoeuvre)               \
                                                 ,NomFonctionCourant QD@@__ _____matrice2_IJ,HJmaginaire(point_manoeuvre)               \
                                                 ,NomFonctionCourant QD@@__ _____matrice2_IK,HKmaginaire(point_manoeuvre)               \
                                                  )                                                                                     \
                                             )                                                                                          \
                                       ,R_translation__dY_____                                                                          \
                                        )                                                                                               \
                                   );                                                                                                   \
                                        /* Calcul des coordonnees transformees dans le plan image en recuperant, par defaut (voir    */ \
                                        /* la valeur des ponderations des 'LIN4(...)'), les composantes {R,I} du quaternion          */ \
                                        /* 'point_manoeuvre'...                                                                      */ \
                                                                                                                                        \
                              BLOC(action_de_rangement);                                                                                \
                                        /* Et enfin, deplacement du point courant...                                                 */ \
                              Eblock                                                                                                    \
                         ATes                                                                                                           \
                              Bblock                                                                                                    \
                              Eblock                                                                                                    \
                         ETes                                                                                                           \
                         Eblock                                                                                                         \
                    end_image                                                                                                           \
                    Eblock                                                                                                              \
                                        /* Definition de la transformation conforme en coordonnees d'ecran [Xmin,Xmax]x[Ymin,Ymax].  */

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   C O N F O R M E   K * ( Q * * 2 )  :                     */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#define   Q_AU_CARRE_DANS_PLANS_HYPER_IMAGE_OU_HYPER_COMPLEXE                                                                           \
                    Bblock                                                                                                              \
                    TRANSFORMATION__Q_AU_CARRE(point_manoeuvre,point_courant);                                                          \
                    Eblock                                                                                                              \
                                        /* Definition generale de la transformation 'q' au carre dans les plans hyper-image ou       */ \
                                        /* hyper-complexe (introduite le 20070118102622).                                            */

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        D E F I N I T I O N   D E   L A   T R A N S F O R M A T I O N   C O N F O R M E   K * ( Q * * 2 )                          */
/*        E N   C O O R D O N N E E S   D ' E C R A N   [Xmin,Xmax] x [Ymin,Ymax]  :                                                 */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#define   Q_AU_CARRE_DANS_LE_PLAN_HYPER_IMAGE(action_de_rangement)                                                                      \
                    Bblock                                                                                                              \
                    TRANSFORMATION_CONFORME_DANS_LE_PLAN_HYPER_IMAGE(BLOC(VIDE;)                                                        \
                                                                    ,TOUJOURS_VRAI                                                      \
                                                                    ,BLOC(Q_AU_CARRE_DANS_PLANS_HYPER_IMAGE_OU_HYPER_COMPLEXE;)         \
                                                                    ,BLOC(action_de_rangement)                                          \
                                                                    ,MUL2(facteur_multiplicatif,NEUT(facteur_correctif))                \
                                                                     );                                                                 \
                    Eblock                                                                                                              \
                                        /* Definition de la transformation conforme en coordonnees d'ecran [Xmin,Xmax]x[Ymin,Ymax].  */

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   C O N F O R M E   K * ( Q * * 2 )                        */
/*        E N   C O O R D O N N E E S   D ' E C R A N   [Xmin,Xmax] x [Ymin,Ymax]  :                                                 */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

BFonctionP

DEFV(Common,DEFV(Float,SINT(Iq_au_carre_dans_le_plan_hyper_image_____matrice1_RR,FU)));
DEFV(Common,DEFV(Float,SINT(Iq_au_carre_dans_le_plan_hyper_image_____matrice1_RI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_au_carre_dans_le_plan_hyper_image_____matrice1_RJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_au_carre_dans_le_plan_hyper_image_____matrice1_RK,FZERO)));

DEFV(Common,DEFV(Float,SINT(Iq_au_carre_dans_le_plan_hyper_image_____matrice1_IR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_au_carre_dans_le_plan_hyper_image_____matrice1_II,FU)));
DEFV(Common,DEFV(Float,SINT(Iq_au_carre_dans_le_plan_hyper_image_____matrice1_IJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_au_carre_dans_le_plan_hyper_image_____matrice1_IK,FZERO)));

DEFV(Common,DEFV(Float,SINT(Iq_au_carre_dans_le_plan_hyper_image_____matrice1_JR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_au_carre_dans_le_plan_hyper_image_____matrice1_JI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_au_carre_dans_le_plan_hyper_image_____matrice1_JJ,FU)));
DEFV(Common,DEFV(Float,SINT(Iq_au_carre_dans_le_plan_hyper_image_____matrice1_JK,FZERO)));

DEFV(Common,DEFV(Float,SINT(Iq_au_carre_dans_le_plan_hyper_image_____matrice1_KR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_au_carre_dans_le_plan_hyper_image_____matrice1_KI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_au_carre_dans_le_plan_hyper_image_____matrice1_KJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_au_carre_dans_le_plan_hyper_image_____matrice1_KK,FU)));

DEFV(Common,DEFV(Float,SINT(Iq_au_carre_dans_le_plan_hyper_image_____matrice2_RR,FU)));
DEFV(Common,DEFV(Float,SINT(Iq_au_carre_dans_le_plan_hyper_image_____matrice2_RI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_au_carre_dans_le_plan_hyper_image_____matrice2_RJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_au_carre_dans_le_plan_hyper_image_____matrice2_RK,FZERO)));

DEFV(Common,DEFV(Float,SINT(Iq_au_carre_dans_le_plan_hyper_image_____matrice2_IR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_au_carre_dans_le_plan_hyper_image_____matrice2_II,FU)));
DEFV(Common,DEFV(Float,SINT(Iq_au_carre_dans_le_plan_hyper_image_____matrice2_IJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_au_carre_dans_le_plan_hyper_image_____matrice2_IK,FZERO)));

DEFV(Common,DEFV(Float,SINT(Iq_au_carre_dans_le_plan_hyper_image_____composante_J,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_au_carre_dans_le_plan_hyper_image_____composante_K,FZERO)));

DEFV(Common,DEFV(FonctionP,POINTERp(Iq_au_carre_dans_le_plan_hyper_image(imageR,ARGUMENT_POINTERs(R_translation)
                                                                        ,facteur_multiplicatif
                                                                        ,imageA,ARGUMENT_POINTERs(A_translation)
                                                                         )
                                    )
                 )
     )
DEFV(Argument,DEFV(image,imageR));
                                        /* Image resultat a generer.                                                                 */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(R_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de generation de 'imageR' ; on n'obliera pas que cette translation est                    */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(Float,facteur_multiplicatif));
                                        /* Facteur multiplicatif 'K' (une valeur de l'ordre de 0.01 donne de bons resultats).        */
DEFV(Argument,DEFV(image,imageA));
                                        /* Image argument.                                                                           */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(A_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de l'image 'imageA' ; on n'oubliera pas que cette translation est                         */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     /*..............................................................................................................................*/
     Q_AU_CARRE_DANS_LE_PLAN_HYPER_IMAGE(BLOC(store_point_load_point(imageA
                                                                    ,new_X
                                                                    ,new_Y
                                                                    ,imageR
                                                                    ,X
                                                                    ,Y
                                                                     );
                                              )
                                         );
     RETI(imageR);
     Eblock

EFonctionP

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   C O N F O R M E   K * ( Q * * 2 )                        */
/*        E N   C O O R D O N N E E S   D ' E C R A N   [Xmin,Xmax] x [Ymin,Ymax]  :                                                 */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

BFonctionF

DEFV(Common,DEFV(Float,SINT(IFq_au_carre_dans_le_plan_hyper_image_____matrice1_RR,FU)));
DEFV(Common,DEFV(Float,SINT(IFq_au_carre_dans_le_plan_hyper_image_____matrice1_RI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_au_carre_dans_le_plan_hyper_image_____matrice1_RJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_au_carre_dans_le_plan_hyper_image_____matrice1_RK,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFq_au_carre_dans_le_plan_hyper_image_____matrice1_IR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_au_carre_dans_le_plan_hyper_image_____matrice1_II,FU)));
DEFV(Common,DEFV(Float,SINT(IFq_au_carre_dans_le_plan_hyper_image_____matrice1_IJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_au_carre_dans_le_plan_hyper_image_____matrice1_IK,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFq_au_carre_dans_le_plan_hyper_image_____matrice1_JR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_au_carre_dans_le_plan_hyper_image_____matrice1_JI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_au_carre_dans_le_plan_hyper_image_____matrice1_JJ,FU)));
DEFV(Common,DEFV(Float,SINT(IFq_au_carre_dans_le_plan_hyper_image_____matrice1_JK,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFq_au_carre_dans_le_plan_hyper_image_____matrice1_KR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_au_carre_dans_le_plan_hyper_image_____matrice1_KI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_au_carre_dans_le_plan_hyper_image_____matrice1_KJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_au_carre_dans_le_plan_hyper_image_____matrice1_KK,FU)));

DEFV(Common,DEFV(Float,SINT(IFq_au_carre_dans_le_plan_hyper_image_____matrice2_RR,FU)));
DEFV(Common,DEFV(Float,SINT(IFq_au_carre_dans_le_plan_hyper_image_____matrice2_RI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_au_carre_dans_le_plan_hyper_image_____matrice2_RJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_au_carre_dans_le_plan_hyper_image_____matrice2_RK,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFq_au_carre_dans_le_plan_hyper_image_____matrice2_IR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_au_carre_dans_le_plan_hyper_image_____matrice2_II,FU)));
DEFV(Common,DEFV(Float,SINT(IFq_au_carre_dans_le_plan_hyper_image_____matrice2_IJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_au_carre_dans_le_plan_hyper_image_____matrice2_IK,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFq_au_carre_dans_le_plan_hyper_image_____composante_J,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_au_carre_dans_le_plan_hyper_image_____composante_K,FZERO)));

DEFV(Common,DEFV(FonctionF,POINTERF(IFq_au_carre_dans_le_plan_hyper_image(imageR,ARGUMENT_POINTERs(R_translation)
                                                                         ,facteur_multiplicatif
                                                                         ,imageA,ARGUMENT_POINTERs(A_translation)
                                                                          )
                                    )
                 )
     )
                                        /* Fonction introduite le 20041225171429.                                                    */
DEFV(Argument,DEFV(imageF,imageR));
                                        /* Image resultat a generer.                                                                 */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(R_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de generation de 'imageR' ; on n'obliera pas que cette translation est                    */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(Float,facteur_multiplicatif));
                                        /* Facteur multiplicatif 'K' (une valeur de l'ordre de 0.01 donne de bons resultats).        */
DEFV(Argument,DEFV(imageF,imageA));
                                        /* Image argument.                                                                           */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(A_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de l'image 'imageA' ; on n'oubliera pas que cette translation est                         */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     /*..............................................................................................................................*/
     Q_AU_CARRE_DANS_LE_PLAN_HYPER_IMAGE(BLOC(storeF_point_loadF_point(imageA
                                                                      ,new_X
                                                                      ,new_Y
                                                                      ,imageR
                                                                      ,X
                                                                      ,Y
                                                                       );
                                              )
                                         );
     RETIF(imageR);
     Eblock

EFonctionF

#undef    Q_AU_CARRE_DANS_LE_PLAN_HYPER_IMAGE

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        D E F I N I T I O N   D E   L A   T R A N S F O R M A T I O N   C O N F O R M E   K * ( Q * * 2 )                          */
/*        E N   C O O R D O N N E E S   D U   P L A N   H Y P E R - C O M P L E X E   [0,1] x [0,1] x [0,1] x [0,1]  :               */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#define   Q_AU_CARRE_DANS_LE_PLAN_HYPER_COMPLEXE(action_de_rangement)                                                                   \
                    Bblock                                                                                                              \
                    TRANSFORMATION_CONFORME_DANS_LE_PLAN_HYPER_COMPLEXE(BLOC(VIDE;)                                                     \
                                                                       ,TOUJOURS_VRAI                                                   \
                                                                       ,BLOC(Q_AU_CARRE_DANS_PLANS_HYPER_IMAGE_OU_HYPER_COMPLEXE;)      \
                                                                       ,BLOC(action_de_rangement)                                       \
                                                                        );                                                              \
                    Eblock                                                                                                              \
                                        /* Definition de la transformation conforme en coordonnees d'ecran [Xmin,Xmax]x[Ymin,Ymax].  */

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   C O N F O R M E   K * ( Q * * 2 )                        */
/*        E N   C O O R D O N N E E S   D U   P L A N   H Y P E R - C O M P L E X E   [0,1] x [0,1] x [0,1] x [0,1]  :               */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

BFonctionP

DEFV(Common,DEFV(Float,SINT(Iq_au_carre_dans_le_plan_hyper_complexe_____matrice1_RR,FU)));
DEFV(Common,DEFV(Float,SINT(Iq_au_carre_dans_le_plan_hyper_complexe_____matrice1_RI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_au_carre_dans_le_plan_hyper_complexe_____matrice1_RJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_au_carre_dans_le_plan_hyper_complexe_____matrice1_RK,FZERO)));

DEFV(Common,DEFV(Float,SINT(Iq_au_carre_dans_le_plan_hyper_complexe_____matrice1_IR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_au_carre_dans_le_plan_hyper_complexe_____matrice1_II,FU)));
DEFV(Common,DEFV(Float,SINT(Iq_au_carre_dans_le_plan_hyper_complexe_____matrice1_IJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_au_carre_dans_le_plan_hyper_complexe_____matrice1_IK,FZERO)));

DEFV(Common,DEFV(Float,SINT(Iq_au_carre_dans_le_plan_hyper_complexe_____matrice1_JR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_au_carre_dans_le_plan_hyper_complexe_____matrice1_JI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_au_carre_dans_le_plan_hyper_complexe_____matrice1_JJ,FU)));
DEFV(Common,DEFV(Float,SINT(Iq_au_carre_dans_le_plan_hyper_complexe_____matrice1_JK,FZERO)));

DEFV(Common,DEFV(Float,SINT(Iq_au_carre_dans_le_plan_hyper_complexe_____matrice1_KR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_au_carre_dans_le_plan_hyper_complexe_____matrice1_KI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_au_carre_dans_le_plan_hyper_complexe_____matrice1_KJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_au_carre_dans_le_plan_hyper_complexe_____matrice1_KK,FU)));

DEFV(Common,DEFV(Float,SINT(Iq_au_carre_dans_le_plan_hyper_complexe_____matrice2_RR,FU)));
DEFV(Common,DEFV(Float,SINT(Iq_au_carre_dans_le_plan_hyper_complexe_____matrice2_RI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_au_carre_dans_le_plan_hyper_complexe_____matrice2_RJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_au_carre_dans_le_plan_hyper_complexe_____matrice2_RK,FZERO)));

DEFV(Common,DEFV(Float,SINT(Iq_au_carre_dans_le_plan_hyper_complexe_____matrice2_IR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_au_carre_dans_le_plan_hyper_complexe_____matrice2_II,FU)));
DEFV(Common,DEFV(Float,SINT(Iq_au_carre_dans_le_plan_hyper_complexe_____matrice2_IJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_au_carre_dans_le_plan_hyper_complexe_____matrice2_IK,FZERO)));

DEFV(Common,DEFV(Float,SINT(Iq_au_carre_dans_le_plan_hyper_complexe_____composante_J,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_au_carre_dans_le_plan_hyper_complexe_____composante_K,FZERO)));

DEFV(Common,DEFV(FonctionP,POINTERp(Iq_au_carre_dans_le_plan_hyper_complexe(imageR,ARGUMENT_POINTERs(R_translation)
                                                                           ,facteur_multiplicatif
                                                                           ,imageA,ARGUMENT_POINTERs(A_translation)
                                                                            )
                                    )
                 )
     )
DEFV(Argument,DEFV(image,imageR));
                                        /* Image resultat a generer.                                                                 */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(R_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de generation de 'imageR' ; on n'obliera pas que cette translation est                    */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(Float,facteur_multiplicatif));
                                        /* Facteur multiplicatif 'K' (une valeur de l'ordre de 5.0 donne de bons resultats) ; voir   */
                                        /* a ce propos les commentaires de 'v $xci/z_carre.01$K'...                                  */
DEFV(Argument,DEFV(image,imageA));
                                        /* Image argument.                                                                           */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(A_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de l'image 'imageA' ; on n'oubliera pas que cette translation est                         */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     /*..............................................................................................................................*/
     Q_AU_CARRE_DANS_LE_PLAN_HYPER_COMPLEXE(BLOC(store_point_load_point(imageA
                                                                       ,fV_cDENORMALISE_OX(new_X)
                                                                       ,fV_cDENORMALISE_OY(new_Y)
                                                                       ,imageR
                                                                       ,X
                                                                       ,Y
                                                                        );
                                                 )
                                            );
     RETI(imageR);
     Eblock

EFonctionP

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   C O N F O R M E   K * ( Q * * 2 )                        */
/*        E N   C O O R D O N N E E S   D U   P L A N   H Y P E R - C O M P L E X E   [0,1] x [0,1] x [0,1] x [0,1]  :               */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

BFonctionF

DEFV(Common,DEFV(Float,SINT(IFq_au_carre_dans_le_plan_hyper_complexe_____matrice1_RR,FU)));
DEFV(Common,DEFV(Float,SINT(IFq_au_carre_dans_le_plan_hyper_complexe_____matrice1_RI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_au_carre_dans_le_plan_hyper_complexe_____matrice1_RJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_au_carre_dans_le_plan_hyper_complexe_____matrice1_RK,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFq_au_carre_dans_le_plan_hyper_complexe_____matrice1_IR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_au_carre_dans_le_plan_hyper_complexe_____matrice1_II,FU)));
DEFV(Common,DEFV(Float,SINT(IFq_au_carre_dans_le_plan_hyper_complexe_____matrice1_IJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_au_carre_dans_le_plan_hyper_complexe_____matrice1_IK,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFq_au_carre_dans_le_plan_hyper_complexe_____matrice1_JR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_au_carre_dans_le_plan_hyper_complexe_____matrice1_JI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_au_carre_dans_le_plan_hyper_complexe_____matrice1_JJ,FU)));
DEFV(Common,DEFV(Float,SINT(IFq_au_carre_dans_le_plan_hyper_complexe_____matrice1_JK,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFq_au_carre_dans_le_plan_hyper_complexe_____matrice1_KR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_au_carre_dans_le_plan_hyper_complexe_____matrice1_KI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_au_carre_dans_le_plan_hyper_complexe_____matrice1_KJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_au_carre_dans_le_plan_hyper_complexe_____matrice1_KK,FU)));

DEFV(Common,DEFV(Float,SINT(IFq_au_carre_dans_le_plan_hyper_complexe_____matrice2_RR,FU)));
DEFV(Common,DEFV(Float,SINT(IFq_au_carre_dans_le_plan_hyper_complexe_____matrice2_RI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_au_carre_dans_le_plan_hyper_complexe_____matrice2_RJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_au_carre_dans_le_plan_hyper_complexe_____matrice2_RK,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFq_au_carre_dans_le_plan_hyper_complexe_____matrice2_IR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_au_carre_dans_le_plan_hyper_complexe_____matrice2_II,FU)));
DEFV(Common,DEFV(Float,SINT(IFq_au_carre_dans_le_plan_hyper_complexe_____matrice2_IJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_au_carre_dans_le_plan_hyper_complexe_____matrice2_IK,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFq_au_carre_dans_le_plan_hyper_complexe_____composante_J,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_au_carre_dans_le_plan_hyper_complexe_____composante_K,FZERO)));

DEFV(Common,DEFV(FonctionF,POINTERF(IFq_au_carre_dans_le_plan_hyper_complexe(imageR,ARGUMENT_POINTERs(R_translation)
                                                                            ,facteur_multiplicatif
                                                                            ,imageA,ARGUMENT_POINTERs(A_translation)
                                                                             )
                                    )
                 )
     )
                                        /* Fonction introduite le 20041225171429.                                                    */
DEFV(Argument,DEFV(imageF,imageR));
                                        /* Image resultat a generer.                                                                 */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(R_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de generation de 'imageR' ; on n'obliera pas que cette translation est                    */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(Float,facteur_multiplicatif));
                                        /* Facteur multiplicatif 'K' (une valeur de l'ordre de 5.0 donne de bons resultats) ; voir   */
                                        /* a ce propos les commentaires de 'v $xci/z_carre.01$K'...                                  */
DEFV(Argument,DEFV(imageF,imageA));
                                        /* Image argument.                                                                           */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(A_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de l'image 'imageA' ; on n'oubliera pas que cette translation est                         */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     /*..............................................................................................................................*/
     Q_AU_CARRE_DANS_LE_PLAN_HYPER_COMPLEXE(BLOC(storeF_point_loadF_point(imageA
                                                                         ,fV_cDENORMALISE_OX(new_X)
                                                                         ,fV_cDENORMALISE_OY(new_Y)
                                                                         ,imageR
                                                                         ,X
                                                                         ,Y
                                                                          );
                                                 )
                                            );
     RETIF(imageR);
     Eblock

EFonctionF

#undef    Q_AU_CARRE_DANS_LE_PLAN_HYPER_COMPLEXE

#undef    Q_AU_CARRE_DANS_PLANS_HYPER_IMAGE_OU_HYPER_COMPLEXE

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   C O N F O R M E   K * ( 1 / Q )  :                       */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#define   UN_SUR_Q_DANS_PLANS_HYPER_IMAGE_OU_HYPER_COMPLEXE                                                                             \
                    Bblock                                                                                                              \
                    TRANSFORMATION__UN_SUR_Q(point_manoeuvre,point_courant);                                                            \
                    Eblock                                                                                                              \
                                        /* Definition generale de la transformation un sur 'q' dans les plans hyper-image ou         */ \
                                        /* hyper-complexe (introduite le 20070118103318).                                            */

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        D E F I N I T I O N   D E   L A   T R A N S F O R M A T I O N   C O N F O R M E   K * ( 1 / Q )                            */
/*        E N   C O O R D O N N E E S   D ' E C R A N   [Xmin,Xmax] x [Ymin,Ymax]  :                                                 */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#define   UN_SUR_Q_DANS_LE_PLAN_HYPER_IMAGE(action_de_rangement)                                                                        \
                    Bblock                                                                                                              \
                    TRANSFORMATION_CONFORME_DANS_LE_PLAN_HYPER_IMAGE(BLOC(VIDE;)                                                        \
                                                                    ,IZNE(HCmodule2(point_courant))                                     \
                                                                    ,BLOC(UN_SUR_Q_DANS_PLANS_HYPER_IMAGE_OU_HYPER_COMPLEXE;)           \
                                                                    ,BLOC(action_de_rangement)                                          \
                                                                    ,DIVI(facteur_multiplicatif,EXP2(facteur_correctif))                \
                                                                     );                                                                 \
                    Eblock                                                                                                              \
                                        /* Definition de la transformation conforme en coordonnees d'ecran [Xmin,Xmax]x[Ymin,Ymax].  */

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   C O N F O R M E   K * ( 1 / Q )                          */
/*        E N   C O O R D O N N E E S   D ' E C R A N   [Xmin,Xmax] x [Ymin,Ymax]  :                                                 */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

BFonctionP

DEFV(Common,DEFV(Float,SINT(Iun_sur_q_dans_le_plan_hyper_image_____matrice1_RR,FU)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_q_dans_le_plan_hyper_image_____matrice1_RI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_q_dans_le_plan_hyper_image_____matrice1_RJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_q_dans_le_plan_hyper_image_____matrice1_RK,FZERO)));

DEFV(Common,DEFV(Float,SINT(Iun_sur_q_dans_le_plan_hyper_image_____matrice1_IR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_q_dans_le_plan_hyper_image_____matrice1_II,FU)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_q_dans_le_plan_hyper_image_____matrice1_IJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_q_dans_le_plan_hyper_image_____matrice1_IK,FZERO)));

DEFV(Common,DEFV(Float,SINT(Iun_sur_q_dans_le_plan_hyper_image_____matrice1_JR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_q_dans_le_plan_hyper_image_____matrice1_JI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_q_dans_le_plan_hyper_image_____matrice1_JJ,FU)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_q_dans_le_plan_hyper_image_____matrice1_JK,FZERO)));

DEFV(Common,DEFV(Float,SINT(Iun_sur_q_dans_le_plan_hyper_image_____matrice1_KR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_q_dans_le_plan_hyper_image_____matrice1_KI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_q_dans_le_plan_hyper_image_____matrice1_KJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_q_dans_le_plan_hyper_image_____matrice1_KK,FU)));

DEFV(Common,DEFV(Float,SINT(Iun_sur_q_dans_le_plan_hyper_image_____matrice2_RR,FU)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_q_dans_le_plan_hyper_image_____matrice2_RI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_q_dans_le_plan_hyper_image_____matrice2_RJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_q_dans_le_plan_hyper_image_____matrice2_RK,FZERO)));

DEFV(Common,DEFV(Float,SINT(Iun_sur_q_dans_le_plan_hyper_image_____matrice2_IR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_q_dans_le_plan_hyper_image_____matrice2_II,FU)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_q_dans_le_plan_hyper_image_____matrice2_IJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_q_dans_le_plan_hyper_image_____matrice2_IK,FZERO)));

DEFV(Common,DEFV(Float,SINT(Iun_sur_q_dans_le_plan_hyper_image_____composante_J,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_q_dans_le_plan_hyper_image_____composante_K,FZERO)));

DEFV(Common,DEFV(FonctionP,POINTERp(Iun_sur_q_dans_le_plan_hyper_image(imageR,ARGUMENT_POINTERs(R_translation)
                                                                      ,facteur_multiplicatif
                                                                      ,imageA,ARGUMENT_POINTERs(A_translation)
                                                                       )
                                    )
                 )
     )
DEFV(Argument,DEFV(image,imageR));
                                        /* Image resultat a generer.                                                                 */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(R_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de generation de 'imageR' ; on n'obliera pas que cette translation est                    */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(Float,facteur_multiplicatif));
                                        /* Facteur multiplicatif 'K' (une valeur de l'ordre de 64000.0 donne de bons resultats).     */
DEFV(Argument,DEFV(image,imageA));
                                        /* Image argument.                                                                           */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(A_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de l'image 'imageA' ; on n'oubliera pas que cette translation est                         */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     /*..............................................................................................................................*/
     CALS(Inoir(imageR));
                                        /* L'image Resultat est nettoye ici (contrairement a la transformation q**2),                */
                                        /* a cause du test de nullite du carre du module du nombre complexe courant ;                */
                                        /* dans ce cas aucun point n'est marque...                                                   */

     UN_SUR_Q_DANS_LE_PLAN_HYPER_IMAGE(BLOC(store_point_load_point(imageA
                                                                  ,new_X
                                                                  ,new_Y
                                                                  ,imageR
                                                                  ,X
                                                                  ,Y
                                                                   );
                                            )
                                       );
     RETI(imageR);
     Eblock

EFonctionP

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   C O N F O R M E   K * ( 1 / Q )                          */
/*        E N   C O O R D O N N E E S   D ' E C R A N   [Xmin,Xmax] x [Ymin,Ymax]  :                                                 */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

BFonctionF

DEFV(Common,DEFV(Float,SINT(IFun_sur_q_dans_le_plan_hyper_image_____matrice1_RR,FU)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_q_dans_le_plan_hyper_image_____matrice1_RI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_q_dans_le_plan_hyper_image_____matrice1_RJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_q_dans_le_plan_hyper_image_____matrice1_RK,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFun_sur_q_dans_le_plan_hyper_image_____matrice1_IR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_q_dans_le_plan_hyper_image_____matrice1_II,FU)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_q_dans_le_plan_hyper_image_____matrice1_IJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_q_dans_le_plan_hyper_image_____matrice1_IK,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFun_sur_q_dans_le_plan_hyper_image_____matrice1_JR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_q_dans_le_plan_hyper_image_____matrice1_JI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_q_dans_le_plan_hyper_image_____matrice1_JJ,FU)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_q_dans_le_plan_hyper_image_____matrice1_JK,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFun_sur_q_dans_le_plan_hyper_image_____matrice1_KR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_q_dans_le_plan_hyper_image_____matrice1_KI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_q_dans_le_plan_hyper_image_____matrice1_KJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_q_dans_le_plan_hyper_image_____matrice1_KK,FU)));

DEFV(Common,DEFV(Float,SINT(IFun_sur_q_dans_le_plan_hyper_image_____matrice2_RR,FU)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_q_dans_le_plan_hyper_image_____matrice2_RI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_q_dans_le_plan_hyper_image_____matrice2_RJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_q_dans_le_plan_hyper_image_____matrice2_RK,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFun_sur_q_dans_le_plan_hyper_image_____matrice2_IR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_q_dans_le_plan_hyper_image_____matrice2_II,FU)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_q_dans_le_plan_hyper_image_____matrice2_IJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_q_dans_le_plan_hyper_image_____matrice2_IK,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFun_sur_q_dans_le_plan_hyper_image_____composante_J,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_q_dans_le_plan_hyper_image_____composante_K,FZERO)));

DEFV(Common,DEFV(FonctionF,POINTERF(IFun_sur_q_dans_le_plan_hyper_image(imageR,ARGUMENT_POINTERs(R_translation)
                                                                       ,facteur_multiplicatif
                                                                       ,imageA,ARGUMENT_POINTERs(A_translation)
                                                                        )
                                    )
                 )
     )
                                        /* Fonction introduite le 20041225171429.                                                    */
DEFV(Argument,DEFV(imageF,imageR));
                                        /* Image resultat a generer.                                                                 */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(R_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de generation de 'imageR' ; on n'obliera pas que cette translation est                    */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(Float,facteur_multiplicatif));
                                        /* Facteur multiplicatif 'K' (une valeur de l'ordre de 64000.0 donne de bons resultats).     */
DEFV(Argument,DEFV(imageF,imageA));
                                        /* Image argument.                                                                           */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(A_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de l'image 'imageA' ; on n'oubliera pas que cette translation est                         */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     /*..............................................................................................................................*/
     CALS(IFinitialisation(imageR,FZERO));
                                        /* L'image Resultat est nettoye ici (contrairement a la transformation q**2),                */
                                        /* a cause du test de nullite du carre du module du nombre complexe courant ;                */
                                        /* dans ce cas aucun point n'est marque...                                                   */

     UN_SUR_Q_DANS_LE_PLAN_HYPER_IMAGE(BLOC(storeF_point_loadF_point(imageA
                                                                    ,new_X
                                                                    ,new_Y
                                                                    ,imageR
                                                                    ,X
                                                                    ,Y
                                                                     );
                                            )
                                       );
     RETIF(imageR);
     Eblock

EFonctionF

#undef    UN_SUR_Q_DANS_LE_PLAN_HYPER_IMAGE

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        D E F I N I T I O N   D E   L A   T R A N S F O R M A T I O N   C O N F O R M E   K * ( 1 / Q )                            */
/*        E N   C O O R D O N N E E S   D U   P L A N   H Y P E R - C O M P L E X E   [0,1] x [0,1] x [0,1] x [0,1]  :               */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#define   UN_SUR_Q_DANS_LE_PLAN_HYPER_COMPLEXE(action_de_rangement)                                                                     \
                    Bblock                                                                                                              \
                    TRANSFORMATION_CONFORME_DANS_LE_PLAN_HYPER_COMPLEXE(BLOC(VIDE;)                                                     \
                                                                       ,IZNE(HCmodule2(point_courant))                                  \
                                                                       ,BLOC(UN_SUR_Q_DANS_PLANS_HYPER_IMAGE_OU_HYPER_COMPLEXE;)        \
                                                                       ,BLOC(action_de_rangement)                                       \
                                                                        );                                                              \
                    Eblock                                                                                                              \
                                        /* Definition de la transformation conforme en coordonnees d'ecran [Xmin,Xmax]x[Ymin,Ymax].  */

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   C O N F O R M E   K * ( 1 / Q )                          */
/*        E N   C O O R D O N N E E S   D U   P L A N   H Y P E R - C O M P L E X E   [0,1] x [0,1] x [0,1] x [0,1]  :               */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

BFonctionP

DEFV(Common,DEFV(Float,SINT(Iun_sur_q_dans_le_plan_hyper_complexe_____matrice1_RR,FU)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_q_dans_le_plan_hyper_complexe_____matrice1_RI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_q_dans_le_plan_hyper_complexe_____matrice1_RJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_q_dans_le_plan_hyper_complexe_____matrice1_RK,FZERO)));

DEFV(Common,DEFV(Float,SINT(Iun_sur_q_dans_le_plan_hyper_complexe_____matrice1_IR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_q_dans_le_plan_hyper_complexe_____matrice1_II,FU)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_q_dans_le_plan_hyper_complexe_____matrice1_IJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_q_dans_le_plan_hyper_complexe_____matrice1_IK,FZERO)));

DEFV(Common,DEFV(Float,SINT(Iun_sur_q_dans_le_plan_hyper_complexe_____matrice1_JR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_q_dans_le_plan_hyper_complexe_____matrice1_JI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_q_dans_le_plan_hyper_complexe_____matrice1_JJ,FU)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_q_dans_le_plan_hyper_complexe_____matrice1_JK,FZERO)));

DEFV(Common,DEFV(Float,SINT(Iun_sur_q_dans_le_plan_hyper_complexe_____matrice1_KR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_q_dans_le_plan_hyper_complexe_____matrice1_KI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_q_dans_le_plan_hyper_complexe_____matrice1_KJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_q_dans_le_plan_hyper_complexe_____matrice1_KK,FU)));

DEFV(Common,DEFV(Float,SINT(Iun_sur_q_dans_le_plan_hyper_complexe_____matrice2_RR,FU)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_q_dans_le_plan_hyper_complexe_____matrice2_RI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_q_dans_le_plan_hyper_complexe_____matrice2_RJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_q_dans_le_plan_hyper_complexe_____matrice2_RK,FZERO)));

DEFV(Common,DEFV(Float,SINT(Iun_sur_q_dans_le_plan_hyper_complexe_____matrice2_IR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_q_dans_le_plan_hyper_complexe_____matrice2_II,FU)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_q_dans_le_plan_hyper_complexe_____matrice2_IJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_q_dans_le_plan_hyper_complexe_____matrice2_IK,FZERO)));

DEFV(Common,DEFV(Float,SINT(Iun_sur_q_dans_le_plan_hyper_complexe_____composante_J,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_q_dans_le_plan_hyper_complexe_____composante_K,FZERO)));

DEFV(Common,DEFV(FonctionP,POINTERp(Iun_sur_q_dans_le_plan_hyper_complexe(imageR,ARGUMENT_POINTERs(R_translation)
                                                                         ,facteur_multiplicatif
                                                                         ,imageA,ARGUMENT_POINTERs(A_translation)
                                                                          )
                                    )
                 )
     )
DEFV(Argument,DEFV(image,imageR));
                                        /* Image resultat a generer.                                                                 */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(R_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de generation de 'imageR' ; on n'obliera pas que cette translation est                    */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(Float,facteur_multiplicatif));
                                        /* Facteur multiplicatif 'K' (une valeur de l'ordre de 0.25 donne de bons resultats) ; voir  */
                                        /* a ce propos les commentaires de 'v $xci/un_sur_z.01$K'...                                 */
DEFV(Argument,DEFV(image,imageA));
                                        /* Image argument.                                                                           */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(A_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de l'image 'imageA' ; on n'oubliera pas que cette translation est                         */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     /*..............................................................................................................................*/
     CALS(Inoir(imageR));
                                        /* L'image Resultat est nettoye ici (contrairement a la transformation q**2),                */
                                        /* a cause du test de nullite du carre du module du nombre complexe courant ;                */
                                        /* dans ce cas aucun point n'est marque...                                                   */

     UN_SUR_Q_DANS_LE_PLAN_HYPER_COMPLEXE(BLOC(store_point_load_point(imageA
                                                                     ,fV_cDENORMALISE_OX(new_X)
                                                                     ,fV_cDENORMALISE_OY(new_Y)
                                                                     ,imageR
                                                                     ,X
                                                                     ,Y
                                                                      );
                                               )
                                          );
     RETI(imageR);
     Eblock

EFonctionP

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   C O N F O R M E   K * ( 1 / Q )                          */
/*        E N   C O O R D O N N E E S   D U   P L A N   H Y P E R - C O M P L E X E   [0,1] x [0,1] x [0,1] x [0,1]  :               */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

BFonctionF

DEFV(Common,DEFV(Float,SINT(IFun_sur_q_dans_le_plan_hyper_complexe_____matrice1_RR,FU)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_q_dans_le_plan_hyper_complexe_____matrice1_RI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_q_dans_le_plan_hyper_complexe_____matrice1_RJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_q_dans_le_plan_hyper_complexe_____matrice1_RK,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFun_sur_q_dans_le_plan_hyper_complexe_____matrice1_IR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_q_dans_le_plan_hyper_complexe_____matrice1_II,FU)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_q_dans_le_plan_hyper_complexe_____matrice1_IJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_q_dans_le_plan_hyper_complexe_____matrice1_IK,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFun_sur_q_dans_le_plan_hyper_complexe_____matrice1_JR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_q_dans_le_plan_hyper_complexe_____matrice1_JI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_q_dans_le_plan_hyper_complexe_____matrice1_JJ,FU)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_q_dans_le_plan_hyper_complexe_____matrice1_JK,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFun_sur_q_dans_le_plan_hyper_complexe_____matrice1_KR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_q_dans_le_plan_hyper_complexe_____matrice1_KI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_q_dans_le_plan_hyper_complexe_____matrice1_KJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_q_dans_le_plan_hyper_complexe_____matrice1_KK,FU)));

DEFV(Common,DEFV(Float,SINT(IFun_sur_q_dans_le_plan_hyper_complexe_____matrice2_RR,FU)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_q_dans_le_plan_hyper_complexe_____matrice2_RI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_q_dans_le_plan_hyper_complexe_____matrice2_RJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_q_dans_le_plan_hyper_complexe_____matrice2_RK,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFun_sur_q_dans_le_plan_hyper_complexe_____matrice2_IR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_q_dans_le_plan_hyper_complexe_____matrice2_II,FU)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_q_dans_le_plan_hyper_complexe_____matrice2_IJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_q_dans_le_plan_hyper_complexe_____matrice2_IK,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFun_sur_q_dans_le_plan_hyper_complexe_____composante_J,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_q_dans_le_plan_hyper_complexe_____composante_K,FZERO)));

DEFV(Common,DEFV(FonctionF,POINTERF(IFun_sur_q_dans_le_plan_hyper_complexe(imageR,ARGUMENT_POINTERs(R_translation)
                                                                          ,facteur_multiplicatif
                                                                          ,imageA,ARGUMENT_POINTERs(A_translation)
                                                                           )
                                    )
                 )
     )
                                        /* Fonction introduite le 20041225171429.                                                    */
DEFV(Argument,DEFV(imageF,imageR));
                                        /* Image resultat a generer.                                                                 */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(R_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de generation de 'imageR' ; on n'obliera pas que cette translation est                    */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(Float,facteur_multiplicatif));
                                        /* Facteur multiplicatif 'K' (une valeur de l'ordre de 0.25 donne de bons resultats) ; voir  */
                                        /* a ce propos les commentaires de 'v $xci/un_sur_z.01$K'...                                 */
DEFV(Argument,DEFV(imageF,imageA));
                                        /* Image argument.                                                                           */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(A_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de l'image 'imageA' ; on n'oubliera pas que cette translation est                         */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     /*..............................................................................................................................*/
     CALS(IFinitialisation(imageR,FZERO));
                                        /* L'image Resultat est nettoye ici (contrairement a la transformation q**2),                */
                                        /* a cause du test de nullite du carre du module du nombre complexe courant ;                */
                                        /* dans ce cas aucun point n'est marque...                                                   */

     UN_SUR_Q_DANS_LE_PLAN_HYPER_COMPLEXE(BLOC(storeF_point_loadF_point(imageA
                                                                       ,fV_cDENORMALISE_OX(new_X)
                                                                       ,fV_cDENORMALISE_OY(new_Y)
                                                                       ,imageR
                                                                       ,X
                                                                       ,Y
                                                                        );
                                               )
                                          );
     RETIF(imageR);
     Eblock

EFonctionF

#undef    UN_SUR_Q_DANS_LE_PLAN_HYPER_COMPLEXE

#undef    UN_SUR_Q_DANS_PLANS_HYPER_IMAGE_OU_HYPER_COMPLEXE

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   C O N F O R M E   H O M O G R A P H I Q U E  :           */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#define   Q_HOMOGRAPHIQUE_DANS_PLANS_HYPER_IMAGE_OU_HYPER_COMPLEXE                                                                      \
                    Bblock                                                                                                              \
                    TRANSFORMATION__Q_HOMOGRAPHIQUE(point_manoeuvre,point_courant,nombre_A,nombre_B,nombre_C,nombre_D,INDIRECT);        \
                                        /* Calcul de :                                                                               */ \
                                        /*                                                                                           */ \
                                        /*                   A.q + B                                                                 */ \
                                        /*                  ---------                                                                */ \
                                        /*                   C.q + D                                                                 */ \
                                        /*                                                                                           */ \
                    Eblock                                                                                                              \
                                        /* Definition generale de la transformation homographique dans les plans hyper-image ou      */ \
                                        /* hyper-complexe (introduite le 20070118100909).                                            */

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        D E F I N I T I O N   D E   L A   T R A N S F O R M A T I O N   C O N F O R M E   H O M O G R A P H I Q U E                */
/*        E N   C O O R D O N N E E S   D ' E C R A N   [Xmin,Xmax] x [Ymin,Ymax]  :                                                 */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#define   Q_HOMOGRAPHIQUE_DANS_LE_PLAN_HYPER_IMAGE(action_de_rangement)                                                                 \
                    Bblock                                                                                                              \
                    TRANSFORMATION_CONFORME_DANS_LE_PLAN_HYPER_IMAGE(BLOC(DEFV(hyper_complexe,point_manoeuvre_A);                       \
                                                                          DEFV(hyper_complexe,point_manoeuvre_B);                       \
                                                                          DEFV(hyper_complexe,point_manoeuvre_C);                       \
                                                                          DEFV(hyper_complexe,point_manoeuvre_D);                       \
                                        /* Nombres complexes intermediaires...                                                       */ \
                                                                          )                                                             \
                                                                    ,TOUJOURS_VRAI                                                      \
                                                                    ,BLOC(Q_HOMOGRAPHIQUE_DANS_PLANS_HYPER_IMAGE_OU_HYPER_COMPLEXE;)    \
                                                                    ,BLOC(action_de_rangement)                                          \
                                                                    ,NEUT(facteur_multiplicatif)                                        \
                                                                     );                                                                 \
                    Eblock                                                                                                              \
                                        /* Definition de la transformation conforme en coordonnees d'ecran [Xmin,Xmax]x[Ymin,Ymax].  */

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   C O N F O R M E   H O M O G R A P H I Q U E              */
/*        E N   C O O R D O N N E E S   D ' E C R A N   [Xmin,Xmax] x [Ymin,Ymax]  :                                                 */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

BFonctionP

DEFV(Common,DEFV(Float,SINT(Iq_homographique_dans_le_plan_hyper_image_____matrice1_RR,FU)));
DEFV(Common,DEFV(Float,SINT(Iq_homographique_dans_le_plan_hyper_image_____matrice1_RI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_homographique_dans_le_plan_hyper_image_____matrice1_RJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_homographique_dans_le_plan_hyper_image_____matrice1_RK,FZERO)));

DEFV(Common,DEFV(Float,SINT(Iq_homographique_dans_le_plan_hyper_image_____matrice1_IR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_homographique_dans_le_plan_hyper_image_____matrice1_II,FU)));
DEFV(Common,DEFV(Float,SINT(Iq_homographique_dans_le_plan_hyper_image_____matrice1_IJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_homographique_dans_le_plan_hyper_image_____matrice1_IK,FZERO)));

DEFV(Common,DEFV(Float,SINT(Iq_homographique_dans_le_plan_hyper_image_____matrice1_JR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_homographique_dans_le_plan_hyper_image_____matrice1_JI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_homographique_dans_le_plan_hyper_image_____matrice1_JJ,FU)));
DEFV(Common,DEFV(Float,SINT(Iq_homographique_dans_le_plan_hyper_image_____matrice1_JK,FZERO)));

DEFV(Common,DEFV(Float,SINT(Iq_homographique_dans_le_plan_hyper_image_____matrice1_KR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_homographique_dans_le_plan_hyper_image_____matrice1_KI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_homographique_dans_le_plan_hyper_image_____matrice1_KJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_homographique_dans_le_plan_hyper_image_____matrice1_KK,FU)));

DEFV(Common,DEFV(Float,SINT(Iq_homographique_dans_le_plan_hyper_image_____matrice2_RR,FU)));
DEFV(Common,DEFV(Float,SINT(Iq_homographique_dans_le_plan_hyper_image_____matrice2_RI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_homographique_dans_le_plan_hyper_image_____matrice2_RJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_homographique_dans_le_plan_hyper_image_____matrice2_RK,FZERO)));

DEFV(Common,DEFV(Float,SINT(Iq_homographique_dans_le_plan_hyper_image_____matrice2_IR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_homographique_dans_le_plan_hyper_image_____matrice2_II,FU)));
DEFV(Common,DEFV(Float,SINT(Iq_homographique_dans_le_plan_hyper_image_____matrice2_IJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_homographique_dans_le_plan_hyper_image_____matrice2_IK,FZERO)));

DEFV(Common,DEFV(Float,SINT(Iq_homographique_dans_le_plan_hyper_image_____composante_J,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_homographique_dans_le_plan_hyper_image_____composante_K,FZERO)));

DEFV(Common,DEFV(FonctionP,POINTERp(Iq_homographique_dans_le_plan_hyper_image(imageR,ARGUMENT_POINTERs(R_translation)
                                                                             ,facteur_multiplicatif
                                                                             ,imageA,ARGUMENT_POINTERs(A_translation)
                                                                             ,ARGUMENT_POINTERs(nombre_A),ARGUMENT_POINTERs(nombre_B)
                                                                             ,ARGUMENT_POINTERs(nombre_C),ARGUMENT_POINTERs(nombre_D)
                                                                              )
                                    )
                 )
     )
DEFV(Argument,DEFV(image,imageR));
                                        /* Image resultat a generer.                                                                 */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(R_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de generation de 'imageR' ; on n'obliera pas que cette translation est                    */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(Float,facteur_multiplicatif));
                                        /* Facteur multiplicatif 'K' (une valeur de l'ordre de 0.01 donne de bons resultats).        */
DEFV(Argument,DEFV(image,imageA));
                                        /* Image argument.                                                                           */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(A_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de l'image 'imageA' ; on n'oubliera pas que cette translation est                         */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(hyper_complexe,POINTERs(nombre_A)));
DEFV(Argument,DEFV(hyper_complexe,POINTERs(nombre_B)));
DEFV(Argument,DEFV(hyper_complexe,POINTERs(nombre_C)));
DEFV(Argument,DEFV(hyper_complexe,POINTERs(nombre_D)));
                                        /* Definition des quatre coefficients complexes de la transformation homographique :         */
                                        /*                                                                                           */
                                        /*                   A.q + B                                                                 */
                                        /*                  ---------                                                                */
                                        /*                   C.q + D                                                                 */
                                        /*                                                                                           */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     /*..............................................................................................................................*/
     Q_HOMOGRAPHIQUE_DANS_LE_PLAN_HYPER_IMAGE(BLOC(store_point_load_point(imageA
                                                                         ,new_X
                                                                         ,new_Y
                                                                         ,imageR
                                                                         ,X
                                                                         ,Y
                                                                          );
                                                   )
                                              );
     RETI(imageR);
     Eblock

EFonctionP

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   C O N F O R M E   H O M O G R A P H I Q U E              */
/*        E N   C O O R D O N N E E S   D ' E C R A N   [Xmin,Xmax] x [Ymin,Ymax]  :                                                 */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

BFonctionF

DEFV(Common,DEFV(Float,SINT(IFq_homographique_dans_le_plan_hyper_image_____matrice1_RR,FU)));
DEFV(Common,DEFV(Float,SINT(IFq_homographique_dans_le_plan_hyper_image_____matrice1_RI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_homographique_dans_le_plan_hyper_image_____matrice1_RJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_homographique_dans_le_plan_hyper_image_____matrice1_RK,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFq_homographique_dans_le_plan_hyper_image_____matrice1_IR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_homographique_dans_le_plan_hyper_image_____matrice1_II,FU)));
DEFV(Common,DEFV(Float,SINT(IFq_homographique_dans_le_plan_hyper_image_____matrice1_IJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_homographique_dans_le_plan_hyper_image_____matrice1_IK,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFq_homographique_dans_le_plan_hyper_image_____matrice1_JR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_homographique_dans_le_plan_hyper_image_____matrice1_JI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_homographique_dans_le_plan_hyper_image_____matrice1_JJ,FU)));
DEFV(Common,DEFV(Float,SINT(IFq_homographique_dans_le_plan_hyper_image_____matrice1_JK,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFq_homographique_dans_le_plan_hyper_image_____matrice1_KR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_homographique_dans_le_plan_hyper_image_____matrice1_KI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_homographique_dans_le_plan_hyper_image_____matrice1_KJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_homographique_dans_le_plan_hyper_image_____matrice1_KK,FU)));

DEFV(Common,DEFV(Float,SINT(IFq_homographique_dans_le_plan_hyper_image_____matrice2_RR,FU)));
DEFV(Common,DEFV(Float,SINT(IFq_homographique_dans_le_plan_hyper_image_____matrice2_RI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_homographique_dans_le_plan_hyper_image_____matrice2_RJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_homographique_dans_le_plan_hyper_image_____matrice2_RK,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFq_homographique_dans_le_plan_hyper_image_____matrice2_IR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_homographique_dans_le_plan_hyper_image_____matrice2_II,FU)));
DEFV(Common,DEFV(Float,SINT(IFq_homographique_dans_le_plan_hyper_image_____matrice2_IJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_homographique_dans_le_plan_hyper_image_____matrice2_IK,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFq_homographique_dans_le_plan_hyper_image_____composante_J,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_homographique_dans_le_plan_hyper_image_____composante_K,FZERO)));

DEFV(Common,DEFV(FonctionF,POINTERF(IFq_homographique_dans_le_plan_hyper_image(imageR,ARGUMENT_POINTERs(R_translation)
                                                                              ,facteur_multiplicatif
                                                                              ,imageA,ARGUMENT_POINTERs(A_translation)
                                                                              ,ARGUMENT_POINTERs(nombre_A),ARGUMENT_POINTERs(nombre_B)
                                                                              ,ARGUMENT_POINTERs(nombre_C),ARGUMENT_POINTERs(nombre_D)
                                                                               )
                                    )
                 )
     )
                                        /* Fonction introduite le 20041228084443.                                                    */
DEFV(Argument,DEFV(imageF,imageR));
                                        /* Image resultat a generer.                                                                 */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(R_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de generation de 'imageR' ; on n'obliera pas que cette translation est                    */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(Float,facteur_multiplicatif));
                                        /* Facteur multiplicatif 'K' (une valeur de l'ordre de 0.01 donne de bons resultats).        */
DEFV(Argument,DEFV(imageF,imageA));
                                        /* Image argument.                                                                           */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(A_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de l'image 'imageA' ; on n'oubliera pas que cette translation est                         */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(hyper_complexe,POINTERs(nombre_A)));
DEFV(Argument,DEFV(hyper_complexe,POINTERs(nombre_B)));
DEFV(Argument,DEFV(hyper_complexe,POINTERs(nombre_C)));
DEFV(Argument,DEFV(hyper_complexe,POINTERs(nombre_D)));
                                        /* Definition des quatre coefficients complexes de la transformation homographique :         */
                                        /*                                                                                           */
                                        /*                   A.q + B                                                                 */
                                        /*                  ---------                                                                */
                                        /*                   C.q + D                                                                 */
                                        /*                                                                                           */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     /*..............................................................................................................................*/
     Q_HOMOGRAPHIQUE_DANS_LE_PLAN_HYPER_IMAGE(BLOC(storeF_point_loadF_point(imageA
                                                                           ,new_X
                                                                           ,new_Y
                                                                           ,imageR
                                                                           ,X
                                                                           ,Y
                                                                            );
                                                   )
                                              );
     RETIF(imageR);
     Eblock

EFonctionF

#undef    Q_HOMOGRAPHIQUE_DANS_LE_PLAN_HYPER_IMAGE

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        D E F I N I T I O N   D E   L A   T R A N S F O R M A T I O N   C O N F O R M E   H O M O G R A P H I Q U E                */
/*        E N   C O O R D O N N E E S   D U   P L A N   H Y P E R - C O M P L E X E   [0,1] x [0,1] x [0,1] x [0,1]  :               */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#define   Q_HOMOGRAPHIQUE_DANS_LE_PLAN_HYPER_COMPLEXE(action_de_rangement)                                                              \
                    Bblock                                                                                                              \
                    TRANSFORMATION_CONFORME_DANS_LE_PLAN_HYPER_COMPLEXE(BLOC(DEFV(hyper_complexe,point_manoeuvre_A);                    \
                                                                             DEFV(hyper_complexe,point_manoeuvre_B);                    \
                                                                             DEFV(hyper_complexe,point_manoeuvre_C);                    \
                                                                             DEFV(hyper_complexe,point_manoeuvre_D);                    \
                                        /* Nombres complexes intermediaires...                                                       */ \
                                                                             )                                                          \
                                                                       ,TOUJOURS_VRAI                                                   \
                                                                       ,BLOC(Q_HOMOGRAPHIQUE_DANS_PLANS_HYPER_IMAGE_OU_HYPER_COMPLEXE;) \
                                                                       ,BLOC(action_de_rangement)                                       \
                                                                        );                                                              \
                    Eblock                                                                                                              \
                                        /* Definition de la transformation conforme en coordonnees d'ecran [Xmin,Xmax]x[Ymin,Ymax].  */

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   C O N F O R M E   H O M O G R A P H I Q U E              */
/*        E N   C O O R D O N N E E S   D U   P L A N   H Y P E R - C O M P L E X E   [0,1] x [0,1] x [0,1] x [0,1]  :               */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

BFonctionP

DEFV(Common,DEFV(Float,SINT(Iq_homographique_dans_le_plan_hyper_complexe_____matrice1_RR,FU)));
DEFV(Common,DEFV(Float,SINT(Iq_homographique_dans_le_plan_hyper_complexe_____matrice1_RI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_homographique_dans_le_plan_hyper_complexe_____matrice1_RJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_homographique_dans_le_plan_hyper_complexe_____matrice1_RK,FZERO)));

DEFV(Common,DEFV(Float,SINT(Iq_homographique_dans_le_plan_hyper_complexe_____matrice1_IR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_homographique_dans_le_plan_hyper_complexe_____matrice1_II,FU)));
DEFV(Common,DEFV(Float,SINT(Iq_homographique_dans_le_plan_hyper_complexe_____matrice1_IJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_homographique_dans_le_plan_hyper_complexe_____matrice1_IK,FZERO)));

DEFV(Common,DEFV(Float,SINT(Iq_homographique_dans_le_plan_hyper_complexe_____matrice1_JR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_homographique_dans_le_plan_hyper_complexe_____matrice1_JI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_homographique_dans_le_plan_hyper_complexe_____matrice1_JJ,FU)));
DEFV(Common,DEFV(Float,SINT(Iq_homographique_dans_le_plan_hyper_complexe_____matrice1_JK,FZERO)));

DEFV(Common,DEFV(Float,SINT(Iq_homographique_dans_le_plan_hyper_complexe_____matrice1_KR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_homographique_dans_le_plan_hyper_complexe_____matrice1_KI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_homographique_dans_le_plan_hyper_complexe_____matrice1_KJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_homographique_dans_le_plan_hyper_complexe_____matrice1_KK,FU)));

DEFV(Common,DEFV(Float,SINT(Iq_homographique_dans_le_plan_hyper_complexe_____matrice2_RR,FU)));
DEFV(Common,DEFV(Float,SINT(Iq_homographique_dans_le_plan_hyper_complexe_____matrice2_RI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_homographique_dans_le_plan_hyper_complexe_____matrice2_RJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_homographique_dans_le_plan_hyper_complexe_____matrice2_RK,FZERO)));

DEFV(Common,DEFV(Float,SINT(Iq_homographique_dans_le_plan_hyper_complexe_____matrice2_IR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_homographique_dans_le_plan_hyper_complexe_____matrice2_II,FU)));
DEFV(Common,DEFV(Float,SINT(Iq_homographique_dans_le_plan_hyper_complexe_____matrice2_IJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_homographique_dans_le_plan_hyper_complexe_____matrice2_IK,FZERO)));

DEFV(Common,DEFV(Float,SINT(Iq_homographique_dans_le_plan_hyper_complexe_____composante_J,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_homographique_dans_le_plan_hyper_complexe_____composante_K,FZERO)));

DEFV(Common,DEFV(FonctionP,POINTERp(Iq_homographique_dans_le_plan_hyper_complexe(imageR,ARGUMENT_POINTERs(R_translation)
                                                                                ,facteur_multiplicatif
                                                                                ,imageA,ARGUMENT_POINTERs(A_translation)
                                                                                ,ARGUMENT_POINTERs(nombre_A)
                                                                                ,ARGUMENT_POINTERs(nombre_B)
                                                                                ,ARGUMENT_POINTERs(nombre_C)
                                                                                ,ARGUMENT_POINTERs(nombre_D)
                                                                                 )
                                    )
                 )
     )
DEFV(Argument,DEFV(image,imageR));
                                        /* Image resultat a generer.                                                                 */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(R_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de generation de 'imageR' ; on n'obliera pas que cette translation est                    */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(Float,facteur_multiplicatif));
                                        /* Facteur multiplicatif 'K' (une valeur de l'ordre de 5.0 donne de bons resultats) ; voir   */
                                        /* a ce propos les commentaires de 'v $xci/z_homogra.01$K'...                                */
DEFV(Argument,DEFV(image,imageA));
                                        /* Image argument.                                                                           */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(A_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de l'image 'imageA' ; on n'oubliera pas que cette translation est                         */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(hyper_complexe,POINTERs(nombre_A)));
DEFV(Argument,DEFV(hyper_complexe,POINTERs(nombre_B)));
DEFV(Argument,DEFV(hyper_complexe,POINTERs(nombre_C)));
DEFV(Argument,DEFV(hyper_complexe,POINTERs(nombre_D)));
                                        /* Definition des quatre coefficients complexes de la transformation homographique :         */
                                        /*                                                                                           */
                                        /*                   A.q + B                                                                 */
                                        /*                  ---------                                                                */
                                        /*                   C.q + D                                                                 */
                                        /*                                                                                           */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     /*..............................................................................................................................*/
     Q_HOMOGRAPHIQUE_DANS_LE_PLAN_HYPER_COMPLEXE(BLOC(store_point_load_point(imageA
                                                                            ,fV_cDENORMALISE_OX(new_X)
                                                                            ,fV_cDENORMALISE_OY(new_Y)
                                                                            ,imageR
                                                                            ,X
                                                                            ,Y
                                                                             );
                                                      )
                                                 );
     RETI(imageR);
     Eblock

EFonctionP

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   C O N F O R M E   H O M O G R A P H I Q U E              */
/*        E N   C O O R D O N N E E S   D U   P L A N   H Y P E R - C O M P L E X E   [0,1] x [0,1] x [0,1] x [0,1]  :               */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

BFonctionF

DEFV(Common,DEFV(Float,SINT(IFq_homographique_dans_le_plan_hyper_complexe_____matrice1_RR,FU)));
DEFV(Common,DEFV(Float,SINT(IFq_homographique_dans_le_plan_hyper_complexe_____matrice1_RI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_homographique_dans_le_plan_hyper_complexe_____matrice1_RJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_homographique_dans_le_plan_hyper_complexe_____matrice1_RK,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFq_homographique_dans_le_plan_hyper_complexe_____matrice1_IR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_homographique_dans_le_plan_hyper_complexe_____matrice1_II,FU)));
DEFV(Common,DEFV(Float,SINT(IFq_homographique_dans_le_plan_hyper_complexe_____matrice1_IJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_homographique_dans_le_plan_hyper_complexe_____matrice1_IK,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFq_homographique_dans_le_plan_hyper_complexe_____matrice1_JR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_homographique_dans_le_plan_hyper_complexe_____matrice1_JI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_homographique_dans_le_plan_hyper_complexe_____matrice1_JJ,FU)));
DEFV(Common,DEFV(Float,SINT(IFq_homographique_dans_le_plan_hyper_complexe_____matrice1_JK,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFq_homographique_dans_le_plan_hyper_complexe_____matrice1_KR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_homographique_dans_le_plan_hyper_complexe_____matrice1_KI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_homographique_dans_le_plan_hyper_complexe_____matrice1_KJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_homographique_dans_le_plan_hyper_complexe_____matrice1_KK,FU)));

DEFV(Common,DEFV(Float,SINT(IFq_homographique_dans_le_plan_hyper_complexe_____matrice2_RR,FU)));
DEFV(Common,DEFV(Float,SINT(IFq_homographique_dans_le_plan_hyper_complexe_____matrice2_RI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_homographique_dans_le_plan_hyper_complexe_____matrice2_RJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_homographique_dans_le_plan_hyper_complexe_____matrice2_RK,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFq_homographique_dans_le_plan_hyper_complexe_____matrice2_IR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_homographique_dans_le_plan_hyper_complexe_____matrice2_II,FU)));
DEFV(Common,DEFV(Float,SINT(IFq_homographique_dans_le_plan_hyper_complexe_____matrice2_IJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_homographique_dans_le_plan_hyper_complexe_____matrice2_IK,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFq_homographique_dans_le_plan_hyper_complexe_____composante_J,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_homographique_dans_le_plan_hyper_complexe_____composante_K,FZERO)));

DEFV(Common,DEFV(FonctionF,POINTERF(IFq_homographique_dans_le_plan_hyper_complexe(imageR,ARGUMENT_POINTERs(R_translation)
                                                                                 ,facteur_multiplicatif
                                                                                 ,imageA,ARGUMENT_POINTERs(A_translation)
                                                                                 ,ARGUMENT_POINTERs(nombre_A)
                                                                                 ,ARGUMENT_POINTERs(nombre_B)
                                                                                 ,ARGUMENT_POINTERs(nombre_C)
                                                                                 ,ARGUMENT_POINTERs(nombre_D)
                                                                                  )
                                    )
                 )
     )
                                        /* Fonction introduite le 20041228084443.                                                    */
DEFV(Argument,DEFV(imageF,imageR));
                                        /* Image resultat a generer.                                                                 */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(R_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de generation de 'imageR' ; on n'obliera pas que cette translation est                    */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(Float,facteur_multiplicatif));
                                        /* Facteur multiplicatif 'K' (une valeur de l'ordre de 5.0 donne de bons resultats) ; voir   */
                                        /* a ce propos les commentaires de 'v $xci/z_homogra.01$K'...                                */
DEFV(Argument,DEFV(imageF,imageA));
                                        /* Image argument.                                                                           */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(A_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de l'image 'imageA' ; on n'oubliera pas que cette translation est                         */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(hyper_complexe,POINTERs(nombre_A)));
DEFV(Argument,DEFV(hyper_complexe,POINTERs(nombre_B)));
DEFV(Argument,DEFV(hyper_complexe,POINTERs(nombre_C)));
DEFV(Argument,DEFV(hyper_complexe,POINTERs(nombre_D)));
                                        /* Definition des quatre coefficients complexes de la transformation homographique :         */
                                        /*                                                                                           */
                                        /*                   A.q + B                                                                 */
                                        /*                  ---------                                                                */
                                        /*                   C.q + D                                                                 */
                                        /*                                                                                           */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     /*..............................................................................................................................*/
     Q_HOMOGRAPHIQUE_DANS_LE_PLAN_HYPER_COMPLEXE(BLOC(storeF_point_loadF_point(imageA
                                                                              ,fV_cDENORMALISE_OX(new_X)
                                                                              ,fV_cDENORMALISE_OY(new_Y)
                                                                              ,imageR
                                                                              ,X
                                                                              ,Y
                                                                               );
                                                      )
                                                 );
     RETIF(imageR);
     Eblock

EFonctionF

#undef    Q_HOMOGRAPHIQUE_DANS_LE_PLAN_HYPER_COMPLEXE

#undef    Q_HOMOGRAPHIQUE_DANS_PLANS_HYPER_IMAGE_OU_HYPER_COMPLEXE

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   G E N E R A L I S E E  :   */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#define   Q_HYPERBOLIQUE_1_DANS_PLANS_HYPER_IMAGE_OU_HYPER_COMPLEXE                                                                     \
                    Bblock                                                                                                              \
                    DEFV(hyper_complexe_etendu,point_courant_etendu);                                                                   \
                    DEFV(hyper_complexe_etendu,point_manoeuvre_etendu);                                                                 \
                                                                                                                                        \
                    HCextension_directe(point_courant_etendu,point_courant);                                                            \
                                                                                                                                        \
                    EGAL(HCHS_Rho(point_manoeuvre_etendu)                                                                               \
                        ,FfABSO(LIN2(NomDeLaFonctionCourante QD@@__ _____ponderation_TAHX                                               \
                                    ,TAHX(AXPB(NomDeLaFonctionCourante QD@@__ _____A_TAHX_du_module                                     \
                                              ,HCHS_Rho(point_courant_etendu)                                                           \
                                              ,NomDeLaFonctionCourante QD@@__ _____B_TAHX_du_module                                     \
                                               )                                                                                        \
                                          )                                                                                             \
                                    ,NomDeLaFonctionCourante QD@@__ _____ponderation_SINX                                               \
                                    ,SINX(AXPB(NomDeLaFonctionCourante QD@@__ _____A_SINX_du_module                                     \
                                              ,HCHS_Rho(point_courant_etendu)                                                           \
                                              ,NomDeLaFonctionCourante QD@@__ _____B_SINX_du_module                                     \
                                               )                                                                                        \
                                          )                                                                                             \
                                    ,NomDeLaFonctionCourante QD@@__ _____translation_du_module                                          \
                                     )                                                                                                  \
                                )                                                                                                       \
                         );                                                                                                             \
                                        /* Par l'usage de 'TAHX(...)', le module de 'point_courant_etendu', quelle que soit sa       */ \
                                        /* valeur, est ramene dans [0,1['...                                                         */ \
                                        /*                                                                                           */ \
                                        /* Le 20111230170628 la fonction 'FfABSO(...)' fut introduite car, en effet, un module       */ \
                                        /* ne peut etre que positif ou nul...                                                        */ \
                    EGAL(HCHS_Theta(point_manoeuvre_etendu),NEUT(HCHS_Theta(point_courant_etendu)));                                    \
                    EGAL(HCHS_Phi(point_manoeuvre_etendu),NEUT(HCHS_Phi(point_courant_etendu)));                                        \
                    EGAL(HCHS_Alpha(point_manoeuvre_etendu),NEUT(HCHS_Alpha(point_courant_etendu)));                                    \
                                                                                                                                        \
                    HCextension_inverse(point_manoeuvre,point_manoeuvre_etendu);                                                        \
                    Eblock                                                                                                              \
                                        /* Definition generale de la transformation 'q' hyperbolique dans les plans image ou         */ \
                                        /* complexe (introduite le 20111229172827).                                                  */

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        D E F I N I 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   G E N E R A L I S E E        */
/*        E N   C O O R D O N N E E S   D ' E C R A N   [Xmin,Xmax] x [Ymin,Ymax]  :                                                 */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#define   Q_HYPERBOLIQUE_1_DANS_LE_PLAN_HYPER_IMAGE(action_de_rangement)                                                                \
                    Bblock                                                                                                              \
                    TRANSFORMATION_CONFORME_DANS_LE_PLAN_HYPER_IMAGE(BLOC(VIDE;)                                                        \
                                                                    ,TOUJOURS_VRAI                                                      \
                                                                    ,BLOC(Q_HYPERBOLIQUE_1_DANS_PLANS_HYPER_IMAGE_OU_HYPER_COMPLEXE;)   \
                                                                    ,BLOC(action_de_rangement)                                          \
                                                                    ,MUL2(facteur_multiplicatif,NEUT(facteur_correctif))                \
                                                                     );                                                                 \
                    Eblock                                                                                                              \
                                        /* Definition de la transformation en coordonnees d'ecran [Xmin,Xmax]x[Ymin,Ymax].           */

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   G E N E R A L I S E E      */
/*        E N   C O O R D O N N E E S   D ' E C R A N   [Xmin,Xmax] x [Ymin,Ymax]  :                                                 */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

BFonctionP

DEFV(Common,DEFV(Float,SINT(Iq_hyperbolique_1_dans_le_plan_hyper_image_____matrice1_RR,FU)));
DEFV(Common,DEFV(Float,SINT(Iq_hyperbolique_1_dans_le_plan_hyper_image_____matrice1_RI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_hyperbolique_1_dans_le_plan_hyper_image_____matrice1_RJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_hyperbolique_1_dans_le_plan_hyper_image_____matrice1_RK,FZERO)));

DEFV(Common,DEFV(Float,SINT(Iq_hyperbolique_1_dans_le_plan_hyper_image_____matrice1_IR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_hyperbolique_1_dans_le_plan_hyper_image_____matrice1_II,FU)));
DEFV(Common,DEFV(Float,SINT(Iq_hyperbolique_1_dans_le_plan_hyper_image_____matrice1_IJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_hyperbolique_1_dans_le_plan_hyper_image_____matrice1_IK,FZERO)));

DEFV(Common,DEFV(Float,SINT(Iq_hyperbolique_1_dans_le_plan_hyper_image_____matrice1_JR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_hyperbolique_1_dans_le_plan_hyper_image_____matrice1_JI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_hyperbolique_1_dans_le_plan_hyper_image_____matrice1_JJ,FU)));
DEFV(Common,DEFV(Float,SINT(Iq_hyperbolique_1_dans_le_plan_hyper_image_____matrice1_JK,FZERO)));

DEFV(Common,DEFV(Float,SINT(Iq_hyperbolique_1_dans_le_plan_hyper_image_____matrice1_KR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_hyperbolique_1_dans_le_plan_hyper_image_____matrice1_KI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_hyperbolique_1_dans_le_plan_hyper_image_____matrice1_KJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_hyperbolique_1_dans_le_plan_hyper_image_____matrice1_KK,FU)));

DEFV(Common,DEFV(Float,SINT(Iq_hyperbolique_1_dans_le_plan_hyper_image_____matrice2_RR,FU)));
DEFV(Common,DEFV(Float,SINT(Iq_hyperbolique_1_dans_le_plan_hyper_image_____matrice2_RI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_hyperbolique_1_dans_le_plan_hyper_image_____matrice2_RJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_hyperbolique_1_dans_le_plan_hyper_image_____matrice2_RK,FZERO)));

DEFV(Common,DEFV(Float,SINT(Iq_hyperbolique_1_dans_le_plan_hyper_image_____matrice2_IR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_hyperbolique_1_dans_le_plan_hyper_image_____matrice2_II,FU)));
DEFV(Common,DEFV(Float,SINT(Iq_hyperbolique_1_dans_le_plan_hyper_image_____matrice2_IJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_hyperbolique_1_dans_le_plan_hyper_image_____matrice2_IK,FZERO)));

DEFV(Common,DEFV(Float,SINT(Iq_hyperbolique_1_dans_le_plan_hyper_image_____composante_J,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_hyperbolique_1_dans_le_plan_hyper_image_____composante_K,FZERO)));

DEFV(Common,DEFV(Float,SINT(Iq_hyperbolique_1_dans_le_plan_hyper_image_____ponderation_TAHX,FU)));
DEFV(Common,DEFV(Float,SINT(Iq_hyperbolique_1_dans_le_plan_hyper_image_____A_TAHX_du_module,FU)));
DEFV(Common,DEFV(Float,SINT(Iq_hyperbolique_1_dans_le_plan_hyper_image_____B_TAHX_du_module,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_hyperbolique_1_dans_le_plan_hyper_image_____ponderation_SINX,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_hyperbolique_1_dans_le_plan_hyper_image_____A_SINX_du_module,FU)));
DEFV(Common,DEFV(Float,SINT(Iq_hyperbolique_1_dans_le_plan_hyper_image_____B_SINX_du_module,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_hyperbolique_1_dans_le_plan_hyper_image_____translation_du_module,FZERO)));

DEFV(Common,DEFV(FonctionP,POINTERp(Iq_hyperbolique_1_dans_le_plan_hyper_image(imageR,ARGUMENT_POINTERs(R_translation)
                                                                              ,facteur_multiplicatif
                                                                              ,imageA,ARGUMENT_POINTERs(A_translation)
                                                                               )
                                    )
                 )
     )
                                        /* Fonction introduite le 20111229172827.                                                    */
DEFV(Argument,DEFV(image,imageR));
                                        /* Image resultat a generer.                                                                 */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(R_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de generation de 'imageR' ; on n'obliera pas que cette translation est                    */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(Float,facteur_multiplicatif));
                                        /* Facteur multiplicatif 'K' (une valeur de l'ordre de 0.01 donne de bons resultats).        */
DEFV(Argument,DEFV(image,imageA));
                                        /* Image argument.                                                                           */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(A_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de l'image 'imageA' ; on n'oubliera pas que cette translation est                         */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     /*..............................................................................................................................*/
     Q_HYPERBOLIQUE_1_DANS_LE_PLAN_HYPER_IMAGE(BLOC(store_point_load_point(imageA
                                                                          ,new_X
                                                                          ,new_Y
                                                                          ,imageR
                                                                          ,X
                                                                          ,Y
                                                                           );
                                                    )
                                               );
     RETI(imageR);
     Eblock

EFonctionP

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   G E N E R A L I S E E      */
/*        E N   C O O R D O N N E E S   D ' E C R A N   [Xmin,Xmax] x [Ymin,Ymax]  :                                                 */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

BFonctionF

DEFV(Common,DEFV(Float,SINT(IFq_hyperbolique_1_dans_le_plan_hyper_image_____matrice1_RR,FU)));
DEFV(Common,DEFV(Float,SINT(IFq_hyperbolique_1_dans_le_plan_hyper_image_____matrice1_RI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_hyperbolique_1_dans_le_plan_hyper_image_____matrice1_RJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_hyperbolique_1_dans_le_plan_hyper_image_____matrice1_RK,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFq_hyperbolique_1_dans_le_plan_hyper_image_____matrice1_IR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_hyperbolique_1_dans_le_plan_hyper_image_____matrice1_II,FU)));
DEFV(Common,DEFV(Float,SINT(IFq_hyperbolique_1_dans_le_plan_hyper_image_____matrice1_IJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_hyperbolique_1_dans_le_plan_hyper_image_____matrice1_IK,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFq_hyperbolique_1_dans_le_plan_hyper_image_____matrice1_JR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_hyperbolique_1_dans_le_plan_hyper_image_____matrice1_JI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_hyperbolique_1_dans_le_plan_hyper_image_____matrice1_JJ,FU)));
DEFV(Common,DEFV(Float,SINT(IFq_hyperbolique_1_dans_le_plan_hyper_image_____matrice1_JK,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFq_hyperbolique_1_dans_le_plan_hyper_image_____matrice1_KR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_hyperbolique_1_dans_le_plan_hyper_image_____matrice1_KI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_hyperbolique_1_dans_le_plan_hyper_image_____matrice1_KJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_hyperbolique_1_dans_le_plan_hyper_image_____matrice1_KK,FU)));

DEFV(Common,DEFV(Float,SINT(IFq_hyperbolique_1_dans_le_plan_hyper_image_____matrice2_RR,FU)));
DEFV(Common,DEFV(Float,SINT(IFq_hyperbolique_1_dans_le_plan_hyper_image_____matrice2_RI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_hyperbolique_1_dans_le_plan_hyper_image_____matrice2_RJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_hyperbolique_1_dans_le_plan_hyper_image_____matrice2_RK,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFq_hyperbolique_1_dans_le_plan_hyper_image_____matrice2_IR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_hyperbolique_1_dans_le_plan_hyper_image_____matrice2_II,FU)));
DEFV(Common,DEFV(Float,SINT(IFq_hyperbolique_1_dans_le_plan_hyper_image_____matrice2_IJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_hyperbolique_1_dans_le_plan_hyper_image_____matrice2_IK,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFq_hyperbolique_1_dans_le_plan_hyper_image_____composante_J,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_hyperbolique_1_dans_le_plan_hyper_image_____composante_K,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFq_hyperbolique_1_dans_le_plan_hyper_image_____ponderation_TAHX,FU)));
DEFV(Common,DEFV(Float,SINT(IFq_hyperbolique_1_dans_le_plan_hyper_image_____A_TAHX_du_module,FU)));
DEFV(Common,DEFV(Float,SINT(IFq_hyperbolique_1_dans_le_plan_hyper_image_____B_TAHX_du_module,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_hyperbolique_1_dans_le_plan_hyper_image_____ponderation_SINX,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_hyperbolique_1_dans_le_plan_hyper_image_____A_SINX_du_module,FU)));
DEFV(Common,DEFV(Float,SINT(IFq_hyperbolique_1_dans_le_plan_hyper_image_____B_SINX_du_module,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_hyperbolique_1_dans_le_plan_hyper_image_____translation_du_module,FZERO)));

DEFV(Common,DEFV(FonctionF,POINTERF(IFq_hyperbolique_1_dans_le_plan_hyper_image(imageR,ARGUMENT_POINTERs(R_translation)
                                                                               ,facteur_multiplicatif
                                                                               ,imageA,ARGUMENT_POINTERs(A_translation)
                                                                                )
                                    )
                 )
     )
                                        /* Fonction introduite le 20111229172827.                                                    */
DEFV(Argument,DEFV(imageF,imageR));
                                        /* Image resultat a generer.                                                                 */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(R_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de generation de 'imageR' ; on n'obliera pas que cette translation est                    */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(Float,facteur_multiplicatif));
                                        /* Facteur multiplicatif 'K' (une valeur de l'ordre de 0.01 donne de bons resultats).        */
DEFV(Argument,DEFV(imageF,imageA));
                                        /* Image argument.                                                                           */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(A_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de l'image 'imageA' ; on n'oubliera pas que cette translation est                         */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     /*..............................................................................................................................*/
     Q_HYPERBOLIQUE_1_DANS_LE_PLAN_HYPER_IMAGE(BLOC(storeF_point_loadF_point(imageA
                                                                            ,new_X
                                                                            ,new_Y
                                                                            ,imageR
                                                                            ,X
                                                                            ,Y
                                                                             );
                                                    )
                                               );
     RETIF(imageR);
     Eblock

EFonctionF

#undef    Q_HYPERBOLIQUE_1_DANS_LE_PLAN_HYPER_IMAGE

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        D E F I N I 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   G E N E R A L I S E E        */
/*        E N   C O O R D O N N E E S   D U   P L A N   C O M P L E X E   [0,1] x [0,1]  :                                           */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#define   Q_HYPERBOLIQUE_1_DANS_LE_PLAN_HYPER_COMPLEXE(action_de_rangement)                                                             \
                    Bblock                                                                                                              \
                    TRANSFORMATION_CONFORME_DANS_LE_PLAN_HYPER_COMPLEXE                                                                 \
                        (BLOC(VIDE;)                                                                                                    \
                        ,TOUJOURS_VRAI                                                                                                  \
                        ,BLOC(Q_HYPERBOLIQUE_1_DANS_PLANS_HYPER_IMAGE_OU_HYPER_COMPLEXE;)                                               \
                        ,BLOC(action_de_rangement)                                                                                      \
                         );                                                                                                             \
                    Eblock                                                                                                              \
                                        /* Definition de la transformation en coordonnees d'ecran [Xmin,Xmax]x[Ymin,Ymax].           */

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   G E N E R A L I S E E      */
/*        E N   C O O R D O N N E E S   D U   P L A N   C O M P L E X E   [0,1] x [0,1]  :                                           */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

BFonctionP

DEFV(Common,DEFV(Float,SINT(Iq_hyperbolique_1_dans_le_plan_hyper_complexe_____matrice1_RR,FU)));
DEFV(Common,DEFV(Float,SINT(Iq_hyperbolique_1_dans_le_plan_hyper_complexe_____matrice1_RI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_hyperbolique_1_dans_le_plan_hyper_complexe_____matrice1_RJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_hyperbolique_1_dans_le_plan_hyper_complexe_____matrice1_RK,FZERO)));

DEFV(Common,DEFV(Float,SINT(Iq_hyperbolique_1_dans_le_plan_hyper_complexe_____matrice1_IR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_hyperbolique_1_dans_le_plan_hyper_complexe_____matrice1_II,FU)));
DEFV(Common,DEFV(Float,SINT(Iq_hyperbolique_1_dans_le_plan_hyper_complexe_____matrice1_IJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_hyperbolique_1_dans_le_plan_hyper_complexe_____matrice1_IK,FZERO)));

DEFV(Common,DEFV(Float,SINT(Iq_hyperbolique_1_dans_le_plan_hyper_complexe_____matrice1_JR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_hyperbolique_1_dans_le_plan_hyper_complexe_____matrice1_JI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_hyperbolique_1_dans_le_plan_hyper_complexe_____matrice1_JJ,FU)));
DEFV(Common,DEFV(Float,SINT(Iq_hyperbolique_1_dans_le_plan_hyper_complexe_____matrice1_JK,FZERO)));

DEFV(Common,DEFV(Float,SINT(Iq_hyperbolique_1_dans_le_plan_hyper_complexe_____matrice1_KR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_hyperbolique_1_dans_le_plan_hyper_complexe_____matrice1_KI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_hyperbolique_1_dans_le_plan_hyper_complexe_____matrice1_KJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_hyperbolique_1_dans_le_plan_hyper_complexe_____matrice1_KK,FU)));

DEFV(Common,DEFV(Float,SINT(Iq_hyperbolique_1_dans_le_plan_hyper_complexe_____matrice2_RR,FU)));
DEFV(Common,DEFV(Float,SINT(Iq_hyperbolique_1_dans_le_plan_hyper_complexe_____matrice2_RI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_hyperbolique_1_dans_le_plan_hyper_complexe_____matrice2_RJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_hyperbolique_1_dans_le_plan_hyper_complexe_____matrice2_RK,FZERO)));

DEFV(Common,DEFV(Float,SINT(Iq_hyperbolique_1_dans_le_plan_hyper_complexe_____matrice2_IR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_hyperbolique_1_dans_le_plan_hyper_complexe_____matrice2_II,FU)));
DEFV(Common,DEFV(Float,SINT(Iq_hyperbolique_1_dans_le_plan_hyper_complexe_____matrice2_IJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_hyperbolique_1_dans_le_plan_hyper_complexe_____matrice2_IK,FZERO)));

DEFV(Common,DEFV(Float,SINT(Iq_hyperbolique_1_dans_le_plan_hyper_complexe_____composante_J,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_hyperbolique_1_dans_le_plan_hyper_complexe_____composante_K,FZERO)));

DEFV(Common,DEFV(Float,SINT(Iq_hyperbolique_1_dans_le_plan_hyper_complexe_____ponderation_TAHX,FU)));
DEFV(Common,DEFV(Float,SINT(Iq_hyperbolique_1_dans_le_plan_hyper_complexe_____A_TAHX_du_module,FU)));
DEFV(Common,DEFV(Float,SINT(Iq_hyperbolique_1_dans_le_plan_hyper_complexe_____B_TAHX_du_module,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_hyperbolique_1_dans_le_plan_hyper_complexe_____ponderation_SINX,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_hyperbolique_1_dans_le_plan_hyper_complexe_____A_SINX_du_module,FU)));
DEFV(Common,DEFV(Float,SINT(Iq_hyperbolique_1_dans_le_plan_hyper_complexe_____B_SINX_du_module,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iq_hyperbolique_1_dans_le_plan_hyper_complexe_____translation_du_module,FZERO)));

DEFV(Common,DEFV(FonctionP,POINTERp(Iq_hyperbolique_1_dans_le_plan_hyper_complexe(imageR,ARGUMENT_POINTERs(R_translation)
                                                                                 ,facteur_multiplicatif
                                                                                 ,imageA,ARGUMENT_POINTERs(A_translation)
                                                                                  )
                                    )
                 )
     )
                                        /* Fonction introduite le 20111229172827.                                                    */
DEFV(Argument,DEFV(image,imageR));
                                        /* Image resultat a generer.                                                                 */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(R_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de generation de 'imageR' ; on n'obliera pas que cette translation est                    */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(Float,facteur_multiplicatif));
                                        /* Facteur multiplicatif 'K'.                                                                */
DEFV(Argument,DEFV(image,imageA));
                                        /* Image argument.                                                                           */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(A_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de l'image 'imageA' ; on n'oubliera pas que cette translation est                         */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     /*..............................................................................................................................*/
     Q_HYPERBOLIQUE_1_DANS_LE_PLAN_HYPER_COMPLEXE(BLOC(store_point_load_point(imageA
                                                                             ,fV_cDENORMALISE_OX(new_X)
                                                                             ,fV_cDENORMALISE_OY(new_Y)
                                                                             ,imageR
                                                                             ,X
                                                                             ,Y
                                                                              );
                                                       )
                                                  );
     RETI(imageR);
     Eblock

EFonctionP

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   G E N E R A L I S E E      */
/*        E N   C O O R D O N N E E S   D U   P L A N   C O M P L E X E   [0,1] x [0,1]  :                                           */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

BFonctionF

DEFV(Common,DEFV(Float,SINT(IFq_hyperbolique_1_dans_le_plan_hyper_complexe_____matrice1_RR,FU)));
DEFV(Common,DEFV(Float,SINT(IFq_hyperbolique_1_dans_le_plan_hyper_complexe_____matrice1_RI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_hyperbolique_1_dans_le_plan_hyper_complexe_____matrice1_RJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_hyperbolique_1_dans_le_plan_hyper_complexe_____matrice1_RK,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFq_hyperbolique_1_dans_le_plan_hyper_complexe_____matrice1_IR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_hyperbolique_1_dans_le_plan_hyper_complexe_____matrice1_II,FU)));
DEFV(Common,DEFV(Float,SINT(IFq_hyperbolique_1_dans_le_plan_hyper_complexe_____matrice1_IJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_hyperbolique_1_dans_le_plan_hyper_complexe_____matrice1_IK,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFq_hyperbolique_1_dans_le_plan_hyper_complexe_____matrice1_JR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_hyperbolique_1_dans_le_plan_hyper_complexe_____matrice1_JI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_hyperbolique_1_dans_le_plan_hyper_complexe_____matrice1_JJ,FU)));
DEFV(Common,DEFV(Float,SINT(IFq_hyperbolique_1_dans_le_plan_hyper_complexe_____matrice1_JK,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFq_hyperbolique_1_dans_le_plan_hyper_complexe_____matrice1_KR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_hyperbolique_1_dans_le_plan_hyper_complexe_____matrice1_KI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_hyperbolique_1_dans_le_plan_hyper_complexe_____matrice1_KJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_hyperbolique_1_dans_le_plan_hyper_complexe_____matrice1_KK,FU)));

DEFV(Common,DEFV(Float,SINT(IFq_hyperbolique_1_dans_le_plan_hyper_complexe_____matrice2_RR,FU)));
DEFV(Common,DEFV(Float,SINT(IFq_hyperbolique_1_dans_le_plan_hyper_complexe_____matrice2_RI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_hyperbolique_1_dans_le_plan_hyper_complexe_____matrice2_RJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_hyperbolique_1_dans_le_plan_hyper_complexe_____matrice2_RK,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFq_hyperbolique_1_dans_le_plan_hyper_complexe_____matrice2_IR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_hyperbolique_1_dans_le_plan_hyper_complexe_____matrice2_II,FU)));
DEFV(Common,DEFV(Float,SINT(IFq_hyperbolique_1_dans_le_plan_hyper_complexe_____matrice2_IJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_hyperbolique_1_dans_le_plan_hyper_complexe_____matrice2_IK,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFq_hyperbolique_1_dans_le_plan_hyper_complexe_____composante_J,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_hyperbolique_1_dans_le_plan_hyper_complexe_____composante_K,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFq_hyperbolique_1_dans_le_plan_hyper_complexe_____ponderation_TAHX,FU)));
DEFV(Common,DEFV(Float,SINT(IFq_hyperbolique_1_dans_le_plan_hyper_complexe_____A_TAHX_du_module,FU)));
DEFV(Common,DEFV(Float,SINT(IFq_hyperbolique_1_dans_le_plan_hyper_complexe_____B_TAHX_du_module,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_hyperbolique_1_dans_le_plan_hyper_complexe_____ponderation_SINX,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_hyperbolique_1_dans_le_plan_hyper_complexe_____A_SINX_du_module,FU)));
DEFV(Common,DEFV(Float,SINT(IFq_hyperbolique_1_dans_le_plan_hyper_complexe_____B_SINX_du_module,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFq_hyperbolique_1_dans_le_plan_hyper_complexe_____translation_du_module,FZERO)));

DEFV(Common,DEFV(FonctionF,POINTERF(IFq_hyperbolique_1_dans_le_plan_hyper_complexe(imageR,ARGUMENT_POINTERs(R_translation)
                                                                                  ,facteur_multiplicatif
                                                                                  ,imageA,ARGUMENT_POINTERs(A_translation)
                                                                                   )
                                    )
                 )
     )
                                        /* Fonction introduite le 20111229172827.                                                    */
DEFV(Argument,DEFV(imageF,imageR));
                                        /* Image resultat a generer.                                                                 */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(R_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de generation de 'imageR' ; on n'obliera pas que cette translation est                    */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(Float,facteur_multiplicatif));
                                        /* Facteur multiplicatif 'K'.                                                                */
DEFV(Argument,DEFV(imageF,imageA));
                                        /* Image argument.                                                                           */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(A_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de l'image 'imageA' ; on n'oubliera pas que cette translation est                         */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     /*..............................................................................................................................*/
     Q_HYPERBOLIQUE_1_DANS_LE_PLAN_HYPER_COMPLEXE(BLOC(storeF_point_loadF_point(imageA
                                                                               ,fV_cDENORMALISE_OX(new_X)
                                                                               ,fV_cDENORMALISE_OY(new_Y)
                                                                               ,imageR
                                                                               ,X
                                                                               ,Y
                                                                                );
                                                       )
                                                  );
     RETIF(imageR);
     Eblock

EFonctionF

#undef    Q_HYPERBOLIQUE_1_DANS_LE_PLAN_HYPER_COMPLEXE

#undef    Q_HYPERBOLIQUE_1_DANS_PLANS_HYPER_IMAGE_OU_HYPER_COMPLEXE

#undef    TRANSFORMATION_CONFORME_DANS_LE_PLAN_HYPER_COMPLEXE
#undef    TRANSFORMATION_CONFORME_DANS_LE_PLAN_HYPER_IMAGE

#undef    NomFonctionCourant

#undef    A_translation__dX_____
#undef    A_translation__dY_____
#undef    R_translation__dX_____
#undef    R_translation__dY_____

_______________________________________________________________________________________________________________________________________
_______________________________________________________________________________________________________________________________________
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        C O N T R O L E   D E   L ' A R I T H M E T I Q U E   E T E N D U E                                                        */
/*        L O R S   D E   C A L C U L S   S U R   L E S   N O M B R E S   H Y P E R - H Y P E R - C O M P L E X E S  :               */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

#ifdef    FAIRE_EVENTUELLEMENT_DE_L_ARITHMETIQUE_ETENDUE_DANS_LES_NOMBRES_HYPER_HYPER_COMPLEXES
DEFV(Common,DEFV(Logical,_______VERSION__ximcf_conformes_____ARITHMETIQUE_ETENDUE_DANS_LES_NOMBRES_HYPER_HYPER_COMPLEXES));
#Aifdef   FAIRE_EVENTUELLEMENT_DE_L_ARITHMETIQUE_ETENDUE_DANS_LES_NOMBRES_HYPER_HYPER_COMPLEXES
DEFV(Common,DEFV(Logical,_______VERSION__ximcf_conformes_____ARITHMETIQUE_DE_BASE_DANS_LES_NOMBRES_HYPER_HYPER_COMPLEXES));
#Eifdef   FAIRE_EVENTUELLEMENT_DE_L_ARITHMETIQUE_ETENDUE_DANS_LES_NOMBRES_HYPER_HYPER_COMPLEXES

_______________________________________________________________________________________________________________________________________
_______________________________________________________________________________________________________________________________________
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        D E F I N I T I O N   G E N E R A L E   D E S   T R A N S F O R M A T I O N S   C O N F O R M E S                          */
/*        D A N S   L E S   P L A N S   H Y P E R - H Y P E R - I M A G E   E T   H Y P E R - H Y P E R - C O M P L E X E            */
/*        R E S P E C T I V E M E N T  :                                                                                             */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
DEFV(Common,DEFV(Int,ZINT(TRANSFORMATION_CONFORME_DANS_LE_PLAN_HYPER_HYPER_IMAGE_____Xmin_reference,k___Xmin)));
DEFV(Common,DEFV(Int,ZINT(TRANSFORMATION_CONFORME_DANS_LE_PLAN_HYPER_HYPER_IMAGE_____Xmax_reference,k___Xmax)));
DEFV(Common,DEFV(Int,ZINT(TRANSFORMATION_CONFORME_DANS_LE_PLAN_HYPER_HYPER_IMAGE_____Ymin_reference,k___Ymin)));
DEFV(Common,DEFV(Int,ZINT(TRANSFORMATION_CONFORME_DANS_LE_PLAN_HYPER_HYPER_IMAGE_____Ymax_reference,k___Ymax)));
                                        /* Definition d'un format d'image dit "reference" utilise pour calculer un facteur           */
                                        /* homothetique multiplicatif.                                                               */
                                        /*                                                                                           */
                                        /* ATTENTION : le format de reference est le format 'Std' et non pas le format 'Pal'...      */
                                        /*                                                                                           */
                                        /* ATTENTION : je note le 20170322102617 l'existence de six nouvelles variables dans         */
                                        /* 'v $xiii/Images$STR _reference.k___'. Mais celles-ci ne peuvent remplacer les quatre      */
                                        /* qui sont definies ci-dessus et ce pour de possibles problemes de compatibilite (au cas    */
                                        /* ou, par exemple, les variables 'v $xiii/Images$STR _reference.k___' passaient du format   */
                                        /* 'Std' au format 'Pal'...).                                                                */
DEFV(Common,DEFV(Logical,ZINT(TRANSFORMATION_CONFORME_DANS_LE_PLAN_HYPER_HYPER_IMAGE_____facteur_multiplicatif_homothetique,FAUX)));
                                        /* Afin de savoir s'il faut que les facteurs soient homothetiques...                         */

DEFV(Common,DEFV(Float,ZINT(TRANSFORMATION_CONFORME_DANS_LE_PLAN_HYPER_HYPER_COMPLEXE_____A_facteur_homothetie_X,FU)));
DEFV(Common,DEFV(Float,ZINT(TRANSFORMATION_CONFORME_DANS_LE_PLAN_HYPER_HYPER_COMPLEXE_____A_facteur_homothetie_Y,FU)));
                                        /* Parametres destines a 'TRANSFORMATION_CONFORME_DANS_LE_PLAN_HYPER_HYPER_COMPLEXE(...)'    */
                                        /* permettant de faire une homothetie sur le domaine de calcul (via 'point_courant') et      */
                                        /* introduits le 20120527183514...                                                           */

DEFV(Common,DEFV(Float,ZINT(TRANSFORMATION_CONFORME_DANS_LES_PLANS_HYPER_HYPER_____R_facteur_homothetie_X,FU)));
DEFV(Common,DEFV(Float,ZINT(TRANSFORMATION_CONFORME_DANS_LES_PLANS_HYPER_HYPER_____R_facteur_homothetie_Y,FU)));
                                        /* Parametres destines a faire une homothetie (via 'point_manoeuvre') introduits le          */
                                        /* 20120527184309...                                                                         */
#define   A_translation__dX_____                                                                                                        \
                    AXPB(TRANSFORMATION_CONFORME_DANS_LES_PLANS_HYPER_HYPER_____A_translation_AX                                        \
                        ,ASI1(A_translation,dx)                                                                                         \
                        ,TRANSFORMATION_CONFORME_DANS_LES_PLANS_HYPER_HYPER_____A_translation_BX                                        \
                         )
#define   A_translation__dY_____                                                                                                        \
                    AXPB(TRANSFORMATION_CONFORME_DANS_LES_PLANS_HYPER_HYPER_____A_translation_AY                                        \
                        ,ASI1(A_translation,dy)                                                                                         \
                        ,TRANSFORMATION_CONFORME_DANS_LES_PLANS_HYPER_HYPER_____A_translation_BY                                        \
                         )

DEFV(Common,DEFV(Float,ZINT(TRANSFORMATION_CONFORME_DANS_LES_PLANS_HYPER_HYPER_____A_translation_AX,FU)));
DEFV(Common,DEFV(Float,ZINT(TRANSFORMATION_CONFORME_DANS_LES_PLANS_HYPER_HYPER_____A_translation_BX,FZERO)));
DEFV(Common,DEFV(Float,ZINT(TRANSFORMATION_CONFORME_DANS_LES_PLANS_HYPER_HYPER_____A_translation_AY,FU)));
DEFV(Common,DEFV(Float,ZINT(TRANSFORMATION_CONFORME_DANS_LES_PLANS_HYPER_HYPER_____A_translation_BY,FZERO)));

#define   R_translation__dX_____                                                                                                        \
                    AXPB(TRANSFORMATION_CONFORME_DANS_LES_PLANS_HYPER_HYPER_____R_translation_AX                                        \
                        ,ASI1(R_translation,dx)                                                                                         \
                        ,TRANSFORMATION_CONFORME_DANS_LES_PLANS_HYPER_HYPER_____R_translation_BX                                        \
                         )
#define   R_translation__dY_____                                                                                                        \
                    AXPB(TRANSFORMATION_CONFORME_DANS_LES_PLANS_HYPER_HYPER_____R_translation_AY                                        \
                        ,ASI1(R_translation,dy)                                                                                         \
                        ,TRANSFORMATION_CONFORME_DANS_LES_PLANS_HYPER_HYPER_____R_translation_BY                                        \
                         )

DEFV(Common,DEFV(Float,ZINT(TRANSFORMATION_CONFORME_DANS_LES_PLANS_HYPER_HYPER_____R_translation_AX,FU)));
DEFV(Common,DEFV(Float,ZINT(TRANSFORMATION_CONFORME_DANS_LES_PLANS_HYPER_HYPER_____R_translation_BX,FZERO)));
DEFV(Common,DEFV(Float,ZINT(TRANSFORMATION_CONFORME_DANS_LES_PLANS_HYPER_HYPER_____R_translation_AY,FU)));
DEFV(Common,DEFV(Float,ZINT(TRANSFORMATION_CONFORME_DANS_LES_PLANS_HYPER_HYPER_____R_translation_BY,FZERO)));
                                        /* Definition des facteurs de corrections des translations 'A' et 'R' (ceci fut introduit    */
                                        /* le 20111228152543...                                                                      */

#define   TRANSFORMATION_CONFORME_DANS_LE_PLAN_HYPER_HYPER_IMAGE_____Xmin_ref                                                           \
                    TRANSFORMATION_CONFORME_DANS_LE_PLAN_HYPER_HYPER_IMAGE_____Xmin_reference
#define   TRANSFORMATION_CONFORME_DANS_LE_PLAN_HYPER_HYPER_IMAGE_____Xmax_ref                                                           \
                    TRANSFORMATION_CONFORME_DANS_LE_PLAN_HYPER_HYPER_IMAGE_____Xmax_reference
#define   TRANSFORMATION_CONFORME_DANS_LE_PLAN_HYPER_HYPER_IMAGE_____Ymin_ref                                                           \
                    TRANSFORMATION_CONFORME_DANS_LE_PLAN_HYPER_HYPER_IMAGE_____Ymin_reference
#define   TRANSFORMATION_CONFORME_DANS_LE_PLAN_HYPER_HYPER_IMAGE_____Ymax_ref                                                           \
                    TRANSFORMATION_CONFORME_DANS_LE_PLAN_HYPER_HYPER_IMAGE_____Ymax_reference
                                        /* Afin de raccourcir quelques lignes qui suivent...                                         */

#define   NomFonctionCourant                                                                                                            \
                    NomDeLaFonctionCourante                                                                                             \
                                        /* Afin de raccourcir les lignes 'LIN8(...)' suivantes...                                    */

#define   TRANSFORMATION_CONFORME_DANS_LE_PLAN_HYPER_HYPER_IMAGE(variables_specifiques,condition,transformation,action_rangement,fme)   \
                    Bblock                                                                                                              \
                    DEFV(Float,INIT(facteur_multiplicatif_effectif,facteur_multiplicatif));                                             \
                                        /* Facteur multiplicatif effectif destine a rendre ce facteur                                */ \
                                        /* "homothetique" ce qui permettra alors d'obtenir le meme resultat quel que soit la         */ \
                                        /* resolution de l'image (par exemple 'Puq' et 'Pqu'...). Ceci n'a evidemment de sens        */ \
                                        /* que pour 'TRANSFORMATION_CONFORME_DANS_LE_PLAN_HYPER_HYPER_IMAGE(...)' et n'en a pas pour */ \
                                        /* 'TRANSFORMATION_CONFORME_DANS_LE_PLAN_COMPLEXE(...)' puisque les coordonnees {X,Y}        */ \
                                        /* sont alors normalisees dans [0,1], cette normalisation etant evidemment independante      */ \
                                        /* de resolution de l'image...                                                               */ \
                                                                                                                                        \
                    Test(IL_FAUT(TRANSFORMATION_CONFORME_DANS_LE_PLAN_HYPER_HYPER_IMAGE_____facteur_multiplicatif_homothetique))        \
                         Bblock                                                                                                         \
                         DEFV(Float,INIT(facteur_correctif                                                                              \
                                        ,DIVI(RACX(FLOT(MUL2(DIMENSION                                                                  \
                                                                 (TRANSFORMATION_CONFORME_DANS_LE_PLAN_HYPER_HYPER_IMAGE_____Xmin_ref   \
                                                                 ,TRANSFORMATION_CONFORME_DANS_LE_PLAN_HYPER_HYPER_IMAGE_____Xmax_ref   \
                                                                  )                                                                     \
                                                            ,DIMENSION                                                                  \
                                                                 (TRANSFORMATION_CONFORME_DANS_LE_PLAN_HYPER_HYPER_IMAGE_____Ymin_ref   \
                                                                 ,TRANSFORMATION_CONFORME_DANS_LE_PLAN_HYPER_HYPER_IMAGE_____Ymax_ref   \
                                                                  )                                                                     \
                                                             )                                                                          \
                                                        )                                                                               \
                                                   )                                                                                    \
                                             ,RACX(FLOT(dimXY))                                                                         \
                                              )                                                                                         \
                                         )                                                                                              \
                              );                                                                                                        \
                         EGAL(facteur_multiplicatif_effectif,fme);                                                                      \
                                        /* Ainsi, le facteur mutiplicatif est rendu independant de la resolution de l'image par      */ \
                                        /* rapport a la resolution dite "reference"...                                               */ \
                         Eblock                                                                                                         \
                    ATes                                                                                                                \
                         Bblock                                                                                                         \
                         Eblock                                                                                                         \
                    ETes                                                                                                                \
                                                                                                                                        \
                    begin_image                                                                                                         \
                         Bblock                                                                                                         \
                         DEFV(Float,INIT(composante_R,FLOT__UNDEF));                                                                    \
                         DEFV(Float,INIT(composante_I,FLOT__UNDEF));                                                                    \
                                        /* Coordonnees translatees...                                                                */ \
                         DEFV(hyper_hyper_complexe,point_courant);                                                                      \
                                        /* Point hyper-hyper-complexe courant.                                                       */ \
                         DEFV(hyper_hyper_complexe,point_manoeuvre);                                                                    \
                                        /* Point hyper-hyper-complexe resultat de la transformation.                                 */ \
                         BLOC(variables_specifiques);                                                                                   \
                                        /* Variables specifiques eventuellement...                                                   */ \
                                                                                                                                        \
                         EGAL(composante_R                                                                                              \
                             ,ADD2(FLOT(X)                                                                                              \
                                  ,F__lDENORMALISE_OX(A_translation__dX_____)                                                           \
                                   )                                                                                                    \
                              );                                                                                                        \
                         EGAL(composante_I                                                                                              \
                             ,ADD2(FLOT(Y)                                                                                              \
                                  ,F__lDENORMALISE_OY(A_translation__dY_____)                                                           \
                                   )                                                                                                    \
                              );                                                                                                        \
                                                                                                                                        \
                         HHCinitialisation(point_courant                                                                                \
                                          ,LIZ8(NomFonctionCourant QD@@__ _____matrice1_RR,composante_R                                 \
                                               ,NomFonctionCourant QD@@__ _____matrice1_RI,composante_I                                 \
                                               ,NomFonctionCourant QD@@__ _____matrice1_RJ,NomFonctionCourant QD@@__ _____composante_J  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_RK,NomFonctionCourant QD@@__ _____composante_K  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_RS,NomFonctionCourant QD@@__ _____composante_S  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_RT,NomFonctionCourant QD@@__ _____composante_T  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_RU,NomFonctionCourant QD@@__ _____composante_U  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_RV,NomFonctionCourant QD@@__ _____composante_V  \
                                                )                                                                                       \
                                          ,LIZ8(NomFonctionCourant QD@@__ _____matrice1_IR,composante_R                                 \
                                               ,NomFonctionCourant QD@@__ _____matrice1_II,composante_I                                 \
                                               ,NomFonctionCourant QD@@__ _____matrice1_IJ,NomFonctionCourant QD@@__ _____composante_J  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_IK,NomFonctionCourant QD@@__ _____composante_K  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_IS,NomFonctionCourant QD@@__ _____composante_S  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_IT,NomFonctionCourant QD@@__ _____composante_T  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_IU,NomFonctionCourant QD@@__ _____composante_U  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_IV,NomFonctionCourant QD@@__ _____composante_V  \
                                                )                                                                                       \
                                          ,LIZ8(NomFonctionCourant QD@@__ _____matrice1_JR,composante_R                                 \
                                               ,NomFonctionCourant QD@@__ _____matrice1_JI,composante_I                                 \
                                               ,NomFonctionCourant QD@@__ _____matrice1_JJ,NomFonctionCourant QD@@__ _____composante_J  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_JK,NomFonctionCourant QD@@__ _____composante_K  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_JS,NomFonctionCourant QD@@__ _____composante_S  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_JT,NomFonctionCourant QD@@__ _____composante_T  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_JU,NomFonctionCourant QD@@__ _____composante_U  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_JV,NomFonctionCourant QD@@__ _____composante_V  \
                                                )                                                                                       \
                                          ,LIZ8(NomFonctionCourant QD@@__ _____matrice1_KR,composante_R                                 \
                                               ,NomFonctionCourant QD@@__ _____matrice1_KI,composante_I                                 \
                                               ,NomFonctionCourant QD@@__ _____matrice1_KJ,NomFonctionCourant QD@@__ _____composante_J  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_KK,NomFonctionCourant QD@@__ _____composante_K  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_KS,NomFonctionCourant QD@@__ _____composante_S  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_KT,NomFonctionCourant QD@@__ _____composante_T  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_KU,NomFonctionCourant QD@@__ _____composante_U  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_KV,NomFonctionCourant QD@@__ _____composante_V  \
                                                )                                                                                       \
                                          ,LIZ8(NomFonctionCourant QD@@__ _____matrice1_SR,composante_R                                 \
                                               ,NomFonctionCourant QD@@__ _____matrice1_SI,composante_I                                 \
                                               ,NomFonctionCourant QD@@__ _____matrice1_SJ,NomFonctionCourant QD@@__ _____composante_J  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_SK,NomFonctionCourant QD@@__ _____composante_K  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_SS,NomFonctionCourant QD@@__ _____composante_S  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_ST,NomFonctionCourant QD@@__ _____composante_T  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_SU,NomFonctionCourant QD@@__ _____composante_U  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_SV,NomFonctionCourant QD@@__ _____composante_V  \
                                                )                                                                                       \
                                          ,LIZ8(NomFonctionCourant QD@@__ _____matrice1_TR,composante_R                                 \
                                               ,NomFonctionCourant QD@@__ _____matrice1_TI,composante_I                                 \
                                               ,NomFonctionCourant QD@@__ _____matrice1_TJ,NomFonctionCourant QD@@__ _____composante_J  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_TK,NomFonctionCourant QD@@__ _____composante_K  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_TS,NomFonctionCourant QD@@__ _____composante_S  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_TT,NomFonctionCourant QD@@__ _____composante_T  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_TU,NomFonctionCourant QD@@__ _____composante_U  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_TV,NomFonctionCourant QD@@__ _____composante_V  \
                                                )                                                                                       \
                                          ,LIZ8(NomFonctionCourant QD@@__ _____matrice1_UR,composante_R                                 \
                                               ,NomFonctionCourant QD@@__ _____matrice1_UI,composante_I                                 \
                                               ,NomFonctionCourant QD@@__ _____matrice1_UJ,NomFonctionCourant QD@@__ _____composante_J  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_UK,NomFonctionCourant QD@@__ _____composante_K  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_US,NomFonctionCourant QD@@__ _____composante_S  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_UT,NomFonctionCourant QD@@__ _____composante_T  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_UU,NomFonctionCourant QD@@__ _____composante_U  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_UV,NomFonctionCourant QD@@__ _____composante_V  \
                                                )                                                                                       \
                                          ,LIZ8(NomFonctionCourant QD@@__ _____matrice1_VR,composante_R                                 \
                                               ,NomFonctionCourant QD@@__ _____matrice1_VI,composante_I                                 \
                                               ,NomFonctionCourant QD@@__ _____matrice1_VJ,NomFonctionCourant QD@@__ _____composante_J  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_VK,NomFonctionCourant QD@@__ _____composante_K  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_VS,NomFonctionCourant QD@@__ _____composante_S  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_VT,NomFonctionCourant QD@@__ _____composante_T  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_VU,NomFonctionCourant QD@@__ _____composante_U  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_VV,NomFonctionCourant QD@@__ _____composante_V  \
                                                )                                                                                       \
                                           );                                                                                           \
                                        /* Le "point_courant" est associe au point courant {X,Y} sur le maillage de l'image          */ \
                                        /* de facon que :                                                                            */ \
                                        /*                                                                                           */ \
                                        /*                  point_courant = {X,Y,0,0,0,0,0,0}                                        */ \
                                        /*                                                                                           */ \
                                        /* par defaut (voir la valeur des ponderations des 'LIN8(...)'). Les composantes             */ \
                                        /* {composante_J,composante_K,composante_Scomposante_T,composante_U,composante_V}            */ \
                                        /* sont arbitraires et nulles par defaut...                                                  */ \
                                                                                                                                        \
                         Test(condition)                                                                                                \
                              Bblock                                                                                                    \
                              DEFV(Int,INIT(new_X,UNDEF));                                                                              \
                                        /* Nouvelle coordonnee horizontale apres transformation,                                     */ \
                              DEFV(Int,INIT(new_Y,UNDEF));                                                                              \
                                        /* Nouvelle coordonnee verticale apres transformation,                                       */ \
                                                                                                                                        \
                              BLOC(transformation);                                                                                     \
                                        /* Transformation du nombre hyper-hyper-complexe courant.                                    */ \
                                                                                                                                        \
                              EGAL(new_X                                                                                                \
                                  ,ADD2(VINTE(MUL3(TRANSFORMATION_CONFORME_DANS_LES_PLANS_HYPER_HYPER_____R_facteur_homothetie_X        \
                                                  ,facteur_multiplicatif_effectif                                                       \
                                                  ,LIZ8(NomFonctionCourant QD@@__ _____matrice2_RR,HHReelle(point_manoeuvre)            \
                                                       ,NomFonctionCourant QD@@__ _____matrice2_RI,HHImaginaire(point_manoeuvre)        \
                                                       ,NomFonctionCourant QD@@__ _____matrice2_RJ,HHJmaginaire(point_manoeuvre)        \
                                                       ,NomFonctionCourant QD@@__ _____matrice2_RK,HHKmaginaire(point_manoeuvre)        \
                                                       ,NomFonctionCourant QD@@__ _____matrice2_RS,HHSmaginaire(point_manoeuvre)        \
                                                       ,NomFonctionCourant QD@@__ _____matrice2_RT,HHTmaginaire(point_manoeuvre)        \
                                                       ,NomFonctionCourant QD@@__ _____matrice2_RU,HHUmaginaire(point_manoeuvre)        \
                                                       ,NomFonctionCourant QD@@__ _____matrice2_RV,HHVmaginaire(point_manoeuvre)        \
                                                        )                                                                               \
                                                   )                                                                                    \
                                              )                                                                                         \
                                       ,_lDENORMALISE_OX(R_translation__dX_____)                                                        \
                                        )                                                                                               \
                                   );                                                                                                   \
                              EGAL(new_Y                                                                                                \
                                  ,ADD2(VINTE(MUL3(TRANSFORMATION_CONFORME_DANS_LES_PLANS_HYPER_HYPER_____R_facteur_homothetie_Y        \
                                                  ,facteur_multiplicatif_effectif                                                       \
                                                  ,LIZ8(NomFonctionCourant QD@@__ _____matrice2_IR,HHReelle(point_manoeuvre)            \
                                                       ,NomFonctionCourant QD@@__ _____matrice2_II,HHImaginaire(point_manoeuvre)        \
                                                       ,NomFonctionCourant QD@@__ _____matrice2_IJ,HHJmaginaire(point_manoeuvre)        \
                                                       ,NomFonctionCourant QD@@__ _____matrice2_IK,HHKmaginaire(point_manoeuvre)        \
                                                       ,NomFonctionCourant QD@@__ _____matrice2_IS,HHSmaginaire(point_manoeuvre)        \
                                                       ,NomFonctionCourant QD@@__ _____matrice2_IT,HHTmaginaire(point_manoeuvre)        \
                                                       ,NomFonctionCourant QD@@__ _____matrice2_IU,HHUmaginaire(point_manoeuvre)        \
                                                       ,NomFonctionCourant QD@@__ _____matrice2_IV,HHVmaginaire(point_manoeuvre)        \
                                                        )                                                                               \
                                                   )                                                                                    \
                                              )                                                                                         \
                                       ,_lDENORMALISE_OY(R_translation__dY_____)                                                        \
                                        )                                                                                               \
                                   );                                                                                                   \
                                        /* Calcul des coordonnees transformees dans le plan image en recuperant, par defaut (voir    */ \
                                        /* la valeur des ponderations des 'LIN8(...)'), les composantes {R,I,J,K,S,T,U,V} de         */ \
                                        /* l'octonion 'point_manoeuvre'...                                                           */ \
                                                                                                                                        \
                              BLOC(action_rangement);                                                                                   \
                                        /* Et enfin, deplacement du point courant...                                                 */ \
                              Eblock                                                                                                    \
                         ATes                                                                                                           \
                              Bblock                                                                                                    \
                              Eblock                                                                                                    \
                         ETes                                                                                                           \
                         Eblock                                                                                                         \
                    end_image                                                                                                           \
                    Eblock                                                                                                              \
                                        /* Definition de la transformation conforme en coordonnees d'ecran [Xmin,Xmax]x[Ymin,Ymax].  */

#define   TRANSFORMATION_CONFORME_DANS_LE_PLAN_HYPER_HYPER_COMPLEXE(variables_specifiques,condition,transformation,action_rangement)    \
                    Bblock                                                                                                              \
                    begin_image                                                                                                         \
                         Bblock                                                                                                         \
                         DEFV(Float,INIT(new_X,FLOT__UNDEF));                                                                           \
                                        /* Nouvelle coordonnee horizontale apres transformation,                                     */ \
                         DEFV(Float,INIT(new_Y,FLOT__UNDEF));                                                                           \
                                        /* Nouvelle coordonnee verticale apres transformation,                                       */ \
                         DEFV(Float,INIT(composante_R,FLOT__UNDEF));                                                                    \
                         DEFV(Float,INIT(composante_I,FLOT__UNDEF));                                                                    \
                                        /* Coordonnees translatees...                                                                */ \
                         DEFV(hyper_hyper_complexe,point_courant);                                                                      \
                                        /* Point hyper-hyper-complexe courant.                                                       */ \
                         DEFV(hyper_hyper_complexe,point_manoeuvre);                                                                    \
                                        /* Point hyper-hyper-complexe resultat de la transformation.                                 */ \
                         BLOC(variables_specifiques);                                                                                   \
                                        /* Variables specifiques eventuellement...                                                   */ \
                                                                                                                                        \
                         EGAL(composante_R                                                                                              \
                             ,AXPB(TRANSFORMATION_CONFORME_DANS_LE_PLAN_HYPER_HYPER_COMPLEXE_____A_facteur_homothetie_X                 \
                                  ,SUPER_cNORMALISE_OX(X)                                                                               \
                                  ,A_translation__dX_____                                                                               \
                                   )                                                                                                    \
                              );                                                                                                        \
                         EGAL(composante_I                                                                                              \
                             ,AXPB(TRANSFORMATION_CONFORME_DANS_LE_PLAN_HYPER_HYPER_COMPLEXE_____A_facteur_homothetie_Y                 \
                                  ,SUPER_cNORMALISE_OY(Y)                                                                               \
                                  ,A_translation__dY_____                                                                               \
                                   )                                                                                                    \
                              );                                                                                                        \
                                                                                                                                        \
                         HHCinitialisation(point_courant                                                                                \
                                          ,LIZ8(NomFonctionCourant QD@@__ _____matrice1_RR,composante_R                                 \
                                               ,NomFonctionCourant QD@@__ _____matrice1_RI,composante_I                                 \
                                               ,NomFonctionCourant QD@@__ _____matrice1_RJ,NomFonctionCourant QD@@__ _____composante_J  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_RK,NomFonctionCourant QD@@__ _____composante_K  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_RS,NomFonctionCourant QD@@__ _____composante_S  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_RT,NomFonctionCourant QD@@__ _____composante_T  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_RU,NomFonctionCourant QD@@__ _____composante_U  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_RV,NomFonctionCourant QD@@__ _____composante_V  \
                                                )                                                                                       \
                                          ,LIZ8(NomFonctionCourant QD@@__ _____matrice1_IR,composante_R                                 \
                                               ,NomFonctionCourant QD@@__ _____matrice1_II,composante_I                                 \
                                               ,NomFonctionCourant QD@@__ _____matrice1_IJ,NomFonctionCourant QD@@__ _____composante_J  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_IK,NomFonctionCourant QD@@__ _____composante_K  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_IS,NomFonctionCourant QD@@__ _____composante_S  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_IT,NomFonctionCourant QD@@__ _____composante_T  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_IU,NomFonctionCourant QD@@__ _____composante_U  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_IV,NomFonctionCourant QD@@__ _____composante_V  \
                                                )                                                                                       \
                                          ,LIZ8(NomFonctionCourant QD@@__ _____matrice1_JR,composante_R                                 \
                                               ,NomFonctionCourant QD@@__ _____matrice1_JI,composante_I                                 \
                                               ,NomFonctionCourant QD@@__ _____matrice1_JJ,NomFonctionCourant QD@@__ _____composante_J  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_JK,NomFonctionCourant QD@@__ _____composante_K  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_JS,NomFonctionCourant QD@@__ _____composante_S  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_JT,NomFonctionCourant QD@@__ _____composante_T  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_JU,NomFonctionCourant QD@@__ _____composante_U  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_JV,NomFonctionCourant QD@@__ _____composante_V  \
                                                )                                                                                       \
                                          ,LIZ8(NomFonctionCourant QD@@__ _____matrice1_KR,composante_R                                 \
                                               ,NomFonctionCourant QD@@__ _____matrice1_KI,composante_I                                 \
                                               ,NomFonctionCourant QD@@__ _____matrice1_KJ,NomFonctionCourant QD@@__ _____composante_J  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_KK,NomFonctionCourant QD@@__ _____composante_K  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_KS,NomFonctionCourant QD@@__ _____composante_S  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_KT,NomFonctionCourant QD@@__ _____composante_T  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_KU,NomFonctionCourant QD@@__ _____composante_U  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_KV,NomFonctionCourant QD@@__ _____composante_V  \
                                                )                                                                                       \
                                          ,LIZ8(NomFonctionCourant QD@@__ _____matrice1_SR,composante_R                                 \
                                               ,NomFonctionCourant QD@@__ _____matrice1_SI,composante_I                                 \
                                               ,NomFonctionCourant QD@@__ _____matrice1_SJ,NomFonctionCourant QD@@__ _____composante_J  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_SK,NomFonctionCourant QD@@__ _____composante_K  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_SS,NomFonctionCourant QD@@__ _____composante_S  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_ST,NomFonctionCourant QD@@__ _____composante_T  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_SU,NomFonctionCourant QD@@__ _____composante_U  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_SV,NomFonctionCourant QD@@__ _____composante_V  \
                                                )                                                                                       \
                                          ,LIZ8(NomFonctionCourant QD@@__ _____matrice1_TR,composante_R                                 \
                                               ,NomFonctionCourant QD@@__ _____matrice1_TI,composante_I                                 \
                                               ,NomFonctionCourant QD@@__ _____matrice1_TJ,NomFonctionCourant QD@@__ _____composante_J  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_TK,NomFonctionCourant QD@@__ _____composante_K  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_TS,NomFonctionCourant QD@@__ _____composante_S  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_TT,NomFonctionCourant QD@@__ _____composante_T  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_TU,NomFonctionCourant QD@@__ _____composante_U  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_TV,NomFonctionCourant QD@@__ _____composante_V  \
                                                )                                                                                       \
                                          ,LIZ8(NomFonctionCourant QD@@__ _____matrice1_UR,composante_R                                 \
                                               ,NomFonctionCourant QD@@__ _____matrice1_UI,composante_I                                 \
                                               ,NomFonctionCourant QD@@__ _____matrice1_UJ,NomFonctionCourant QD@@__ _____composante_J  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_UK,NomFonctionCourant QD@@__ _____composante_K  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_US,NomFonctionCourant QD@@__ _____composante_S  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_UT,NomFonctionCourant QD@@__ _____composante_T  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_UU,NomFonctionCourant QD@@__ _____composante_U  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_UV,NomFonctionCourant QD@@__ _____composante_V  \
                                                )                                                                                       \
                                          ,LIZ8(NomFonctionCourant QD@@__ _____matrice1_VR,composante_R                                 \
                                               ,NomFonctionCourant QD@@__ _____matrice1_VI,composante_I                                 \
                                               ,NomFonctionCourant QD@@__ _____matrice1_VJ,NomFonctionCourant QD@@__ _____composante_J  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_VK,NomFonctionCourant QD@@__ _____composante_K  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_VS,NomFonctionCourant QD@@__ _____composante_S  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_VT,NomFonctionCourant QD@@__ _____composante_T  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_VU,NomFonctionCourant QD@@__ _____composante_U  \
                                               ,NomFonctionCourant QD@@__ _____matrice1_VV,NomFonctionCourant QD@@__ _____composante_V  \
                                                )                                                                                       \
                                           );                                                                                           \
                                        /* Le "point_courant" est associe au point courant {X,Y} sur le maillage de l'image          */ \
                                        /* de facon que :                                                                            */ \
                                        /*                                                                                           */ \
                                        /*                  point_courant = {X,Y,0,0,0,0,0,0}                                        */ \
                                        /*                                                                                           */ \
                                        /* par defaut (voir la valeur des ponderations des 'LIN4(...)'). Les composantes             */ \
                                        /* {composante_J,composante_K,composante_Scomposante_T,composante_U,composante_V}            */ \
                                        /* sont arbitraires et nulles par defaut...                                                  */ \
                                                                                                                                        \
                         Test(condition)                                                                                                \
                              Bblock                                                                                                    \
                              BLOC(transformation);                                                                                     \
                                        /* Transformation du nombre hyper-hyper-complexe courant.                                    */ \
                                                                                                                                        \
                              EGAL(new_X                                                                                                \
                                  ,ADD2(MUL3(TRANSFORMATION_CONFORME_DANS_LES_PLANS_HYPER_HYPER_____R_facteur_homothetie_X              \
                                            ,facteur_multiplicatif                                                                      \
                                            ,LIZ8(NomFonctionCourant QD@@__ _____matrice2_RR,HHReelle(point_manoeuvre)                  \
                                                 ,NomFonctionCourant QD@@__ _____matrice2_RI,HHImaginaire(point_manoeuvre)              \
                                                 ,NomFonctionCourant QD@@__ _____matrice2_RJ,HHJmaginaire(point_manoeuvre)              \
                                                 ,NomFonctionCourant QD@@__ _____matrice2_RK,HHKmaginaire(point_manoeuvre)              \
                                                 ,NomFonctionCourant QD@@__ _____matrice2_RS,HHSmaginaire(point_manoeuvre)              \
                                                 ,NomFonctionCourant QD@@__ _____matrice2_RT,HHTmaginaire(point_manoeuvre)              \
                                                 ,NomFonctionCourant QD@@__ _____matrice2_RU,HHUmaginaire(point_manoeuvre)              \
                                                 ,NomFonctionCourant QD@@__ _____matrice2_RV,HHVmaginaire(point_manoeuvre)              \
                                                  )                                                                                     \
                                             )                                                                                          \
                                       ,R_translation__dX_____                                                                          \
                                        )                                                                                               \
                                   );                                                                                                   \
                              EGAL(new_Y                                                                                                \
                                  ,ADD2(MUL3(TRANSFORMATION_CONFORME_DANS_LES_PLANS_HYPER_HYPER_____R_facteur_homothetie_Y              \
                                            ,facteur_multiplicatif                                                                      \
                                            ,LIZ8(NomFonctionCourant QD@@__ _____matrice2_IR,HHReelle(point_manoeuvre)                  \
                                                 ,NomFonctionCourant QD@@__ _____matrice2_II,HHImaginaire(point_manoeuvre)              \
                                                 ,NomFonctionCourant QD@@__ _____matrice2_IJ,HHJmaginaire(point_manoeuvre)              \
                                                 ,NomFonctionCourant QD@@__ _____matrice2_IK,HHKmaginaire(point_manoeuvre)              \
                                                 ,NomFonctionCourant QD@@__ _____matrice2_IS,HHSmaginaire(point_manoeuvre)              \
                                                 ,NomFonctionCourant QD@@__ _____matrice2_IT,HHTmaginaire(point_manoeuvre)              \
                                                 ,NomFonctionCourant QD@@__ _____matrice2_IU,HHUmaginaire(point_manoeuvre)              \
                                                 ,NomFonctionCourant QD@@__ _____matrice2_IV,HHVmaginaire(point_manoeuvre)              \
                                                  )                                                                                     \
                                             )                                                                                          \
                                       ,R_translation__dY_____                                                                          \
                                        )                                                                                               \
                                   );                                                                                                   \
                                        /* Calcul des coordonnees transformees dans le plan image en recuperant, par defaut (voir    */ \
                                        /* la valeur des ponderations des 'LIN8(...)'), les composantes {R,I,J,K,S,T,U,V} de         */ \
                                        /* l'octonion 'point_manoeuvre'...                                                           */ \
                                                                                                                                        \
                              BLOC(action_rangement);                                                                                   \
                                        /* Et enfin, deplacement du point courant...                                                 */ \
                              Eblock                                                                                                    \
                         ATes                                                                                                           \
                              Bblock                                                                                                    \
                              Eblock                                                                                                    \
                         ETes                                                                                                           \
                         Eblock                                                                                                         \
                    end_image                                                                                                           \
                    Eblock                                                                                                              \
                                        /* Definition de la transformation conforme en coordonnees d'ecran [Xmin,Xmax]x[Ymin,Ymax].  */

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   C O N F O R M E   K * ( O * * 2 )  :                     */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#define   O_AU_CARRE_DANS_PLANS_HYPER_HYPER_IMAGE_OU_HYPER_HYPER_COMPLEXE                                                               \
                    Bblock                                                                                                              \
                    TRANSFORMATION__O_AU_CARRE(point_manoeuvre,point_courant);                                                          \
                    Eblock                                                                                                              \
                                        /* Definition generale de la transformation 'o' au carre dans les plans hyper-image ou       */ \
                                        /* hyper-complexe.                                                                           */
#define   O_AU_CARRE_PLANS_HYPER_HYPER_IMAGE_COMPLEXE                                                                                   \
                    O_AU_CARRE_DANS_PLANS_HYPER_HYPER_IMAGE_OU_HYPER_HYPER_COMPLEXE                                                     \
                                        /* Introduit le 20111017152554 afin de reduire la longueur de certaines lignes...            */

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        D E F I N I T I O N   D E   L A   T R A N S F O R M A T I O N   C O N F O R M E   K * ( O * * 2 )                          */
/*        E N   C O O R D O N N E E S   D ' E C R A N   [Xmin,Xmax] x [Ymin,Ymax]  :                                                 */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#define   O_AU_CARRE_DANS_LE_PLAN_HYPER_HYPER_IMAGE(action_rangement)                                                                   \
                    Bblock                                                                                                              \
                    TRANSFORMATION_CONFORME_DANS_LE_PLAN_HYPER_HYPER_IMAGE(BLOC(VIDE;)                                                  \
                                                                          ,TOUJOURS_VRAI                                                \
                                                                          ,BLOC(O_AU_CARRE_PLANS_HYPER_HYPER_IMAGE_COMPLEXE;)           \
                                                                          ,BLOC(action_rangement)                                       \
                                                                          ,MUL2(facteur_multiplicatif,NEUT(facteur_correctif))          \
                                                                           );                                                           \
                    Eblock                                                                                                              \
                                        /* Definition de la transformation conforme en coordonnees d'ecran [Xmin,Xmax]x[Ymin,Ymax].  */

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   C O N F O R M E   K * ( O * * 2 )                        */
/*        E N   C O O R D O N N E E S   D ' E C R A N   [Xmin,Xmax] x [Ymin,Ymax]  :                                                 */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

BFonctionP

DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_RR,FU)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_RI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_RJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_RK,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_RS,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_RT,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_RU,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_RV,FZERO)));

DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_IR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_II,FU)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_IJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_IK,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_IS,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_IT,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_IU,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_IV,FZERO)));

DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_JR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_JI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_JJ,FU)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_JK,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_JS,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_JT,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_JU,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_JV,FZERO)));

DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_KR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_KI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_KJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_KK,FU)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_KS,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_KT,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_KU,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_KV,FZERO)));

DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_SR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_SI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_SJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_SK,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_SS,FU)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_ST,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_SU,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_SV,FZERO)));

DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_TR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_TI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_TJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_TK,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_TS,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_TT,FU)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_TU,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_TV,FZERO)));

DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_UR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_UI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_UJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_UK,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_US,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_UT,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_UU,FU)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_UV,FZERO)));

DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_VR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_VI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_VJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_VK,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_VS,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_VT,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_VU,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_VV,FU)));

DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice2_RR,FU)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice2_RI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice2_RJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice2_RK,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice2_RS,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice2_RT,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice2_RU,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice2_RV,FZERO)));

DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice2_IR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice2_II,FU)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice2_IJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice2_IK,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice2_IS,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice2_IT,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice2_IU,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____matrice2_IV,FZERO)));

DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____composante_J,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____composante_K,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____composante_S,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____composante_T,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____composante_U,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_image_____composante_V,FZERO)));

DEFV(Common,DEFV(FonctionP,POINTERp(Io_au_carre_dans_le_plan_hyper_hyper_image(imageR,ARGUMENT_POINTERs(R_translation)
                                                                              ,facteur_multiplicatif
                                                                              ,imageA,ARGUMENT_POINTERs(A_translation)
                                                                               )
                                    )
                 )
     )
DEFV(Argument,DEFV(image,imageR));
                                        /* Image resultat a generer.                                                                 */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(R_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de generation de 'imageR' ; on n'obliera pas que cette translation est                    */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(Float,facteur_multiplicatif));
                                        /* Facteur multiplicatif 'K' (une valeur de l'ordre de 0.01 donne de bons resultats).        */
DEFV(Argument,DEFV(image,imageA));
                                        /* Image argument.                                                                           */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(A_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de l'image 'imageA' ; on n'oubliera pas que cette translation est                         */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     /*..............................................................................................................................*/
     O_AU_CARRE_DANS_LE_PLAN_HYPER_HYPER_IMAGE(BLOC(store_point_load_point(imageA
                                                                          ,new_X
                                                                          ,new_Y
                                                                          ,imageR
                                                                          ,X
                                                                          ,Y
                                                                           );
                                                    )
                                               );
     RETI(imageR);
     Eblock

EFonctionP

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   C O N F O R M E   K * ( O * * 2 )                        */
/*        E N   C O O R D O N N E E S   D ' E C R A N   [Xmin,Xmax] x [Ymin,Ymax]  :                                                 */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

BFonctionF

DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_RR,FU)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_RI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_RJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_RK,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_RS,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_RT,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_RU,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_RV,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_IR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_II,FU)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_IJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_IK,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_IS,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_IT,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_IU,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_IV,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_JR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_JI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_JJ,FU)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_JK,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_JS,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_JT,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_JU,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_JV,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_KR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_KI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_KJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_KK,FU)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_KS,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_KT,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_KU,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_KV,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_SR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_SI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_SJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_SK,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_SS,FU)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_ST,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_SU,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_SV,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_TR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_TI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_TJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_TK,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_TS,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_TT,FU)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_TU,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_TV,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_UR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_UI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_UJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_UK,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_US,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_UT,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_UU,FU)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_UV,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_VR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_VI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_VJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_VK,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_VS,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_VT,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_VU,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice1_VV,FU)));

DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice2_RR,FU)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice2_RI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice2_RJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice2_RK,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice2_RS,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice2_RT,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice2_RU,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice2_RV,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice2_IR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice2_II,FU)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice2_IJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice2_IK,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice2_IS,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice2_IT,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice2_IU,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____matrice2_IV,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____composante_J,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____composante_K,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____composante_S,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____composante_T,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____composante_U,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_image_____composante_V,FZERO)));

DEFV(Common,DEFV(FonctionF,POINTERF(IFo_au_carre_dans_le_plan_hyper_hyper_image(imageR,ARGUMENT_POINTERs(R_translation)
                                                                               ,facteur_multiplicatif
                                                                               ,imageA,ARGUMENT_POINTERs(A_translation)
                                                                                )
                                    )
                 )
     )
                                        /* Fonction introduite le 20111017144351.                                                    */
DEFV(Argument,DEFV(imageF,imageR));
                                        /* Image resultat a generer.                                                                 */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(R_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de generation de 'imageR' ; on n'obliera pas que cette translation est                    */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(Float,facteur_multiplicatif));
                                        /* Facteur multiplicatif 'K' (une valeur de l'ordre de 0.01 donne de bons resultats).        */
DEFV(Argument,DEFV(imageF,imageA));
                                        /* Image argument.                                                                           */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(A_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de l'image 'imageA' ; on n'oubliera pas que cette translation est                         */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     /*..............................................................................................................................*/
     O_AU_CARRE_DANS_LE_PLAN_HYPER_HYPER_IMAGE(BLOC(storeF_point_loadF_point(imageA
                                                                            ,new_X
                                                                            ,new_Y
                                                                            ,imageR
                                                                            ,X
                                                                            ,Y
                                                                             );
                                                    )
                                               );
     RETIF(imageR);
     Eblock

EFonctionF

#undef    O_AU_CARRE_DANS_LE_PLAN_HYPER_HYPER_IMAGE

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        D E F I N I T I O N   D E   L A   T R A N S F O R M A T I O N   C O N F O R M E   K * ( O * * 2 )                          */
/*        E N   C O O R D O N N E E S   D U   P L A N   H Y P E R - H Y P E R - C O M P L E X E                                      */
/*        [0,1] x [0,1] x [0,1] x [0,1] x [0,1] x [0,1] x [0,1] x [0,1]  :                                                           */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#define   O_AU_CARRE_DANS_LE_PLAN_HYPER_HYPER_COMPLEXE(action_rangement)                                                                \
                    Bblock                                                                                                              \
                    TRANSFORMATION_CONFORME_DANS_LE_PLAN_HYPER_HYPER_COMPLEXE(BLOC(VIDE;)                                               \
                                                                             ,TOUJOURS_VRAI                                             \
                                                                             ,BLOC(O_AU_CARRE_PLANS_HYPER_HYPER_IMAGE_COMPLEXE;)        \
                                                                             ,BLOC(action_rangement)                                    \
                                                                              );                                                        \
                    Eblock                                                                                                              \
                                        /* Definition de la transformation conforme en coordonnees d'ecran [Xmin,Xmax]x[Ymin,Ymax].  */

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   C O N F O R M E   K * ( O * * 2 )                        */
/*        E N   C O O R D O N N E E S   D U   P L A N   H Y P E R - H Y P E R - C O M P L E X E                                      */
/*        [0,1] x [0,1] x [0,1] x [0,1] x [0,1] x [0,1] x [0,1] x [0,1]  :                                                           */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

BFonctionP

DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_RR,FU)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_RI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_RJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_RK,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_RS,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_RT,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_RU,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_RV,FZERO)));

DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_IR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_II,FU)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_IJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_IK,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_IS,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_IT,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_IU,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_IV,FZERO)));

DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_JR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_JI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_JJ,FU)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_JK,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_JS,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_JT,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_JU,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_JV,FZERO)));

DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_KR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_KI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_KJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_KK,FU)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_KS,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_KT,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_KU,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_KV,FZERO)));

DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_SR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_SI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_SJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_SK,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_SS,FU)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_ST,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_SU,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_SV,FZERO)));

DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_TR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_TI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_TJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_TK,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_TS,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_TT,FU)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_TU,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_TV,FZERO)));

DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_UR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_UI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_UJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_UK,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_US,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_UT,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_UU,FU)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_UV,FZERO)));

DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_VR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_VI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_VJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_VK,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_VS,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_VT,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_VU,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_VV,FU)));

DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice2_RR,FU)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice2_RI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice2_RJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice2_RK,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice2_RS,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice2_RT,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice2_RU,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice2_RV,FZERO)));

DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice2_IR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice2_II,FU)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice2_IJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice2_IK,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice2_IS,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice2_IT,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice2_IU,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice2_IV,FZERO)));

DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____composante_J,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____composante_K,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____composante_S,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____composante_T,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____composante_U,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_au_carre_dans_le_plan_hyper_hyper_complexe_____composante_V,FZERO)));

DEFV(Common,DEFV(FonctionP,POINTERp(Io_au_carre_dans_le_plan_hyper_hyper_complexe(imageR,ARGUMENT_POINTERs(R_translation)
                                                                                 ,facteur_multiplicatif
                                                                                 ,imageA,ARGUMENT_POINTERs(A_translation)
                                                                                  )
                                    )
                 )
     )
                                        /* Fonction introduite le 20111017144351.                                                    */
DEFV(Argument,DEFV(image,imageR));
                                        /* Image resultat a generer.                                                                 */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(R_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de generation de 'imageR' ; on n'obliera pas que cette translation est                    */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(Float,facteur_multiplicatif));
                                        /* Facteur multiplicatif 'K' (une valeur de l'ordre de 5.0 donne de bons resultats) ; voir   */
                                        /* a ce propos les commentaires de 'v $xci/z_carre.01$K'...                                  */
DEFV(Argument,DEFV(image,imageA));
                                        /* Image argument.                                                                           */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(A_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de l'image 'imageA' ; on n'oubliera pas que cette translation est                         */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     /*..............................................................................................................................*/
     O_AU_CARRE_DANS_LE_PLAN_HYPER_HYPER_COMPLEXE(BLOC(store_point_load_point(imageA
                                                                             ,fV_cDENORMALISE_OX(new_X)
                                                                             ,fV_cDENORMALISE_OY(new_Y)
                                                                             ,imageR
                                                                             ,X
                                                                             ,Y
                                                                              );
                                                       )
                                                  );
     RETI(imageR);
     Eblock

EFonctionP

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   C O N F O R M E   K * ( O * * 2 )                        */
/*        E N   C O O R D O N N E E S   D U   P L A N   H Y P E R - H Y P E R - C O M P L E X E                                      */
/*        [0,1] x [0,1] x [0,1] x [0,1] x [0,1] x [0,1] x [0,1] x [0,1]  :                                                           */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

BFonctionF

DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_RR,FU)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_RI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_RJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_RK,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_RS,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_RT,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_RU,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_RV,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_IR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_II,FU)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_IJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_IK,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_IS,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_IT,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_IU,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_IV,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_JR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_JI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_JJ,FU)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_JK,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_JS,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_JT,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_JU,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_JV,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_KR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_KI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_KJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_KK,FU)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_KS,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_KT,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_KU,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_KV,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_SR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_SI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_SJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_SK,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_SS,FU)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_ST,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_SU,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_SV,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_TR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_TI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_TJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_TK,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_TS,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_TT,FU)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_TU,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_TV,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_UR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_UI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_UJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_UK,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_US,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_UT,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_UU,FU)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_UV,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_VR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_VI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_VJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_VK,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_VS,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_VT,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_VU,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice1_VV,FU)));

DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice2_RR,FU)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice2_RI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice2_RJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice2_RK,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice2_RS,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice2_RT,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice2_RU,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice2_RV,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice2_IR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice2_II,FU)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice2_IJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice2_IK,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice2_IS,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice2_IT,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice2_IU,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____matrice2_IV,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____composante_J,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____composante_K,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____composante_S,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____composante_T,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____composante_U,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_au_carre_dans_le_plan_hyper_hyper_complexe_____composante_V,FZERO)));

DEFV(Common,DEFV(FonctionF,POINTERF(IFo_au_carre_dans_le_plan_hyper_hyper_complexe(imageR,ARGUMENT_POINTERs(R_translation)
                                                                                  ,facteur_multiplicatif
                                                                                  ,imageA,ARGUMENT_POINTERs(A_translation)
                                                                                   )
                                    )
                 )
     )
                                        /* Fonction introduite le 20111017144351.                                                    */
DEFV(Argument,DEFV(imageF,imageR));
                                        /* Image resultat a generer.                                                                 */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(R_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de generation de 'imageR' ; on n'obliera pas que cette translation est                    */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(Float,facteur_multiplicatif));
                                        /* Facteur multiplicatif 'K' (une valeur de l'ordre de 5.0 donne de bons resultats) ; voir   */
                                        /* a ce propos les commentaires de 'v $xci/z_carre.01$K'...                                  */
DEFV(Argument,DEFV(imageF,imageA));
                                        /* Image argument.                                                                           */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(A_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de l'image 'imageA' ; on n'oubliera pas que cette translation est                         */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     /*..............................................................................................................................*/
     O_AU_CARRE_DANS_LE_PLAN_HYPER_HYPER_COMPLEXE(BLOC(storeF_point_loadF_point(imageA
                                                                               ,fV_cDENORMALISE_OX(new_X)
                                                                               ,fV_cDENORMALISE_OY(new_Y)
                                                                               ,imageR
                                                                               ,X
                                                                               ,Y
                                                                                );
                                                       )
                                                  );
     RETIF(imageR);
     Eblock

EFonctionF

#undef    O_AU_CARRE_DANS_LE_PLAN_HYPER_HYPER_COMPLEXE

#undef    O_AU_CARRE_PLANS_HYPER_HYPER_IMAGE_COMPLEXE
#undef    O_AU_CARRE_DANS_PLANS_HYPER_HYPER_IMAGE_OU_HYPER_HYPER_COMPLEXE

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   C O N F O R M E   K * ( 1 / O )  :                       */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#define   UN_SUR_O_DANS_PLANS_HYPER_HYPER_IMAGE_OU_HYPER_HYPER_COMPLEXE                                                                 \
                    Bblock                                                                                                              \
                    TRANSFORMATION__UN_SUR_O(point_manoeuvre,point_courant);                                                            \
                    Eblock                                                                                                              \
                                        /* Definition generale de la transformation un sur 'o' dans les plans hyper-image ou         */ \
                                        /* hyper-complexe.                                                                           */
#define   UN_SUR_O_PLANS_HYPER_HYPER_IMAGE_COMPLEXE                                                                                     \
                    UN_SUR_O_DANS_PLANS_HYPER_HYPER_IMAGE_OU_HYPER_HYPER_COMPLEXE                                                       \
                                        /* Introduit le 20111017152554 afin de reduire la longueur de certaines lignes...            */

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        D E F I N I T I O N   D E   L A   T R A N S F O R M A T I O N   C O N F O R M E   K * ( 1 / O )                            */
/*        E N   C O O R D O N N E E S   D ' E C R A N   [Xmin,Xmax] x [Ymin,Ymax]  :                                                 */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#define   UN_SUR_O_DANS_LE_PLAN_HYPER_HYPER_IMAGE(action_rangement)                                                                     \
                    Bblock                                                                                                              \
                    TRANSFORMATION_CONFORME_DANS_LE_PLAN_HYPER_HYPER_IMAGE(BLOC(VIDE;)                                                  \
                                                                          ,IZNE(HHCmodule2(point_courant))                              \
                                                                          ,BLOC(UN_SUR_O_PLANS_HYPER_HYPER_IMAGE_COMPLEXE;)             \
                                                                          ,BLOC(action_rangement)                                       \
                                                                          ,DIVI(facteur_multiplicatif,EXP2(facteur_correctif))          \
                                                                           );                                                           \
                    Eblock                                                                                                              \
                                        /* Definition de la transformation conforme en coordonnees d'ecran [Xmin,Xmax]x[Ymin,Ymax].  */

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   C O N F O R M E   K * ( 1 / O )                          */
/*        E N   C O O R D O N N E E S   D ' E C R A N   [Xmin,Xmax] x [Ymin,Ymax]  :                                                 */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

BFonctionP

DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_RR,FU)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_RI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_RJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_RK,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_RS,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_RT,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_RU,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_RV,FZERO)));

DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_IR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_II,FU)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_IJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_IK,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_IS,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_IT,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_IU,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_IV,FZERO)));

DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_JR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_JI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_JJ,FU)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_JK,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_JS,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_JT,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_JU,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_JV,FZERO)));

DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_KR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_KI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_KJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_KK,FU)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_KS,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_KT,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_KU,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_KV,FZERO)));

DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_SR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_SI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_SJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_SK,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_SS,FU)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_ST,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_SU,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_SV,FZERO)));

DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_TR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_TI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_TJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_TK,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_TS,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_TT,FU)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_TU,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_TV,FZERO)));

DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_UR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_UI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_UJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_UK,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_US,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_UT,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_UU,FU)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_UV,FZERO)));

DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_VR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_VI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_VJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_VK,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_VS,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_VT,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_VU,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_VV,FU)));

DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice2_RR,FU)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice2_RI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice2_RJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice2_RK,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice2_RS,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice2_RT,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice2_RU,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice2_RV,FZERO)));

DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice2_IR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice2_II,FU)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice2_IJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice2_IK,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice2_IS,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice2_IT,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice2_IU,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____matrice2_IV,FZERO)));

DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____composante_J,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____composante_K,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____composante_S,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____composante_T,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____composante_U,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_image_____composante_V,FZERO)));

DEFV(Common,DEFV(FonctionP,POINTERp(Iun_sur_o_dans_le_plan_hyper_hyper_image(imageR,ARGUMENT_POINTERs(R_translation)
                                                                            ,facteur_multiplicatif
                                                                            ,imageA,ARGUMENT_POINTERs(A_translation)
                                                                             )
                                    )
                 )
     )
DEFV(Argument,DEFV(image,imageR));
                                        /* Image resultat a generer.                                                                 */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(R_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de generation de 'imageR' ; on n'obliera pas que cette translation est                    */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(Float,facteur_multiplicatif));
                                        /* Facteur multiplicatif 'K' (une valeur de l'ordre de 64000.0 donne de bons resultats).     */
DEFV(Argument,DEFV(image,imageA));
                                        /* Image argument.                                                                           */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(A_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de l'image 'imageA' ; on n'oubliera pas que cette translation est                         */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     /*..............................................................................................................................*/
     CALS(Inoir(imageR));
                                        /* L'image Resultat est nettoye ici (contrairement a la transformation q**2),                */
                                        /* a cause du test de nullite du carre du module du nombre complexe courant ;                */
                                        /* dans ce cas aucun point n'est marque...                                                   */

     UN_SUR_O_DANS_LE_PLAN_HYPER_HYPER_IMAGE(BLOC(store_point_load_point(imageA
                                                                        ,new_X
                                                                        ,new_Y
                                                                        ,imageR
                                                                        ,X
                                                                        ,Y
                                                                         );
                                                  )
                                             );
     RETI(imageR);
     Eblock

EFonctionP

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   C O N F O R M E   K * ( 1 / O )                          */
/*        E N   C O O R D O N N E E S   D ' E C R A N   [Xmin,Xmax] x [Ymin,Ymax]  :                                                 */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

BFonctionF

DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_RR,FU)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_RI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_RJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_RK,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_RS,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_RT,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_RU,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_RV,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_IR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_II,FU)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_IJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_IK,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_IS,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_IT,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_IU,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_IV,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_JR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_JI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_JJ,FU)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_JK,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_JS,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_JT,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_JU,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_JV,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_KR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_KI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_KJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_KK,FU)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_KS,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_KT,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_KU,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_KV,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_SR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_SI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_SJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_SK,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_SS,FU)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_ST,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_SU,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_SV,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_TR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_TI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_TJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_TK,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_TS,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_TT,FU)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_TU,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_TV,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_UR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_UI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_UJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_UK,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_US,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_UT,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_UU,FU)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_UV,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_VR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_VI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_VJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_VK,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_VS,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_VT,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_VU,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice1_VV,FU)));

DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice2_RR,FU)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice2_RI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice2_RJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice2_RK,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice2_RS,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice2_RT,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice2_RU,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice2_RV,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice2_IR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice2_II,FU)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice2_IJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice2_IK,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice2_IS,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice2_IT,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice2_IU,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____matrice2_IV,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____composante_J,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____composante_K,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____composante_S,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____composante_T,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____composante_U,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_image_____composante_V,FZERO)));

DEFV(Common,DEFV(FonctionF,POINTERF(IFun_sur_o_dans_le_plan_hyper_hyper_image(imageR,ARGUMENT_POINTERs(R_translation)
                                                                             ,facteur_multiplicatif
                                                                             ,imageA,ARGUMENT_POINTERs(A_translation)
                                                                              )
                                    )
                 )
     )
                                        /* Fonction introduite le 20111017144351.                                                    */
DEFV(Argument,DEFV(imageF,imageR));
                                        /* Image resultat a generer.                                                                 */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(R_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de generation de 'imageR' ; on n'obliera pas que cette translation est                    */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(Float,facteur_multiplicatif));
                                        /* Facteur multiplicatif 'K' (une valeur de l'ordre de 64000.0 donne de bons resultats).     */
DEFV(Argument,DEFV(imageF,imageA));
                                        /* Image argument.                                                                           */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(A_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de l'image 'imageA' ; on n'oubliera pas que cette translation est                         */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     /*..............................................................................................................................*/
     CALS(IFinitialisation(imageR,FZERO));
                                        /* L'image Resultat est nettoye ici (contrairement a la transformation q**2),                */
                                        /* a cause du test de nullite du carre du module du nombre complexe courant ;                */
                                        /* dans ce cas aucun point n'est marque...                                                   */

     UN_SUR_O_DANS_LE_PLAN_HYPER_HYPER_IMAGE(BLOC(storeF_point_loadF_point(imageA
                                                                          ,new_X
                                                                          ,new_Y
                                                                          ,imageR
                                                                          ,X
                                                                          ,Y
                                                                           );
                                                  )
                                             );
     RETIF(imageR);
     Eblock

EFonctionF

#undef    UN_SUR_O_DANS_LE_PLAN_HYPER_HYPER_IMAGE

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        D E F I N I T I O N   D E   L A   T R A N S F O R M A T I O N   C O N F O R M E   K * ( 1 / O )                            */
/*        E N   C O O R D O N N E E S   D U   P L A N   H Y P E R - H Y P E R - C O M P L E X E                                      */
/*        [0,1] x [0,1] x [0,1] x [0,1] x [0,1] x [0,1] x [0,1] x [0,1]  :                                                           */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#define   UN_SUR_O_DANS_LE_PLAN_HYPER_HYPER_COMPLEXE(action_rangement)                                                                  \
                    Bblock                                                                                                              \
                    TRANSFORMATION_CONFORME_DANS_LE_PLAN_HYPER_HYPER_COMPLEXE(BLOC(VIDE;)                                               \
                                                                             ,IZNE(HHCmodule2(point_courant))                           \
                                                                             ,BLOC(UN_SUR_O_PLANS_HYPER_HYPER_IMAGE_COMPLEXE;)          \
                                                                             ,BLOC(action_rangement)                                    \
                                                                              );                                                        \
                    Eblock                                                                                                              \
                                        /* Definition de la transformation conforme en coordonnees d'ecran [Xmin,Xmax]x[Ymin,Ymax].  */

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   C O N F O R M E   K * ( 1 / O )                          */
/*        E N   C O O R D O N N E E S   D U   P L A N   H Y P E R - H Y P E R - C O M P L E X E                                      */
/*        [0,1] x [0,1] x [0,1] x [0,1] x [0,1] x [0,1] x [0,1] x [0,1]  :                                                           */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

BFonctionP

DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_RR,FU)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_RI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_RJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_RK,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_RS,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_RT,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_RU,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_RV,FZERO)));

DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_IR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_II,FU)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_IJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_IK,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_IS,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_IT,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_IU,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_IV,FZERO)));

DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_JR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_JI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_JJ,FU)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_JK,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_JS,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_JT,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_JU,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_JV,FZERO)));

DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_KR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_KI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_KJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_KK,FU)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_KS,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_KT,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_KU,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_KV,FZERO)));

DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_SR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_SI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_SJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_SK,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_SS,FU)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_ST,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_SU,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_SV,FZERO)));

DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_TR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_TI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_TJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_TK,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_TS,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_TT,FU)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_TU,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_TV,FZERO)));

DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_UR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_UI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_UJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_UK,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_US,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_UT,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_UU,FU)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_UV,FZERO)));

DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_VR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_VI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_VJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_VK,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_VS,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_VT,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_VU,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_VV,FU)));

DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice2_RR,FU)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice2_RI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice2_RJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice2_RK,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice2_RS,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice2_RT,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice2_RU,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice2_RV,FZERO)));

DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice2_IR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice2_II,FU)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice2_IJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice2_IK,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice2_IS,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice2_IT,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice2_IU,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice2_IV,FZERO)));

DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____composante_J,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____composante_K,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____composante_S,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____composante_T,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____composante_U,FZERO)));
DEFV(Common,DEFV(Float,SINT(Iun_sur_o_dans_le_plan_hyper_hyper_complexe_____composante_V,FZERO)));

DEFV(Common,DEFV(FonctionP,POINTERp(Iun_sur_o_dans_le_plan_hyper_hyper_complexe(imageR,ARGUMENT_POINTERs(R_translation)
                                                                               ,facteur_multiplicatif
                                                                               ,imageA,ARGUMENT_POINTERs(A_translation)
                                                                                )
                                    )
                 )
     )
                                        /* Fonction introduite le 20111017144351.                                                    */
DEFV(Argument,DEFV(image,imageR));
                                        /* Image resultat a generer.                                                                 */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(R_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de generation de 'imageR' ; on n'obliera pas que cette translation est                    */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(Float,facteur_multiplicatif));
                                        /* Facteur multiplicatif 'K' (une valeur de l'ordre de 0.25 donne de bons resultats) ; voir  */
                                        /* a ce propos les commentaires de 'v $xci/un_sur_z.01$K'...                                 */
DEFV(Argument,DEFV(image,imageA));
                                        /* Image argument.                                                                           */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(A_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de l'image 'imageA' ; on n'oubliera pas que cette translation est                         */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     /*..............................................................................................................................*/
     CALS(Inoir(imageR));
                                        /* L'image Resultat est nettoye ici (contrairement a la transformation q**2),                */
                                        /* a cause du test de nullite du carre du module du nombre complexe courant ;                */
                                        /* dans ce cas aucun point n'est marque...                                                   */

     UN_SUR_O_DANS_LE_PLAN_HYPER_HYPER_COMPLEXE(BLOC(store_point_load_point(imageA
                                                                           ,fV_cDENORMALISE_OX(new_X)
                                                                           ,fV_cDENORMALISE_OY(new_Y)
                                                                           ,imageR
                                                                           ,X
                                                                           ,Y
                                                                            );
                                                     )
                                                );
     RETI(imageR);
     Eblock

EFonctionP

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   C O N F O R M E   K * ( 1 / O )                          */
/*        E N   C O O R D O N N E E S   D U   P L A N   H Y P E R - H Y P E R - C O M P L E X E                                      */
/*        [0,1] x [0,1] x [0,1] x [0,1] x [0,1] x [0,1] x [0,1] x [0,1]  :                                                           */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

BFonctionF

DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_RR,FU)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_RI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_RJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_RK,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_RS,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_RT,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_RU,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_RV,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_IR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_II,FU)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_IJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_IK,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_IS,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_IT,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_IU,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_IV,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_JR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_JI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_JJ,FU)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_JK,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_JS,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_JT,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_JU,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_JV,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_KR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_KI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_KJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_KK,FU)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_KS,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_KT,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_KU,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_KV,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_SR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_SI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_SJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_SK,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_SS,FU)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_ST,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_SU,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_SV,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_TR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_TI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_TJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_TK,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_TS,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_TT,FU)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_TU,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_TV,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_UR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_UI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_UJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_UK,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_US,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_UT,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_UU,FU)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_UV,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_VR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_VI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_VJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_VK,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_VS,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_VT,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_VU,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice1_VV,FU)));

DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice2_RR,FU)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice2_RI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice2_RJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice2_RK,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice2_RS,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice2_RT,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice2_RU,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice2_RV,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice2_IR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice2_II,FU)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice2_IJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice2_IK,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice2_IS,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice2_IT,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice2_IU,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____matrice2_IV,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____composante_J,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____composante_K,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____composante_S,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____composante_T,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____composante_U,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFun_sur_o_dans_le_plan_hyper_hyper_complexe_____composante_V,FZERO)));

DEFV(Common,DEFV(FonctionF,POINTERF(IFun_sur_o_dans_le_plan_hyper_hyper_complexe(imageR,ARGUMENT_POINTERs(R_translation)
                                                                                ,facteur_multiplicatif
                                                                                ,imageA,ARGUMENT_POINTERs(A_translation)
                                                                                 )
                                    )
                 )
     )
                                        /* Fonction introduite le 20111017144351.                                                    */
DEFV(Argument,DEFV(imageF,imageR));
                                        /* Image resultat a generer.                                                                 */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(R_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de generation de 'imageR' ; on n'obliera pas que cette translation est                    */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(Float,facteur_multiplicatif));
                                        /* Facteur multiplicatif 'K' (une valeur de l'ordre de 0.25 donne de bons resultats) ; voir  */
                                        /* a ce propos les commentaires de 'v $xci/un_sur_z.01$K'...                                 */
DEFV(Argument,DEFV(imageF,imageA));
                                        /* Image argument.                                                                           */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(A_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de l'image 'imageA' ; on n'oubliera pas que cette translation est                         */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     /*..............................................................................................................................*/
     CALS(IFinitialisation(imageR,FZERO));
                                        /* L'image Resultat est nettoye ici (contrairement a la transformation q**2),                */
                                        /* a cause du test de nullite du carre du module du nombre complexe courant ;                */
                                        /* dans ce cas aucun point n'est marque...                                                   */

     UN_SUR_O_DANS_LE_PLAN_HYPER_HYPER_COMPLEXE(BLOC(storeF_point_loadF_point(imageA
                                                                             ,fV_cDENORMALISE_OX(new_X)
                                                                             ,fV_cDENORMALISE_OY(new_Y)
                                                                             ,imageR
                                                                             ,X
                                                                             ,Y
                                                                              );
                                                     )
                                                );
     RETIF(imageR);
     Eblock

EFonctionF

#undef    UN_SUR_O_DANS_LE_PLAN_HYPER_HYPER_COMPLEXE

#undef    UN_SUR_O_PLANS_HYPER_HYPER_IMAGE_COMPLEXE
#undef    UN_SUR_O_DANS_PLANS_HYPER_HYPER_IMAGE_OU_HYPER_HYPER_COMPLEXE

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   C O N F O R M E   H O M O G R A P H I Q U E  :           */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#define   O_HOMOGRAPHIQUE_DANS_PLANS_HYPER_HYPER_IMAGE_OU_HYPER_HYPER_COMPLEXE                                                          \
                    Bblock                                                                                                              \
                    TRANSFORMATION__O_HOMOGRAPHIQUE(point_manoeuvre,point_courant,nombre_A,nombre_B,nombre_C,nombre_D,INDIRECT);        \
                                        /* Calcul de :                                                                               */ \
                                        /*                                                                                           */ \
                                        /*                   A.o + B                                                                 */ \
                                        /*                  ---------                                                                */ \
                                        /*                   C.o + D                                                                 */ \
                                        /*                                                                                           */ \
                    Eblock                                                                                                              \
                                        /* Definition generale de la transformation homographique dans les plans hyper-hyper-image   */ \
                                        /* ou hyper-hyper-complexe.                                                                  */
#define   O_HOMOGRAPHIQUE_PLANS_HYPER_HYPER_IMAGE_COMPLEXE                                                                              \
                    O_HOMOGRAPHIQUE_DANS_PLANS_HYPER_HYPER_IMAGE_OU_HYPER_HYPER_COMPLEXE                                                \
                                        /* Introduit le 20111017152554 afin de reduire la longueur de certaines lignes...            */

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        D E F I N I T I O N   D E   L A   T R A N S F O R M A T I O N   C O N F O R M E   H O M O G R A P H I Q U E                */
/*        E N   C O O R D O N N E E S   D ' E C R A N   [Xmin,Xmax] x [Ymin,Ymax]  :                                                 */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#define   O_HOMOGRAPHIQUE_DANS_LE_PLAN_HYPER_HYPER_IMAGE(action_rangement)                                                              \
                    Bblock                                                                                                              \
                    TRANSFORMATION_CONFORME_DANS_LE_PLAN_HYPER_HYPER_IMAGE(BLOC(DEFV(hyper_hyper_complexe,point_manoeuvre_A);           \
                                                                                DEFV(hyper_hyper_complexe,point_manoeuvre_B);           \
                                                                                DEFV(hyper_hyper_complexe,point_manoeuvre_C);           \
                                                                                DEFV(hyper_hyper_complexe,point_manoeuvre_D);           \
                                        /* Nombres complexes intermediaires...                                                       */ \
                                                                                )                                                       \
                                                                          ,TOUJOURS_VRAI                                                \
                                                                          ,BLOC(O_HOMOGRAPHIQUE_PLANS_HYPER_HYPER_IMAGE_COMPLEXE;)      \
                                                                          ,BLOC(action_rangement)                                       \
                                                                          ,NEUT(facteur_multiplicatif)                                  \
                                                                           );                                                           \
                    Eblock                                                                                                              \
                                        /* Definition de la transformation conforme en coordonnees d'ecran [Xmin,Xmax]x[Ymin,Ymax].  */

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   C O N F O R M E   H O M O G R A P H I Q U E              */
/*        E N   C O O R D O N N E E S   D ' E C R A N   [Xmin,Xmax] x [Ymin,Ymax]  :                                                 */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

BFonctionP

DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice1_RR,FU)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice1_RI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice1_RJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice1_RK,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice1_RS,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice1_RT,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice1_RU,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice1_RV,FZERO)));

DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice1_IR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice1_II,FU)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice1_IJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice1_IK,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice1_IS,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice1_IT,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice1_IU,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice1_IV,FZERO)));

DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice1_JR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice1_JI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice1_JJ,FU)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice1_JK,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice1_JS,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice1_JT,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice1_JU,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice1_JV,FZERO)));

DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice1_KR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice1_KI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice1_KJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice1_KK,FU)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice1_KS,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice1_KT,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice1_KU,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice1_KV,FZERO)));

DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice1_SR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice1_SI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice1_SJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice1_SK,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice1_SS,FU)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice1_ST,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice1_SU,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice1_SV,FZERO)));

DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice1_TR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice1_TI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice1_TJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice1_TK,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice1_TS,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice1_TT,FU)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice1_TU,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice1_TV,FZERO)));

DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice1_UR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice1_UI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice1_UJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice1_UK,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice1_US,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice1_UT,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice1_UU,FU)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice1_UV,FZERO)));

DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice1_VR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice1_VI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice1_VJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice1_VK,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice1_VS,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice1_VT,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice1_VU,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice1_VV,FU)));

DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice2_RR,FU)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice2_RI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice2_RJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice2_RK,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice2_RS,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice2_RT,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice2_RU,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice2_RV,FZERO)));

DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice2_IR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice2_II,FU)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice2_IJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice2_IK,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice2_IS,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice2_IT,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice2_IU,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____matrice2_IV,FZERO)));

DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____composante_J,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____composante_K,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____composante_S,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____composante_T,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____composante_U,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_image_____composante_V,FZERO)));

DEFV(Common,DEFV(FonctionP,POINTERp(Io_homographique_dans_le_plan_hyper_hyper_image(imageR,ARGUMENT_POINTERs(R_translation)
                                                                                   ,facteur_multiplicatif
                                                                                   ,imageA,ARGUMENT_POINTERs(A_translation)
                                                                                   ,ARGUMENT_POINTERs(nombre_A)
                                                                                   ,ARGUMENT_POINTERs(nombre_B)
                                                                                   ,ARGUMENT_POINTERs(nombre_C)
                                                                                   ,ARGUMENT_POINTERs(nombre_D)
                                                                                    )
                                    )
                 )
     )
DEFV(Argument,DEFV(image,imageR));
                                        /* Image resultat a generer.                                                                 */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(R_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de generation de 'imageR' ; on n'obliera pas que cette translation est                    */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(Float,facteur_multiplicatif));
                                        /* Facteur multiplicatif 'K' (une valeur de l'ordre de 0.01 donne de bons resultats).        */
DEFV(Argument,DEFV(image,imageA));
                                        /* Image argument.                                                                           */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(A_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de l'image 'imageA' ; on n'oubliera pas que cette translation est                         */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(hyper_hyper_complexe,POINTERs(nombre_A)));
DEFV(Argument,DEFV(hyper_hyper_complexe,POINTERs(nombre_B)));
DEFV(Argument,DEFV(hyper_hyper_complexe,POINTERs(nombre_C)));
DEFV(Argument,DEFV(hyper_hyper_complexe,POINTERs(nombre_D)));
                                        /* Definition des quatre coefficients complexes de la transformation homographique :         */
                                        /*                                                                                           */
                                        /*                   A.o + B                                                                 */
                                        /*                  ---------                                                                */
                                        /*                   C.o + D                                                                 */
                                        /*                                                                                           */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     /*..............................................................................................................................*/
     O_HOMOGRAPHIQUE_DANS_LE_PLAN_HYPER_HYPER_IMAGE(BLOC(store_point_load_point(imageA
                                                                               ,new_X
                                                                               ,new_Y
                                                                               ,imageR
                                                                               ,X
                                                                               ,Y
                                                                                );
                                                         )
                                                    );
     RETI(imageR);
     Eblock

EFonctionP

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   C O N F O R M E   H O M O G R A P H I Q U E              */
/*        E N   C O O R D O N N E E S   D ' E C R A N   [Xmin,Xmax] x [Ymin,Ymax]  :                                                 */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

BFonctionF

DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice1_RR,FU)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice1_RI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice1_RJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice1_RK,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice1_RS,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice1_RT,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice1_RU,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice1_RV,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice1_IR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice1_II,FU)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice1_IJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice1_IK,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice1_IS,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice1_IT,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice1_IU,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice1_IV,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice1_JR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice1_JI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice1_JJ,FU)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice1_JK,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice1_JS,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice1_JT,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice1_JU,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice1_JV,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice1_KR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice1_KI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice1_KJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice1_KK,FU)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice1_KS,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice1_KT,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice1_KU,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice1_KV,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice1_SR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice1_SI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice1_SJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice1_SK,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice1_SS,FU)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice1_ST,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice1_SU,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice1_SV,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice1_TR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice1_TI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice1_TJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice1_TK,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice1_TS,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice1_TT,FU)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice1_TU,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice1_TV,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice1_UR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice1_UI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice1_UJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice1_UK,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice1_US,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice1_UT,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice1_UU,FU)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice1_UV,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice1_VR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice1_VI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice1_VJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice1_VK,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice1_VS,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice1_VT,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice1_VU,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice1_VV,FU)));

DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice2_RR,FU)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice2_RI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice2_RJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice2_RK,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice2_RS,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice2_RT,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice2_RU,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice2_RV,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice2_IR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice2_II,FU)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice2_IJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice2_IK,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice2_IS,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice2_IT,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice2_IU,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____matrice2_IV,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____composante_J,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____composante_K,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____composante_S,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____composante_T,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____composante_U,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_image_____composante_V,FZERO)));

DEFV(Common,DEFV(FonctionF,POINTERF(IFo_homographique_dans_le_plan_hyper_hyper_image(imageR,ARGUMENT_POINTERs(R_translation)
                                                                                    ,facteur_multiplicatif
                                                                                    ,imageA,ARGUMENT_POINTERs(A_translation)
                                                                                    ,ARGUMENT_POINTERs(nombre_A)
                                                                                    ,ARGUMENT_POINTERs(nombre_B)
                                                                                    ,ARGUMENT_POINTERs(nombre_C)
                                                                                    ,ARGUMENT_POINTERs(nombre_D)
                                                                                     )
                                    )
                 )
     )
                                        /* Fonction introduite le 20111017144351.                                                    */
DEFV(Argument,DEFV(imageF,imageR));
                                        /* Image resultat a generer.                                                                 */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(R_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de generation de 'imageR' ; on n'obliera pas que cette translation est                    */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(Float,facteur_multiplicatif));
                                        /* Facteur multiplicatif 'K' (une valeur de l'ordre de 0.01 donne de bons resultats).        */
DEFV(Argument,DEFV(imageF,imageA));
                                        /* Image argument.                                                                           */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(A_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de l'image 'imageA' ; on n'oubliera pas que cette translation est                         */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(hyper_hyper_complexe,POINTERs(nombre_A)));
DEFV(Argument,DEFV(hyper_hyper_complexe,POINTERs(nombre_B)));
DEFV(Argument,DEFV(hyper_hyper_complexe,POINTERs(nombre_C)));
DEFV(Argument,DEFV(hyper_hyper_complexe,POINTERs(nombre_D)));
                                        /* Definition des quatre coefficients complexes de la transformation homographique :         */
                                        /*                                                                                           */
                                        /*                   A.o + B                                                                 */
                                        /*                  ---------                                                                */
                                        /*                   C.o + D                                                                 */
                                        /*                                                                                           */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     /*..............................................................................................................................*/
     O_HOMOGRAPHIQUE_DANS_LE_PLAN_HYPER_HYPER_IMAGE(BLOC(storeF_point_loadF_point(imageA
                                                                                 ,new_X
                                                                                 ,new_Y
                                                                                 ,imageR
                                                                                 ,X
                                                                                 ,Y
                                                                                  );
                                                         )
                                                    );
     RETIF(imageR);
     Eblock

EFonctionF

#undef    O_HOMOGRAPHIQUE_DANS_LE_PLAN_HYPER_HYPER_IMAGE

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        D E F I N I T I O N   D E   L A   T R A N S F O R M A T I O N   C O N F O R M E   H O M O G R A P H I Q U E                */
/*        E N   C O O R D O N N E E S   D U   P L A N   H Y P E R - H Y P E R - C O M P L E X E                                      */
/*        [0,1] x [0,1] x [0,1] x [0,1] x [0,1] x [0,1] x [0,1] x [0,1]  :                                                           */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#define   O_HOMOGRAPHIQUE_DANS_LE_PLAN_HYPER_HYPER_COMPLEXE(action_rangement)                                                           \
                    Bblock                                                                                                              \
                    TRANSFORMATION_CONFORME_DANS_LE_PLAN_HYPER_HYPER_COMPLEXE(BLOC(DEFV(hyper_hyper_complexe,point_manoeuvre_A);        \
                                                                                   DEFV(hyper_hyper_complexe,point_manoeuvre_B);        \
                                                                                   DEFV(hyper_hyper_complexe,point_manoeuvre_C);        \
                                                                                   DEFV(hyper_hyper_complexe,point_manoeuvre_D);        \
                                        /* Nombres complexes intermediaires...                                                       */ \
                                                                                   )                                                    \
                                                                             ,TOUJOURS_VRAI                                             \
                                                                             ,BLOC(O_HOMOGRAPHIQUE_PLANS_HYPER_HYPER_IMAGE_COMPLEXE;)   \
                                                                             ,BLOC(action_rangement)                                    \
                                                                              );                                                        \
                    Eblock                                                                                                              \
                                        /* Definition de la transformation conforme en coordonnees d'ecran [Xmin,Xmax]x[Ymin,Ymax].  */

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   C O N F O R M E   H O M O G R A P H I Q U E              */
/*        E N   C O O R D O N N E E S   D U   P L A N   H Y P E R - H Y P E R - C O M P L E X E                                      */
/*        [0,1] x [0,1] x [0,1] x [0,1] x [0,1] x [0,1] x [0,1] x [0,1]  :                                                           */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

BFonctionP

DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_RR,FU)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_RI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_RJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_RK,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_RS,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_RT,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_RU,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_RV,FZERO)));

DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_IR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_II,FU)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_IJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_IK,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_IS,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_IT,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_IU,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_IV,FZERO)));

DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_JR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_JI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_JJ,FU)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_JK,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_JS,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_JT,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_JU,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_JV,FZERO)));

DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_KR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_KI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_KJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_KK,FU)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_KS,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_KT,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_KU,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_KV,FZERO)));

DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_SR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_SI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_SJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_SK,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_SS,FU)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_ST,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_SU,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_SV,FZERO)));

DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_TR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_TI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_TJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_TK,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_TS,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_TT,FU)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_TU,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_TV,FZERO)));

DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_UR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_UI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_UJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_UK,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_US,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_UT,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_UU,FU)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_UV,FZERO)));

DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_VR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_VI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_VJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_VK,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_VS,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_VT,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_VU,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_VV,FU)));

DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice2_RR,FU)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice2_RI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice2_RJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice2_RK,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice2_RS,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice2_RT,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice2_RU,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice2_RV,FZERO)));

DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice2_IR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice2_II,FU)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice2_IJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice2_IK,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice2_IS,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice2_IT,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice2_IU,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____matrice2_IV,FZERO)));

DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____composante_J,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____composante_K,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____composante_S,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____composante_T,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____composante_U,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_homographique_dans_le_plan_hyper_hyper_complexe_____composante_V,FZERO)));

DEFV(Common,DEFV(FonctionP,POINTERp(Io_homographique_dans_le_plan_hyper_hyper_complexe(imageR,ARGUMENT_POINTERs(R_translation)
                                                                                      ,facteur_multiplicatif
                                                                                      ,imageA,ARGUMENT_POINTERs(A_translation)
                                                                                      ,ARGUMENT_POINTERs(nombre_A)
                                                                                      ,ARGUMENT_POINTERs(nombre_B)
                                                                                      ,ARGUMENT_POINTERs(nombre_C)
                                                                                      ,ARGUMENT_POINTERs(nombre_D)
                                                                                       )
                                    )
                 )
     )
                                        /* Fonction introduite le 20111017144351.                                                    */
DEFV(Argument,DEFV(image,imageR));
                                        /* Image resultat a generer.                                                                 */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(R_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de generation de 'imageR' ; on n'obliera pas que cette translation est                    */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(Float,facteur_multiplicatif));
                                        /* Facteur multiplicatif 'K' (une valeur de l'ordre de 5.0 donne de bons resultats) ; voir   */
                                        /* a ce propos les commentaires de 'v $xci/z_homogra.01$K'...                                */
DEFV(Argument,DEFV(image,imageA));
                                        /* Image argument.                                                                           */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(A_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de l'image 'imageA' ; on n'oubliera pas que cette translation est                         */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(hyper_hyper_complexe,POINTERs(nombre_A)));
DEFV(Argument,DEFV(hyper_hyper_complexe,POINTERs(nombre_B)));
DEFV(Argument,DEFV(hyper_hyper_complexe,POINTERs(nombre_C)));
DEFV(Argument,DEFV(hyper_hyper_complexe,POINTERs(nombre_D)));
                                        /* Definition des quatre coefficients complexes de la transformation homographique :         */
                                        /*                                                                                           */
                                        /*                   A.o + B                                                                 */
                                        /*                  ---------                                                                */
                                        /*                   C.o + D                                                                 */
                                        /*                                                                                           */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     /*..............................................................................................................................*/
     O_HOMOGRAPHIQUE_DANS_LE_PLAN_HYPER_HYPER_COMPLEXE(BLOC(store_point_load_point(imageA
                                                                                  ,fV_cDENORMALISE_OX(new_X)
                                                                                  ,fV_cDENORMALISE_OY(new_Y)
                                                                                  ,imageR
                                                                                  ,X
                                                                                  ,Y
                                                                                   );
                                                            )
                                                       );
     RETI(imageR);
     Eblock

EFonctionP

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   C O N F O R M E   H O M O G R A P H I Q U E              */
/*        E N   C O O R D O N N E E S   D U   P L A N   H Y P E R - H Y P E R - C O M P L E X E                                      */
/*        [0,1] x [0,1] x [0,1] x [0,1] x [0,1] x [0,1] x [0,1] x [0,1]  :                                                           */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

BFonctionF

DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_RR,FU)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_RI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_RJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_RK,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_RS,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_RT,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_RU,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_RV,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_IR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_II,FU)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_IJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_IK,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_IS,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_IT,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_IU,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_IV,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_JR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_JI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_JJ,FU)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_JK,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_JS,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_JT,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_JU,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_JV,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_KR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_KI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_KJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_KK,FU)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_KS,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_KT,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_KU,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_KV,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_SR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_SI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_SJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_SK,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_SS,FU)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_ST,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_SU,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_SV,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_TR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_TI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_TJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_TK,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_TS,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_TT,FU)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_TU,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_TV,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_UR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_UI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_UJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_UK,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_US,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_UT,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_UU,FU)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_UV,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_VR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_VI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_VJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_VK,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_VS,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_VT,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_VU,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice1_VV,FU)));

DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice2_RR,FU)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice2_RI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice2_RJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice2_RK,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice2_RS,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice2_RT,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice2_RU,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice2_RV,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice2_IR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice2_II,FU)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice2_IJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice2_IK,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice2_IS,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice2_IT,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice2_IU,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____matrice2_IV,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____composante_J,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____composante_K,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____composante_S,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____composante_T,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____composante_U,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_homographique_dans_le_plan_hyper_hyper_complexe_____composante_V,FZERO)));

DEFV(Common,DEFV(FonctionF,POINTERF(IFo_homographique_dans_le_plan_hyper_hyper_complexe(imageR,ARGUMENT_POINTERs(R_translation)
                                                                                       ,facteur_multiplicatif
                                                                                       ,imageA,ARGUMENT_POINTERs(A_translation)
                                                                                       ,ARGUMENT_POINTERs(nombre_A)
                                                                                       ,ARGUMENT_POINTERs(nombre_B)
                                                                                       ,ARGUMENT_POINTERs(nombre_C)
                                                                                       ,ARGUMENT_POINTERs(nombre_D)
                                                                                        )
                                    )
                 )
     )
                                        /* Fonction introduite le 20111017144351.                                                    */
DEFV(Argument,DEFV(imageF,imageR));
                                        /* Image resultat a generer.                                                                 */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(R_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de generation de 'imageR' ; on n'obliera pas que cette translation est                    */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(Float,facteur_multiplicatif));
                                        /* Facteur multiplicatif 'K' (une valeur de l'ordre de 5.0 donne de bons resultats) ; voir   */
                                        /* a ce propos les commentaires de 'v $xci/z_homogra.01$K'...                                */
DEFV(Argument,DEFV(imageF,imageA));
                                        /* Image argument.                                                                           */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(A_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de l'image 'imageA' ; on n'oubliera pas que cette translation est                         */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(hyper_hyper_complexe,POINTERs(nombre_A)));
DEFV(Argument,DEFV(hyper_hyper_complexe,POINTERs(nombre_B)));
DEFV(Argument,DEFV(hyper_hyper_complexe,POINTERs(nombre_C)));
DEFV(Argument,DEFV(hyper_hyper_complexe,POINTERs(nombre_D)));
                                        /* Definition des quatre coefficients complexes de la transformation homographique :         */
                                        /*                                                                                           */
                                        /*                   A.o + B                                                                 */
                                        /*                  ---------                                                                */
                                        /*                   C.o + D                                                                 */
                                        /*                                                                                           */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     /*..............................................................................................................................*/
     O_HOMOGRAPHIQUE_DANS_LE_PLAN_HYPER_HYPER_COMPLEXE(BLOC(storeF_point_loadF_point(imageA
                                                                                    ,fV_cDENORMALISE_OX(new_X)
                                                                                    ,fV_cDENORMALISE_OY(new_Y)
                                                                                    ,imageR
                                                                                    ,X
                                                                                    ,Y
                                                                                     );
                                                            )
                                                       );
     RETIF(imageR);
     Eblock

EFonctionF

#undef    O_HOMOGRAPHIQUE_DANS_LE_PLAN_HYPER_HYPER_COMPLEXE

#undef    O_HOMOGRAPHIQUE_PLANS_HYPER_HYPER_IMAGE_COMPLEXE
#undef    O_HOMOGRAPHIQUE_DANS_PLANS_HYPER_HYPER_IMAGE_OU_HYPER_HYPER_COMPLEXE

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   G E N E R A L I S E E  :   */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#define   O_HYPERBOLIQUE_1_DANS_PLANS_HYPER_HYPER_IMAGE_OU_HYPER_HYPER_COMPLEXE                                                         \
                    Bblock                                                                                                              \
                    DEFV(hyper_hyper_complexe_etendu,point_courant_etendu);                                                             \
                    DEFV(hyper_hyper_complexe_etendu,point_manoeuvre_etendu);                                                           \
                                                                                                                                        \
                    HHCextension_directe(point_courant_etendu,point_courant);                                                           \
                                                                                                                                        \
                    EGAL(HHCHHS_Rho(point_manoeuvre_etendu)                                                                             \
                        ,FfABSO(LIN2(NomDeLaFonctionCourante QD@@__ _____ponderation_TAHX                                               \
                                    ,TAHX(AXPB(NomDeLaFonctionCourante QD@@__ _____A_TAHX_du_module                                     \
                                              ,HHCHHS_Rho(point_courant_etendu)                                                         \
                                              ,NomDeLaFonctionCourante QD@@__ _____B_TAHX_du_module                                     \
                                               )                                                                                        \
                                          )                                                                                             \
                                    ,NomDeLaFonctionCourante QD@@__ _____ponderation_SINX                                               \
                                    ,SINX(AXPB(NomDeLaFonctionCourante QD@@__ _____A_SINX_du_module                                     \
                                              ,HHCHHS_Rho(point_courant_etendu)                                                         \
                                              ,NomDeLaFonctionCourante QD@@__ _____B_SINX_du_module                                     \
                                               )                                                                                        \
                                          )                                                                                             \
                                    ,NomDeLaFonctionCourante QD@@__ _____translation_du_module                                          \
                                     )                                                                                                  \
                                )                                                                                                       \
                         );                                                                                                             \
                                        /* Par l'usage de 'TAHX(...)', le module de 'point_courant_etendu', quelle que soit sa       */ \
                                        /* valeur, est ramene dans [0,1['...                                                         */ \
                                        /*                                                                                           */ \
                                        /* Le 20111230170628 la fonction 'FfABSO(...)' fut introduite car, en effet, un module       */ \
                                        /* ne peut etre que positif ou nul...                                                        */ \
                    EGAL(HHCHHS_Angle1(point_manoeuvre_etendu),NEUT(HHCHHS_Angle1(point_courant_etendu)));                              \
                    EGAL(HHCHHS_Angle2(point_manoeuvre_etendu),NEUT(HHCHHS_Angle2(point_courant_etendu)));                              \
                    EGAL(HHCHHS_Angle3(point_manoeuvre_etendu),NEUT(HHCHHS_Angle3(point_courant_etendu)));                              \
                    EGAL(HHCHHS_Angle4(point_manoeuvre_etendu),NEUT(HHCHHS_Angle4(point_courant_etendu)));                              \
                    EGAL(HHCHHS_Angle5(point_manoeuvre_etendu),NEUT(HHCHHS_Angle5(point_courant_etendu)));                              \
                    EGAL(HHCHHS_Angle6(point_manoeuvre_etendu),NEUT(HHCHHS_Angle6(point_courant_etendu)));                              \
                    EGAL(HHCHHS_Angle7(point_manoeuvre_etendu),NEUT(HHCHHS_Angle7(point_courant_etendu)));                              \
                                                                                                                                        \
                    HHCextension_inverse(point_manoeuvre,point_manoeuvre_etendu);                                                       \
                    Eblock                                                                                                              \
                                        /* Definition generale de la transformation 'o' hyperbolique dans les plans image ou         */ \
                                        /* complexe (introduite le 20111229172827).                                                  */
#define   O_HYPERBOLIQUE_1_DANS_PLANS_HH_IMAGE_OU_HH_COMPLEXE                                                                           \
                    Bblock                                                                                                              \
                    O_HYPERBOLIQUE_1_DANS_PLANS_HYPER_HYPER_IMAGE_OU_HYPER_HYPER_COMPLEXE;                                              \
                    Eblock                                                                                                              \
                                        /* Synonyme destine a raccourcir la longueur des lignes qui suivent...                       */

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        D E F I N I 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   G E N E R A L I S E E        */
/*        E N   C O O R D O N N E E S   D ' E C R A N   [Xmin,Xmax] x [Ymin,Ymax]  :                                                 */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#define   O_HYPERBOLIQUE_1_DANS_LE_PLAN_HYPER_HYPER_IMAGE(action_de_rangement)                                                          \
                    Bblock                                                                                                              \
                    TRANSFORMATION_CONFORME_DANS_LE_PLAN_HYPER_HYPER_IMAGE(BLOC(VIDE;)                                                  \
                                                                          ,TOUJOURS_VRAI                                                \
                                                                          ,BLOC(O_HYPERBOLIQUE_1_DANS_PLANS_HH_IMAGE_OU_HH_COMPLEXE;)   \
                                                                          ,BLOC(action_de_rangement)                                    \
                                                                          ,MUL2(facteur_multiplicatif,NEUT(facteur_correctif))          \
                                                                           );                                                           \
                    Eblock                                                                                                              \
                                        /* Definition de la transformation en coordonnees d'ecran [Xmin,Xmax]x[Ymin,Ymax].           */

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   G E N E R A L I S E E      */
/*        E N   C O O R D O N N E E S   D ' E C R A N   [Xmin,Xmax] x [Ymin,Ymax]  :                                                 */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

BFonctionP

DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_RR,FU)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_RI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_RJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_RK,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_RS,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_RT,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_RU,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_RV,FZERO)));

DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_IR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_II,FU)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_IJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_IK,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_IS,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_IT,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_IU,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_IV,FZERO)));

DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_JR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_JI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_JJ,FU)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_JK,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_JS,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_JT,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_JU,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_JV,FZERO)));

DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_KR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_KI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_KJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_KK,FU)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_KS,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_KT,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_KU,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_KV,FZERO)));

DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_SR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_SI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_SJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_SK,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_SS,FU)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_ST,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_SU,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_SV,FZERO)));

DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_TR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_TI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_TJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_TK,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_TS,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_TT,FU)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_TU,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_TV,FZERO)));

DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_UR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_UI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_UJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_UK,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_US,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_UT,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_UU,FU)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_UV,FZERO)));

DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_VR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_VI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_VJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_VK,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_VS,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_VT,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_VU,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_VV,FU)));

DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice2_RR,FU)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice2_RI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice2_RJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice2_RK,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice2_RS,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice2_RT,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice2_RU,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice2_RV,FZERO)));

DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice2_IR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice2_II,FU)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice2_IJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice2_IK,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice2_IS,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice2_IT,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice2_IU,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice2_IV,FZERO)));

DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____composante_J,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____composante_K,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____composante_S,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____composante_T,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____composante_U,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____composante_V,FZERO)));

DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____ponderation_TAHX,FU)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____A_TAHX_du_module,FU)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____B_TAHX_du_module,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____ponderation_SINX,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____A_SINX_du_module,FU)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____B_SINX_du_module,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image_____translation_du_module,FZERO)));

DEFV(Common,DEFV(FonctionP,POINTERp(Io_hyperbolique_1_dans_le_plan_hyper_hyper_image(imageR,ARGUMENT_POINTERs(R_translation)
                                                                                    ,facteur_multiplicatif
                                                                                    ,imageA,ARGUMENT_POINTERs(A_translation)
                                                                                     )
                                    )
                 )
     )
                                        /* Fonction introduite le 20111229172827.                                                    */
DEFV(Argument,DEFV(image,imageR));
                                        /* Image resultat a generer.                                                                 */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(R_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de generation de 'imageR' ; on n'obliera pas que cette translation est                    */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(Float,facteur_multiplicatif));
                                        /* Facteur multiplicatif 'K' (une valeur de l'ordre de 0.01 donne de bons resultats).        */
DEFV(Argument,DEFV(image,imageA));
                                        /* Image argument.                                                                           */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(A_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de l'image 'imageA' ; on n'oubliera pas que cette translation est                         */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     /*..............................................................................................................................*/
     O_HYPERBOLIQUE_1_DANS_LE_PLAN_HYPER_HYPER_IMAGE(BLOC(store_point_load_point(imageA
                                                                                ,new_X
                                                                                ,new_Y
                                                                                ,imageR
                                                                                ,X
                                                                                ,Y
                                                                                 );
                                                          )
                                                     );
     RETI(imageR);
     Eblock

EFonctionP

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   G E N E R A L I S E E      */
/*        E N   C O O R D O N N E E S   D ' E C R A N   [Xmin,Xmax] x [Ymin,Ymax]  :                                                 */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

BFonctionF

DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_RR,FU)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_RI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_RJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_RK,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_RS,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_RT,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_RU,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_RV,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_IR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_II,FU)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_IJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_IK,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_IS,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_IT,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_IU,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_IV,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_JR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_JI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_JJ,FU)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_JK,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_JS,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_JT,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_JU,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_JV,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_KR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_KI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_KJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_KK,FU)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_KS,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_KT,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_KU,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_KV,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_SR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_SI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_SJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_SK,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_SS,FU)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_ST,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_SU,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_SV,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_TR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_TI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_TJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_TK,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_TS,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_TT,FU)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_TU,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_TV,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_UR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_UI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_UJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_UK,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_US,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_UT,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_UU,FU)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_UV,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_VR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_VI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_VJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_VK,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_VS,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_VT,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_VU,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice1_VV,FU)));

DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice2_RR,FU)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice2_RI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice2_RJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice2_RK,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice2_RS,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice2_RT,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice2_RU,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice2_RV,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice2_IR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice2_II,FU)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice2_IJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice2_IK,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice2_IS,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice2_IT,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice2_IU,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____matrice2_IV,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____composante_J,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____composante_K,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____composante_S,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____composante_T,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____composante_U,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____composante_V,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____ponderation_TAHX,FU)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____A_TAHX_du_module,FU)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____B_TAHX_du_module,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____ponderation_SINX,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____A_SINX_du_module,FU)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____B_SINX_du_module,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image_____translation_du_module,FZERO)));

DEFV(Common,DEFV(FonctionF,POINTERF(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image(imageR,ARGUMENT_POINTERs(R_translation)
                                                                                     ,facteur_multiplicatif
                                                                                     ,imageA,ARGUMENT_POINTERs(A_translation)
                                                                                      )
                                    )
                 )
     )
                                        /* Fonction introduite le 20111229172827.                                                    */
DEFV(Argument,DEFV(imageF,imageR));
                                        /* Image resultat a generer.                                                                 */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(R_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de generation de 'imageR' ; on n'obliera pas que cette translation est                    */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(Float,facteur_multiplicatif));
                                        /* Facteur multiplicatif 'K' (une valeur de l'ordre de 0.01 donne de bons resultats).        */
DEFV(Argument,DEFV(imageF,imageA));
                                        /* Image argument.                                                                           */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(A_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de l'image 'imageA' ; on n'oubliera pas que cette translation est                         */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     /*..............................................................................................................................*/
     O_HYPERBOLIQUE_1_DANS_LE_PLAN_HYPER_HYPER_IMAGE(BLOC(storeF_point_loadF_point(imageA
                                                                                  ,new_X
                                                                                  ,new_Y
                                                                                  ,imageR
                                                                                  ,X
                                                                                  ,Y
                                                                                   );
                                                          )
                                                     );
     RETIF(imageR);
     Eblock

EFonctionF

#undef    O_HYPERBOLIQUE_1_DANS_LE_PLAN_HYPER_HYPER_IMAGE

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        D E F I N I 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   G E N E R A L I S E E        */
/*        E N   C O O R D O N N E E S   D U   P L A N   C O M P L E X E   [0,1] x [0,1]  :                                           */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#define   O_HYPERBOLIQUE_1_DANS_LE_PLAN_HYPER_HYPER_COMPLEXE(action_de_rangement)                                                       \
                    Bblock                                                                                                              \
                    TRANSFORMATION_CONFORME_DANS_LE_PLAN_HYPER_HYPER_COMPLEXE                                                           \
                        (BLOC(VIDE;)                                                                                                    \
                        ,TOUJOURS_VRAI                                                                                                  \
                        ,BLOC(O_HYPERBOLIQUE_1_DANS_PLANS_HH_IMAGE_OU_HH_COMPLEXE;)                                                     \
                        ,BLOC(action_de_rangement)                                                                                      \
                         );                                                                                                             \
                    Eblock                                                                                                              \
                                        /* Definition de la transformation en coordonnees d'ecran [Xmin,Xmax]x[Ymin,Ymax].           */

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   G E N E R A L I S E E      */
/*        E N   C O O R D O N N E E S   D U   P L A N   C O M P L E X E   [0,1] x [0,1]  :                                           */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

BFonctionP

DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_RR,FU)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_RI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_RJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_RK,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_RS,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_RT,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_RU,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_RV,FZERO)));

DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_IR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_II,FU)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_IJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_IK,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_IS,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_IT,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_IU,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_IV,FZERO)));

DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_JR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_JI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_JJ,FU)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_JK,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_JS,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_JT,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_JU,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_JV,FZERO)));

DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_KR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_KI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_KJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_KK,FU)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_KS,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_KT,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_KU,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_KV,FZERO)));

DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_SR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_SI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_SJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_SK,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_SS,FU)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_ST,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_SU,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_SV,FZERO)));

DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_TR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_TI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_TJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_TK,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_TS,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_TT,FU)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_TU,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_TV,FZERO)));

DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_UR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_UI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_UJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_UK,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_US,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_UT,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_UU,FU)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_UV,FZERO)));

DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_VR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_VI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_VJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_VK,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_VS,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_VT,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_VU,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_VV,FU)));

DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice2_RR,FU)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice2_RI,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice2_RJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice2_RK,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice2_RS,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice2_RT,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice2_RU,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice2_RV,FZERO)));

DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice2_IR,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice2_II,FU)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice2_IJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice2_IK,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice2_IS,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice2_IT,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice2_IU,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice2_IV,FZERO)));

DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____composante_J,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____composante_K,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____composante_S,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____composante_T,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____composante_U,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____composante_V,FZERO)));

DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____ponderation_TAHX,FU)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____A_TAHX_du_module,FU)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____B_TAHX_du_module,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____ponderation_SINX,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____A_SINX_du_module,FU)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____B_SINX_du_module,FZERO)));
DEFV(Common,DEFV(Float,SINT(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____translation_du_module,FZERO)));

DEFV(Common,DEFV(FonctionP,POINTERp(Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe(imageR,ARGUMENT_POINTERs(R_translation)
                                                                                       ,facteur_multiplicatif
                                                                                       ,imageA,ARGUMENT_POINTERs(A_translation)
                                                                                        )
                                    )
                 )
     )
                                        /* Fonction introduite le 20111229172827.                                                    */
DEFV(Argument,DEFV(image,imageR));
                                        /* Image resultat a generer.                                                                 */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(R_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de generation de 'imageR' ; on n'obliera pas que cette translation est                    */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(Float,facteur_multiplicatif));
                                        /* Facteur multiplicatif 'K'.                                                                */
DEFV(Argument,DEFV(image,imageA));
                                        /* Image argument.                                                                           */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(A_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de l'image 'imageA' ; on n'oubliera pas que cette translation est                         */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     /*..............................................................................................................................*/
     O_HYPERBOLIQUE_1_DANS_LE_PLAN_HYPER_HYPER_COMPLEXE(BLOC(store_point_load_point(imageA
                                                                                   ,fV_cDENORMALISE_OX(new_X)
                                                                                   ,fV_cDENORMALISE_OY(new_Y)
                                                                                   ,imageR
                                                                                   ,X
                                                                                   ,Y
                                                                                    );
                                                             )
                                                        );
     RETI(imageR);
     Eblock

EFonctionP

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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   G E N E R A L I S E E      */
/*        E N   C O O R D O N N E E S   D U   P L A N   C O M P L E X E   [0,1] x [0,1]  :                                           */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

BFonctionF

DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_RR,FU)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_RI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_RJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_RK,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_RS,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_RT,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_RU,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_RV,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_IR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_II,FU)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_IJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_IK,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_IS,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_IT,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_IU,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_IV,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_JR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_JI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_JJ,FU)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_JK,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_JS,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_JT,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_JU,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_JV,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_KR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_KI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_KJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_KK,FU)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_KS,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_KT,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_KU,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_KV,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_SR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_SI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_SJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_SK,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_SS,FU)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_ST,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_SU,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_SV,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_TR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_TI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_TJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_TK,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_TS,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_TT,FU)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_TU,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_TV,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_UR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_UI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_UJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_UK,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_US,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_UT,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_UU,FU)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_UV,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_VR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_VI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_VJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_VK,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_VS,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_VT,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_VU,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice1_VV,FU)));

DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice2_RR,FU)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice2_RI,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice2_RJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice2_RK,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice2_RS,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice2_RT,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice2_RU,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice2_RV,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice2_IR,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice2_II,FU)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice2_IJ,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice2_IK,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice2_IS,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice2_IT,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice2_IU,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____matrice2_IV,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____composante_J,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____composante_K,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____composante_S,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____composante_T,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____composante_U,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____composante_V,FZERO)));

DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____ponderation_TAHX,FU)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____A_TAHX_du_module,FU)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____B_TAHX_du_module,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____ponderation_SINX,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____A_SINX_du_module,FU)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____B_SINX_du_module,FZERO)));
DEFV(Common,DEFV(Float,SINT(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe_____translation_du_module,FZERO)));

DEFV(Common,DEFV(FonctionF,POINTERF(IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe(imageR,ARGUMENT_POINTERs(R_translation)
                                                                                        ,facteur_multiplicatif
                                                                                        ,imageA,ARGUMENT_POINTERs(A_translation)
                                                                                         )
                                    )
                 )
     )
                                        /* Fonction introduite le 20111229172827.                                                    */
DEFV(Argument,DEFV(imageF,imageR));
                                        /* Image resultat a generer.                                                                 */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(R_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de generation de 'imageR' ; on n'obliera pas que cette translation est                    */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
DEFV(Argument,DEFV(Float,facteur_multiplicatif));
                                        /* Facteur multiplicatif 'K'.                                                                */
DEFV(Argument,DEFV(imageF,imageA));
                                        /* Image argument.                                                                           */
DEFV(Argument,DEFV(deltaF_2D,POINTERs(A_translation)));
                                        /* Translation horizontale ('dx') et verticale ('dy') des coordonnees                        */
                                        /* de l'image 'imageA' ; on n'oubliera pas que cette translation est                         */
                                        /* exprimee dans des unites telles que l'unite vaut respectivement                           */
                                        /* [Xmin,Xmax] et [Ymin,Ymax].                                                               */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     /*..............................................................................................................................*/
     O_HYPERBOLIQUE_1_DANS_LE_PLAN_HYPER_HYPER_COMPLEXE(BLOC(storeF_point_loadF_point(imageA
                                                                                     ,fV_cDENORMALISE_OX(new_X)
                                                                                     ,fV_cDENORMALISE_OY(new_Y)
                                                                                     ,imageR
                                                                                     ,X
                                                                                     ,Y
                                                                                      );
                                                             )
                                                        );
     RETIF(imageR);
     Eblock

EFonctionF

#undef    O_HYPERBOLIQUE_1_DANS_LE_PLAN_HYPER_HYPER_COMPLEXE

#undef    O_HYPERBOLIQUE_1_DANS_PLANS_HH_IMAGE_OU_HH_COMPLEXE
#undef    O_HYPERBOLIQUE_1_DANS_PLANS_HYPER_HYPER_IMAGE_OU_HYPER_HYPER_COMPLEXE

#undef    TRANSFORMATION_CONFORME_DANS_LE_PLAN_HYPER_HYPER_COMPLEXE
#undef    TRANSFORMATION_CONFORME_DANS_LE_PLAN_HYPER_HYPER_IMAGE

#undef    NomFonctionCourant

#undef    TRANSFORMATION_CONFORME_DANS_LE_PLAN_HYPER_HYPER_IMAGE_____Ymax_ref
#undef    TRANSFORMATION_CONFORME_DANS_LE_PLAN_HYPER_HYPER_IMAGE_____Ymin_ref
#undef    TRANSFORMATION_CONFORME_DANS_LE_PLAN_HYPER_HYPER_IMAGE_____Xmax_ref
#undef    TRANSFORMATION_CONFORME_DANS_LE_PLAN_HYPER_HYPER_IMAGE_____Xmin_ref

#undef    A_translation__dX_____
#undef    A_translation__dY_____
#undef    R_translation__dX_____
#undef    R_translation__dY_____

#undef    storeJ_point_loadJ_point
#undef    storeF_point_loadF_point
#undef    store_point_load_point
#undef    COORDONNEES_EFFECTIVES_DE_store_load

_______________________________________________________________________________________________________________________________________



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.