/*************************************************************************************************************************************/
/* */
/* F O N C T I O N S 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 : */
/* */
/* Ce fichier contient toutes les definitions */
/* des fonctions de manipulation des images par */
/* transformations conformes. */
/* */
/* */
/* Author of '$ximcf/conformes$DEF' : */
/* */
/* Jean-Francois COLONNA (LACTAMME, 20041225173122). */
/* */
/*************************************************************************************************************************************/
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* D E F I N I T I O N S G E N E R A L E S 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 : */
/* */
/*************************************************************************************************************************************/
#define TRANSFORMATION__ZQO_AU_CARRE(p,p1,produit) \
Bblock \
produit(p,p1,p1); \
Eblock \
/* Transformation conforme 'p1.p1' (introduite le 20120520112554). */
#define TRANSFORMATION__UN_SUR_ZQO(p,p1,unite,quotient) \
Bblock \
quotient(p,unite,p1); \
Eblock \
/* Transformation conforme '1/p1' (introduite le 20120520112554). */
#define TRANSFORMATION__ZQO_HOMOGRAPHIQUE(p,p1,type,somme,produit,quotient,puissance,exposantN,exposantD,nA,nB,nC,nD,ACCES) \
/* La generalisation des transformations homographiques a ete introduite le 20210325104426 */ \
/* en permettant d'elever 'p1' a une certaine puissance aussi bien au Numerateur qu'au */ \
/* Denominateur... */ \
Bblock \
DEFV(type,p1N); \
DEFV(type,p1D); \
DEFV(type,pmA); \
DEFV(type,pmB); \
DEFV(type,pmC); \
DEFV(type,pmD); \
\
puissance(p1N,p1,exposantN); \
/* Calcul de : */ \
/* */ \
/* expN */ \
/* p1N = p1 */ \
/* */ \
\
puissance(p1D,p1,exposantD); \
/* Calcul de : */ \
/* */ \
/* expD */ \
/* p1D = p1 */ \
/* */ \
\
produit(pmA,ACCES(nA),p1N); \
somme(pmB,pmA,ACCES(nB)); \
/* Calcul de : */ \
/* */ \
/* A.p1N + B */ \
/* */ \
\
produit(pmC,ACCES(nC),p1D); \
somme(pmD,pmC,ACCES(nD)); \
/* Calcul de : */ \
/* */ \
/* C.p1D + D */ \
/* */ \
\
quotient(p,pmB,pmD); \
/* Calcul de : */ \
/* */ \
/* A.p1N + B */ \
/* ----------- */ \
/* C.p1D + D */ \
/* */ \
Eblock \
/* Transformation conforme '((A.p1)+B)/((C.p1)+D)' (introduite le 20120520112554). */
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* D E F I N I T I O N S G E N E R A L E S 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 P L A N C O M P L E X E : */
/* */
/*************************************************************************************************************************************/
#define TRANSFORMATION__Z_AU_CARRE(z,z1) \
Bblock \
TRANSFORMATION__ZQO_AU_CARRE(z,z1,Cproduit); \
Eblock \
/* Transformation conforme 'z.z' (introduite le 20120520112554). */
#define TRANSFORMATION__UN_SUR_Z(z,z1) \
Bblock \
TRANSFORMATION__UN_SUR_ZQO(z,z1,C_____nombre_complexe_p1__0,Cquotient); \
Eblock \
/* Transformation conforme '1/z' (introduite le 20120520112554). */
#define TRANSFORMATION__Z_HOMOGRAPHIQUE(z,z1,nA,nB,nC,nD,ACCES) \
Bblock \
TRANSFORMATION__ZQO_HOMOGRAPHIQUE(z,z1 \
,complexe \
,Csomme \
,Cproduit \
,Cquotient \
,Cpuissance \
,TRANSFORMATION__Z_HOMOGRAPHIQUE_____exposant_du_numerateur__ \
,TRANSFORMATION__Z_HOMOGRAPHIQUE_____exposant_du_denominateur \
,nA,nB,nC,nD \
,ACCES \
); \
Eblock \
/* Transformation conforme '((A.z)+B)/((C.z)+D)' (introduite le 20120520112554). */
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* D E F I N I T I O N S G E N E R A L E S 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 P L A N H Y P E R - C O M P L E X E : */
/* */
/*************************************************************************************************************************************/
#define TRANSFORMATION__Q_AU_CARRE(q,q1) \
Bblock \
TRANSFORMATION__ZQO_AU_CARRE(q,q1,aHCproduit); \
Eblock \
/* Transformation conforme 'q.q' (introduite le 20120520112554). */
#define TRANSFORMATION__UN_SUR_Q(q,q1) \
Bblock \
TRANSFORMATION__UN_SUR_ZQO(q,q1,HC_____quaternion_p1__0__0__0,aHCquotient); \
Eblock \
/* Transformation conforme '1/q' (introduite le 20120520112554). */
#define TRANSFORMATION__Q_HOMOGRAPHIQUE(q,q1,nA,nB,nC,nD,ACCES) \
Bblock \
TRANSFORMATION__ZQO_HOMOGRAPHIQUE(q,q1 \
,hyper_complexe \
,aHCsomme \
,aHCproduit \
,aHCquotient \
,aHCpuissance \
,TRANSFORMATION__Q_HOMOGRAPHIQUE_____exposant_du_numerateur__ \
,TRANSFORMATION__Q_HOMOGRAPHIQUE_____exposant_du_denominateur \
,nA,nB,nC,nD \
,ACCES \
); \
Eblock \
/* Transformation conforme '((A.q)+B)/((C.q)+D)' (introduite le 20120520112554). */
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* D E F I N I T I O N S G E N E R A L E S 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 P L A N H Y P E R - H Y P E R - C O M P L E X E : */
/* */
/*************************************************************************************************************************************/
#define TRANSFORMATION__O_AU_CARRE(o,o1) \
Bblock \
TRANSFORMATION__ZQO_AU_CARRE(o,o1,aHHCproduit); \
Eblock \
/* Transformation conforme 'o.o' (introduite le 20120520112554). */
#define TRANSFORMATION__UN_SUR_O(o,o1) \
Bblock \
TRANSFORMATION__UN_SUR_ZQO(o,o1,HHC_____octonion_p1__0__0__0__0__0__0__0,aHHCquotient); \
Eblock \
/* Transformation conforme '1/o' (introduite le 20120520112554). */
#define TRANSFORMATION__O_HOMOGRAPHIQUE(o,o1,nA,nB,nC,nD,ACCES) \
Bblock \
TRANSFORMATION__ZQO_HOMOGRAPHIQUE(o,o1 \
,hyper_hyper_complexe \
,aHHCsomme \
,aHHCproduit \
,aHHCquotient \
,aHHCpuissance \
,TRANSFORMATION__O_HOMOGRAPHIQUE_____exposant_du_numerateur__ \
,TRANSFORMATION__O_HOMOGRAPHIQUE_____exposant_du_denominateur \
,nA,nB,nC,nD \
,ACCES \
); \
Eblock \
/* Transformation conforme '((A.o)+B)/((C.o)+D)' (introduite le 20120520112554). */
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* 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] : */
/* */
/*************************************************************************************************************************************/
#define gIz_au_carre_dans_le_plan_image(les_images_sont_standards,imageR,FimageR,R_translat,facteur,imageA,FimageA,A_translat) \
gCALC(EST_VRAI(les_images_sont_standards) \
,Iz_au_carre_dans_le_plan_image(imageR,R_translat,facteur,imageA,A_translat) \
,IFz_au_carre_dans_le_plan_image(FimageR,R_translat,facteur,FimageA,A_translat) \
) \
/* Transformation conforme "z au carre" ("standard" ou "flottante"). */
#define gIz_au_carre_dans_le_plan_complexe(les_images_sont_standards,imageR,FimageR,R_translat,facteur,imageA,FimageA,A_translat) \
gCALC(EST_VRAI(les_images_sont_standards) \
,Iz_au_carre_dans_le_plan_complexe(imageR,R_translat,facteur,imageA,A_translat) \
,IFz_au_carre_dans_le_plan_complexe(FimageR,R_translat,facteur,FimageA,A_translat) \
) \
/* Transformation conforme "z au carre" ("standard" ou "flottante"). */
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* 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] : */
/* */
/*************************************************************************************************************************************/
#define gIun_sur_z_dans_le_plan_image(les_images_sont_standards,imageR,FimageR,R_translat,facteur,imageA,FimageA,A_translat) \
gCALC(EST_VRAI(les_images_sont_standards) \
,Iun_sur_z_dans_le_plan_image(imageR,R_translat,facteur,imageA,A_translat) \
,IFun_sur_z_dans_le_plan_image(FimageR,R_translat,facteur,FimageA,A_translat) \
) \
/* Transformation conforme "un sur z" ("standard" ou "flottante"). */
#define gIun_sur_z_dans_le_plan_complexe(les_images_sont_standards,imageR,FimageR,R_translat,facteur,imageA,FimageA,A_translat) \
gCALC(EST_VRAI(les_images_sont_standards) \
,Iun_sur_z_dans_le_plan_complexe(imageR,R_translat,facteur,imageA,A_translat) \
,IFun_sur_z_dans_le_plan_complexe(FimageR,R_translat,facteur,FimageA,A_translat) \
) \
/* Transformation conforme "un sur z" ("standard" ou "flottante"). */
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* 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] : */
/* */
/*************************************************************************************************************************************/
/* Ceci a ete introduit le 20041228085125 : */
#define gIz_homographique_dans_le_plan_image(les_images_sont_standards,imageR,FimageR,R_tr,fact,imageA,FimageA,A_tr,nA,nB,nC,nD) \
gCALC(EST_VRAI(les_images_sont_standards) \
,Iz_homographique_dans_le_plan_image(imageR,R_tr,fact,imageA,A_tr,nA,nB,nC,nD) \
,IFz_homographique_dans_le_plan_image(FimageR,R_tr,fact,FimageA,A_tr,nA,nB,nC,nD) \
) \
/* Transformation conforme homographique ("standard" ou "flottante"). */
#define gIz_homographique_dans_le_plan_complexe(les_images_sont_standards,imageR,FimageR,R_tr,fact,imageA,FimageA,A_tr,nA,nB,nC,nD) \
gCALC(EST_VRAI(les_images_sont_standards) \
,Iz_homographique_dans_le_plan_complexe(imageR,R_tr,fact,imageA,A_tr,nA,nB,nC,nD) \
,IFz_homographique_dans_le_plan_complexe(FimageR,R_tr,fact,FimageA,A_tr,nA,nB,nC,nD) \
) \
/* Transformation conforme homographique ("standard" ou "flottante"). */
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* 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] : */
/* */
/*************************************************************************************************************************************/
/* Ceci a ete introduit le 20200705121006 : */
#define gIz_auto_similaire_dans_le_plan_image(les_images_sont_standards,imageR,FimageR,R_tr,fact,imageA,FimageA,A_tr,pd,prd) \
gCALC(EST_VRAI(les_images_sont_standards) \
,Iz_auto_similaire_dans_le_plan_image(imageR,R_tr,fact,imageA,A_tr,pd,prd) \
,IFz_auto_similaire_dans_le_plan_image(FimageR,R_tr,fact,FimageA,A_tr,pd,prd) \
) \
/* Transformation conforme "auto-similaire" ("standard" ou "flottante"). */
#define gIz_auto_similaire_dans_le_plan_complexe(les_images_sont_standards,imageR,FimageR,R_tr,fact,imageA,FimageA,A_tr,pd,prd) \
gCALC(EST_VRAI(les_images_sont_standards) \
,Iz_auto_similaire_dans_le_plan_complexe(imageR,R_tr,fact,imageA,A_tr,pd,prd) \
,IFz_auto_similaire_dans_le_plan_complexe(FimageR,R_tr,fact,FimageA,A_tr,pd,prd) \
) \
/* Transformation conforme "auto-similaire" ("standard" ou "flottante"). */
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* 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 */
/* E N C O O R D O N N E E S D ' E C R A N [Xmin,Xmax] x [Ymin,Ymax] : */
/* */
/*************************************************************************************************************************************/
/* Ceci a ete introduit le 20111228112148 : */
#define gIz_hyperbolique_1_dans_le_plan_image(les_images_sont_standards,imageR,FimageR,R_tr,fact,imageA,FimageA,A_tr) \
gCALC(EST_VRAI(les_images_sont_standards) \
,Iz_hyperbolique_1_dans_le_plan_image(imageR,R_tr,fact,imageA,A_tr) \
,IFz_hyperbolique_1_dans_le_plan_image(FimageR,R_tr,fact,FimageA,A_tr) \
) \
/* Transformation conforme hyperbolique 1 ("standard" ou "flottante"). */
#define gIz_hyperbolique_1_dans_le_plan_complexe(les_images_sont_standards,imageR,FimageR,R_tr,fact,imageA,FimageA,A_tr) \
gCALC(EST_VRAI(les_images_sont_standards) \
,Iz_hyperbolique_1_dans_le_plan_complexe(imageR,R_tr,fact,imageA,A_tr) \
,IFz_hyperbolique_1_dans_le_plan_complexe(FimageR,R_tr,fact,FimageA,A_tr) \
) \
/* Transformation conforme hyperbolique 1 ("standard" ou "flottante"). */
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* 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 */
/* E N C O O R D O N N E E S D ' E C R A N [Xmin,Xmax] x [Ymin,Ymax] : */
/* */
/*************************************************************************************************************************************/
/* Ceci a ete introduit le 20120526223509 : */
#define gIz_hyperbolique_2_dans_le_plan_image(les_images_sont_standards,imageR,FimageR,R_tr,fact,imageA,FimageA,A_tr) \
gCALC(EST_VRAI(les_images_sont_standards) \
,Iz_hyperbolique_2_dans_le_plan_image(imageR,R_tr,fact,imageA,A_tr) \
,IFz_hyperbolique_2_dans_le_plan_image(FimageR,R_tr,fact,FimageA,A_tr) \
) \
/* Transformation conforme hyperbolique 2 ("standard" ou "flottante"). */
#define gIz_hyperbolique_2_dans_le_plan_complexe(les_images_sont_standards,imageR,FimageR,R_tr,fact,imageA,FimageA,A_tr) \
gCALC(EST_VRAI(les_images_sont_standards) \
,Iz_hyperbolique_2_dans_le_plan_complexe(imageR,R_tr,fact,imageA,A_tr) \
,IFz_hyperbolique_2_dans_le_plan_complexe(FimageR,R_tr,fact,FimageA,A_tr) \
) \
/* Transformation conforme hyperbolique 2 ("standard" ou "flottante"). */
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* 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] : */
/* */
/*************************************************************************************************************************************/
/* Ceci a ete introduit le 20070116154207 : */
#define gIq_au_carre_dans_le_plan_hyper_image(les_images_sont_standards,imageR,FimageR,R_trans,facteur,imageA,FimageA,A_trans) \
gCALC(EST_VRAI(les_images_sont_standards) \
,Iq_au_carre_dans_le_plan_hyper_image(imageR,R_trans,facteur,imageA,A_trans) \
,IFq_au_carre_dans_le_plan_hyper_image(FimageR,R_trans,facteur,FimageA,A_trans) \
) \
/* Transformation conforme "q au carre" ("standard" ou "flottante"). */
#define gIq_au_carre_dans_le_plan_hyper_complexe(les_images_sont_standards,imageR,FimageR,R_trans,facteur,imageA,FimageA,A_trans) \
gCALC(EST_VRAI(les_images_sont_standards) \
,Iq_au_carre_dans_le_plan_hyper_complexe(imageR,R_trans,facteur,imageA,A_trans) \
,IFq_au_carre_dans_le_plan_hyper_complexe(FimageR,R_trans,facteur,FimageA,A_trans) \
) \
/* Transformation conforme "q au carre" ("standard" ou "flottante"). */
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* 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] : */
/* */
/*************************************************************************************************************************************/
/* Ceci a ete introduit le 20070116154207 : */
#define gIun_sur_q_dans_le_plan_hyper_image(les_images_sont_standards,imageR,FimageR,R_trans,facteur,imageA,FimageA,A_trans) \
gCALC(EST_VRAI(les_images_sont_standards) \
,Iun_sur_q_dans_le_plan_hyper_image(imageR,R_trans,facteur,imageA,A_trans) \
,IFun_sur_q_dans_le_plan_hyper_image(FimageR,R_trans,facteur,FimageA,A_trans) \
) \
/* Transformation conforme "un sur q" ("standard" ou "flottante"). */
#define gIun_sur_q_dans_le_plan_hyper_complexe(les_images_sont_standards,imageR,FimageR,R_trans,facteur,imageA,FimageA,A_trans) \
gCALC(EST_VRAI(les_images_sont_standards) \
,Iun_sur_q_dans_le_plan_hyper_complexe(imageR,R_trans,facteur,imageA,A_trans) \
,IFun_sur_q_dans_le_plan_hyper_complexe(FimageR,R_trans,facteur,FimageA,A_trans) \
) \
/* Transformation conforme "un sur q" ("standard" ou "flottante"). */
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* 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] : */
/* */
/*************************************************************************************************************************************/
/* Ceci a ete introduit le 20070116154207 : */
#define gIq_homographique_dans_le_plan_hyper_image(images_sont_standards,imageR,FimageR,R_tr,fact,imageA,FimageA,A_tr,nA,nB,nC,nD) \
gCALC(EST_VRAI(images_sont_standards) \
,Iq_homographique_dans_le_plan_hyper_image(imageR,R_tr,fact,imageA,A_tr,nA,nB,nC,nD) \
,IFq_homographique_dans_le_plan_hyper_image(FimageR,R_tr,fact,FimageA,A_tr,nA,nB,nC,nD) \
) \
/* Transformation conforme homographique ("standard" ou "flottante"). */
#define gIq_homographique_dans_le_plan_hyper_complexe(images_sont_standards,imageR,FimageR,R_tr,fact,imageA,FimageA,A_tr,nA,nB,nC,nD) \
gCALC(EST_VRAI(images_sont_standards) \
,Iq_homographique_dans_le_plan_hyper_complexe(imageR,R_tr,fact,imageA,A_tr,nA,nB,nC,nD) \
,IFq_homographique_dans_le_plan_hyper_complexe(FimageR,R_tr,fact,FimageA,A_tr,nA,nB,nC,nD) \
) \
/* Transformation conforme homographique ("standard" ou "flottante"). */
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* 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 */
/* E N C O O R D O N N E E S D ' E C R A N [Xmin,Xmax] x [Ymin,Ymax] : */
/* */
/*************************************************************************************************************************************/
/* Ceci a ete introduit le 20111229175602 : */
#define gIq_hyperbolique_1_dans_le_plan_hyper_image(images_sont_standards,imageR,FimageR,R_tr,fact,imageA,FimageA,A_tr) \
gCALC(EST_VRAI(images_sont_standards) \
,Iq_hyperbolique_1_dans_le_plan_hyper_image(imageR,R_tr,fact,imageA,A_tr) \
,IFq_hyperbolique_1_dans_le_plan_hyper_image(FimageR,R_tr,fact,FimageA,A_tr) \
) \
/* Transformation conforme hyperbolique 1 ("standard" ou "flottante"). */
#define gIq_hyperbolique_1_dans_le_plan_hyper_complexe(images_sont_standards,imageR,FimageR,R_tr,fact,imageA,FimageA,A_tr) \
gCALC(EST_VRAI(images_sont_standards) \
,Iq_hyperbolique_1_dans_le_plan_hyper_complexe(imageR,R_tr,fact,imageA,A_tr) \
,IFq_hyperbolique_1_dans_le_plan_hyper_complexe(FimageR,R_tr,fact,FimageA,A_tr) \
) \
/* Transformation conforme hyperbolique 1 ("standard" ou "flottante"). */
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* 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] : */
/* */
/*************************************************************************************************************************************/
/* Ceci a ete introduit le 20070116154207 : */
#define gIo_au_carre_dans_le_plan_hyper_hyper_image(i_standards,imageR,FimageR,R_trans,facteur,imageA,FimageA,A_trans) \
gCALC(EST_VRAI(i_standards) \
,Io_au_carre_dans_le_plan_hyper_hyper_image(imageR,R_trans,facteur,imageA,A_trans) \
,IFo_au_carre_dans_le_plan_hyper_hyper_image(FimageR,R_trans,facteur,FimageA,A_trans) \
) \
/* Transformation conforme "o au carre" ("standard" ou "flottante"). */
#define gIo_au_carre_dans_le_plan_hyper_hyper_complexe(i_standards,imageR,FimageR,R_trans,facteur,imageA,FimageA,A_trans) \
gCALC(EST_VRAI(i_standards) \
,Io_au_carre_dans_le_plan_hyper_hyper_complexe(imageR,R_trans,facteur,imageA,A_trans) \
,IFo_au_carre_dans_le_plan_hyper_hyper_complexe(FimageR,R_trans,facteur,FimageA,A_trans) \
) \
/* Transformation conforme "o au carre" ("standard" ou "flottante"). */
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* 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] : */
/* */
/*************************************************************************************************************************************/
/* Ceci a ete introduit le 20070116154207 : */
#define gIun_sur_o_dans_le_plan_hyper_hyper_image(i_standards,imageR,FimageR,R_trans,facteur,imageA,FimageA,A_trans) \
gCALC(EST_VRAI(i_standards) \
,Iun_sur_o_dans_le_plan_hyper_hyper_image(imageR,R_trans,facteur,imageA,A_trans) \
,IFun_sur_o_dans_le_plan_hyper_hyper_image(FimageR,R_trans,facteur,FimageA,A_trans) \
) \
/* Transformation conforme "un sur o" ("standard" ou "flottante"). */
#define gIun_sur_o_dans_le_plan_hyper_hyper_complexe(i_standards,imageR,FimageR,R_trans,facteur,imageA,FimageA,A_trans) \
gCALC(EST_VRAI(i_standards) \
,Iun_sur_o_dans_le_plan_hyper_hyper_complexe(imageR,R_trans,facteur,imageA,A_trans) \
,IFun_sur_o_dans_le_plan_hyper_hyper_complexe(FimageR,R_trans,facteur,FimageA,A_trans) \
) \
/* Transformation conforme "un sur o" ("standard" ou "flottante"). */
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* 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] : */
/* */
/*************************************************************************************************************************************/
/* Ceci a ete introduit le 20070116154207 : */
#define gIo_homographique_dans_le_plan_hyper_hyper_image(i_standards,imageR,FimageR,R_tr,fact,imageA,FimageA,A_tr,nA,nB,nC,nD) \
gCALC(EST_VRAI(i_standards) \
,Io_homographique_dans_le_plan_hyper_hyper_image(imageR,R_tr,fact,imageA,A_tr,nA,nB,nC,nD) \
,IFo_homographique_dans_le_plan_hyper_hyper_image(FimageR,R_tr,fact,FimageA,A_tr,nA,nB,nC,nD) \
) \
/* Transformation conforme homographique ("standard" ou "flottante"). */
#define gIo_homographique_dans_le_plan_hyper_hyper_complexe(i_standards,imageR,FimageR,R_tr,fact,imageA,FimageA,A_tr,nA,nB,nC,nD) \
gCALC(EST_VRAI(i_standards) \
,Io_homographique_dans_le_plan_hyper_hyper_complexe(imageR,R_tr,fact,imageA,A_tr,nA,nB,nC,nD) \
,IFo_homographique_dans_le_plan_hyper_hyper_complexe(FimageR,R_tr,fact,FimageA,A_tr,nA,nB,nC,nD) \
) \
/* Transformation conforme homographique ("standard" ou "flottante"). */
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* 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 */
/* E N C O O R D O N N E E S D ' E C R A N [Xmin,Xmax] x [Ymin,Ymax] : */
/* */
/*************************************************************************************************************************************/
/* Ceci a ete introduit le 20111229175602 : */
#define gIo_hyperbolique_1_dans_le_plan_hyper_hyper_image(i_standards,imageR,FimageR,R_tr,fact,imageA,FimageA,A_tr) \
gCALC(EST_VRAI(i_standards) \
,Io_hyperbolique_1_dans_le_plan_hyper_hyper_image(imageR,R_tr,fact,imageA,A_tr) \
,IFo_hyperbolique_1_dans_le_plan_hyper_hyper_image(FimageR,R_tr,fact,FimageA,A_tr) \
) \
/* Transformation conforme hyperbolique 1 ("standard" ou "flottante"). */
#define gIo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe(i_standards,imageR,FimageR,R_tr,fact,imageA,FimageA,A_tr) \
gCALC(EST_VRAI(i_standards) \
,Io_hyperbolique_1_dans_le_plan_hyper_hyper_complexe(imageR,R_tr,fact,imageA,A_tr) \
,IFo_hyperbolique_1_dans_le_plan_hyper_hyper_complexe(FimageR,R_tr,fact,FimageA,A_tr) \
) \
/* Transformation conforme hyperbolique 1 ("standard" ou "flottante"). */
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* D E F I N I T I O N S G E N E R A L E S D E S T R A N S F O R M A T I O N S Q U E L C O N Q U E S : */
/* */
/*************************************************************************************************************************************/
#define TRANSFORMATION__ZQO_AUTO_SIMILAIRE(p,p1,pd,prd,type,egal,produit,quotient,logarithme,exponentielle,base,ACCES) \
Bblock \
DEFV(type,pmA); \
DEFV(type,pmB); \
\
quotient(pmA,p1,ACCES(pd)); \
/* Calcul de : */ \
/* */ \
/* p1 */ \
/* ---- */ \
/* pd */ \
/* */ \
/* le nombre 'pd' etant le "Diviseur"... */ \
logarithme(pmB,pmA); \
/* Calcul de : */ \
/* */ \
/* p1 */ \
/* log(----) */ \
/* pd */ \
/* */ \
\
Test(IL_FAUT(TRANSFORMATION__ZQO_AUTO_SIMILAIRE_____ne_calculer_que_le_logarithme)) \
/* Test introduit le 20200724124859 a des fins de test... */ \
Bblock \
egal(p,pmB); \
/* Calcul seul du logarithme... */ \
Eblock \
ATes \
Bblock \
DEFV(type,pmC); \
\
produit(pmC,ACCES(prd),pmB); \
/* Calcul de : */ \
/* */ \
/* p1 */ \
/* prd.log(----) */ \
/* pd */ \
/* */ \
/* le nombre 'prd' effectuant la "Rotation-Dilatation"... */ \
exponentielle(p,base,pmC); \
/* */ \
/* p1 */ \
/* prd.log(----) */ \
/* pd */ \
/* base */ \
/* */ \
Eblock \
ETes \
Eblock \
/* Transformation "auto-similaire" (introduite le 20200705103242)... */
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* D E F I N I T I O N S G E N E R A L E S D E S T R A N S F O R M A T I O N S Q U E L C O N Q U E S */
/* D A N S L E P L A N C O M P L E X E : */
/* */
/*************************************************************************************************************************************/
#define TRANSFORMATION__Z_AUTO_SIMILAIRE(z,z1,zd,zrd,ACCES) \
Bblock \
TRANSFORMATION__ZQO_AUTO_SIMILAIRE(z \
,z1 \
,zd \
,zrd \
,complexe \
,Cegal \
,Cproduit \
,Cquotient \
,Clogarithme \
,Cexponentielle,EN \
,ACCES \
); \
Eblock \
/* Transformation dite "auto-similaire" (introduite le 20200705103242). */
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* D E F I N I T I O N S G E N E R A L E S D E S T R A N S F O R M A T I O N S Q U E L C O N Q U E S */
/* D A N S L E P L A N H Y P E R - C O M P L E X E : */
/* */
/*************************************************************************************************************************************/
#define TRANSFORMATION__Q_AUTO_SIMILAIRE(q,q1,qd,qrd) \
Bblock \
TRANSFORMATION__ZQO_AUTO_SIMILAIRE(q \
,q1 \
,qd \
,qrd \
,hyper_complexe \
,HCegal \
,aHCproduit \
,aHCquotient \
,HClogarithme \
,HCexponentielle,EN \
); \
Eblock \
/* Transformation dite "auto-similaire" (introduite le 20200705103242). */
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* D E F I N I T I O N S G E N E R A L E S D E S T R A N S F O R M A T I O N S Q U E L C O N Q U E S */
/* D A N S L E P L A N H Y P E R - H Y P E R - C O M P L E X E : */
/* */
/*************************************************************************************************************************************/
#define TRANSFORMATION__O_AUTO_SIMILAIRE(o,o1,od,ord) \
Bblock \
TRANSFORMATION__ZQO_AUTO_SIMILAIRE(o \
,o1 \
,od \
,ord \
,hyper_hyper_complexe \
,HHCegal \
,aHHCproduit \
,aHHCquotient \
,HHClogarithme \
,HHCexponentielle,EN \
); \
Eblock \
/* Transformation dite "auto-similaire" (introduite le 20200705103242). */