/*************************************************************************************************************************************/
/* */
/* D E F I N I T I O N S D E L ' I N T E R P O L A T I O N D E S P A R A M E T R E S : */
/* */
/* */
/* Author of '$xrq/nucleon.LX.2$I' : */
/* */
/* Jean-Francois Colonna (LACTAMME, 1992??????????). */
/* */
/*************************************************************************************************************************************/
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* P R O C E D U R E S D ' I N T E R E T G E N E R A L : */
/* */
/*************************************************************************************************************************************/
#include xrq/nucleon.Lf.2.I"
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* D E F I N I T I O N D E S V E C T E U R S D E S T R A N S F O R M A T I O N S , */
/* D E S F I C H I E R S D E S T R A N S F O R M A T I O N S S P E C I F I Q U E S E T */
/* D E S V A L E U R S I M P L I C I T E S D E S V A R I A B L E S A C H A Q U E I N S T A N T : */
/* */
/*************************************************************************************************************************************/
dfTRANSFORMAT_31(liste_LUMINANCE,fichier_LUMINANCE,LUMINANCE_IMPLICITE,FU)
dfTRANSFORMAT_31(liste_TRANSLATION_OX,fichier_TRANSLATION_OX,TRANSLATION_OX_IMPLICITE,FZERO)
dfTRANSFORMAT_31(liste_TRANSLATION_OY,fichier_TRANSLATION_OY,TRANSLATION_OY_IMPLICITE,FZERO)
dfTRANSFORMAT_31(liste_TRANSLATION_OZ,fichier_TRANSLATION_OZ,TRANSLATION_OZ_IMPLICITE,FZERO)
dfTRANSFORMAT_31(liste_COLLAPSE,fichier_COLLAPSE,COLLAPSE_IMPLICITE,FU)
dfTRANSFORMAT_31(liste_ZOOM,fichier_ZOOM,ZOOM_IMPLICITE,GRO4(FRA3(FU)))
dfTRANSFORMAT_31(liste_ROTATION_OX,fichier_ROTATION_OX,ROTATION_OX_IMPLICITE,FZERO)
dfTRANSFORMAT_31(liste_ROTATION_OY,fichier_ROTATION_OY,ROTATION_OY_IMPLICITE,FZERO)
dfTRANSFORMAT_31(liste_ROTATION_OZ,fichier_ROTATION_OZ,ROTATION_OZ_IMPLICITE,FZERO)
dfTRANSFORMAT_31(liste_STEREOSCOPIE,fichier_STEREOSCOPIE,STEREOSCOPIE_IMPLICITE,DECALAGE_ANGULAIRE_POUR_UNE_VISION_CYCLOPIQUE)
#ifdef __VERSION__GENERATION_D_UN_NUCLEON
dfTRANSFORMAT_31(liste_X_quark_REEL_ROUGE,fichier_X_quark_REEL_ROUGE,X_quark_REEL_ROUGE_IMPLICITE,FZERO)
dfTRANSFORMAT_31(liste_Y_quark_REEL_ROUGE,fichier_Y_quark_REEL_ROUGE,Y_quark_REEL_ROUGE_IMPLICITE,FZERO)
dfTRANSFORMAT_31(liste_Z_quark_REEL_ROUGE,fichier_Z_quark_REEL_ROUGE,Z_quark_REEL_ROUGE_IMPLICITE,FZERO)
dfTRANSFORMAT_31(liste_X_quark_REEL_VERTE,fichier_X_quark_REEL_VERTE,X_quark_REEL_VERTE_IMPLICITE,FZERO)
dfTRANSFORMAT_31(liste_Y_quark_REEL_VERTE,fichier_Y_quark_REEL_VERTE,Y_quark_REEL_VERTE_IMPLICITE,FZERO)
dfTRANSFORMAT_31(liste_Z_quark_REEL_VERTE,fichier_Z_quark_REEL_VERTE,Z_quark_REEL_VERTE_IMPLICITE,FZERO)
dfTRANSFORMAT_31(liste_X_quark_REEL_BLEUE,fichier_X_quark_REEL_BLEUE,X_quark_REEL_BLEUE_IMPLICITE,FZERO)
dfTRANSFORMAT_31(liste_Y_quark_REEL_BLEUE,fichier_Y_quark_REEL_BLEUE,Y_quark_REEL_BLEUE_IMPLICITE,FZERO)
dfTRANSFORMAT_31(liste_Z_quark_REEL_BLEUE,fichier_Z_quark_REEL_BLEUE,Z_quark_REEL_BLEUE_IMPLICITE,FZERO)
#Aifdef __VERSION__GENERATION_D_UN_NUCLEON
#Eifdef __VERSION__GENERATION_D_UN_NUCLEON
#ifdef __VERSION__GENERATION_D_UN_MESON
dfTRANSFORMAT_31(liste_X_quark_REEL,fichier_X_quark_REEL,X_quark_REEL_IMPLICITE,FZERO)
dfTRANSFORMAT_31(liste_Y_quark_REEL,fichier_Y_quark_REEL,Y_quark_REEL_IMPLICITE,FZERO)
dfTRANSFORMAT_31(liste_Z_quark_REEL,fichier_Z_quark_REEL,Z_quark_REEL_IMPLICITE,FZERO)
dfTRANSFORMAT_31(liste_X_anti_quark_REEL,fichier_X_anti_quark_REEL,X_anti_quark_REEL_IMPLICITE,FZERO)
dfTRANSFORMAT_31(liste_Y_anti_quark_REEL,fichier_Y_anti_quark_REEL,Y_anti_quark_REEL_IMPLICITE,FZERO)
dfTRANSFORMAT_31(liste_Z_anti_quark_REEL,fichier_Z_anti_quark_REEL,Z_anti_quark_REEL_IMPLICITE,FZERO)
#Aifdef __VERSION__GENERATION_D_UN_MESON
#Eifdef __VERSION__GENERATION_D_UN_MESON
#ifdef __VERSION__GENERATION_D_UN_DI_ELECTRON
/* ATTENTION, il n'y a pas dans ce cas de listes : */
/* */
/* liste_X_electron_1_REEL */
/* liste_Y_electron_1_REEL */
/* liste_Z_electron_1_REEL */
/* liste_X_electron_2_REEL */
/* liste_Y_electron_2_REEL */
/* liste_Z_electron_2_REEL */
/* */
/* puisque les electrons REELs sont mobiles... */
dfTRANSFORMAT_31(liste_CHAMP_ELECTRIQUE_X,fichier_CHAMP_ELECTRIQUE_X,CHAMP_ELECTRIQUE_X_IMPLICITE,CHAMP_ELECTRIQUE_X)
dfTRANSFORMAT_31(liste_CHAMP_ELECTRIQUE_Y,fichier_CHAMP_ELECTRIQUE_Y,CHAMP_ELECTRIQUE_Y_IMPLICITE,CHAMP_ELECTRIQUE_Y)
dfTRANSFORMAT_31(liste_CHAMP_ELECTRIQUE_Z,fichier_CHAMP_ELECTRIQUE_Z,CHAMP_ELECTRIQUE_Z_IMPLICITE,CHAMP_ELECTRIQUE_Z)
dfTRANSFORMAT_31(liste_CHAMP_MAGNETIQUE_X,fichier_CHAMP_MAGNETIQUE_X,CHAMP_MAGNETIQUE_X_IMPLICITE,CHAMP_MAGNETIQUE_X)
dfTRANSFORMAT_31(liste_CHAMP_MAGNETIQUE_Y,fichier_CHAMP_MAGNETIQUE_Y,CHAMP_MAGNETIQUE_Y_IMPLICITE,CHAMP_MAGNETIQUE_Y)
dfTRANSFORMAT_31(liste_CHAMP_MAGNETIQUE_Z,fichier_CHAMP_MAGNETIQUE_Z,CHAMP_MAGNETIQUE_Z_IMPLICITE,CHAMP_MAGNETIQUE_Z)
#Aifdef __VERSION__GENERATION_D_UN_DI_ELECTRON
#Eifdef __VERSION__GENERATION_D_UN_DI_ELECTRON
#ifdef __VERSION__GENERATION_DU_VIDE
#Aifdef __VERSION__GENERATION_DU_VIDE
#Eifdef __VERSION__GENERATION_DU_VIDE
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* G E N E R A L I T E S S U R L E S T R A N S F O R M A T I O N S : */
/* */
/*************************************************************************************************************************************/
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* T R A N S F O R M A T I O N S P A R T I C U L I E R E S : */
/* */
/*************************************************************************************************************************************/
#define sLUMINANCE(numero_de_la_periode) \
FLOT(sTRANSFORMAT_31(numero_de_la_periode \
,liste_LUMINANCE \
) \
) \
/* Formule generale definissant la suite des 4 modulations de luminance. */
#define sTRANSLATION_OX(numero_de_la_periode) \
FLOT(sTRANSFORMAT_31(numero_de_la_periode \
,liste_TRANSLATION_OX \
) \
) \
/* Formule generale definissant la suite des 4 translations de l'origine suivant l'axe 'OX'. */
#define sTRANSLATION_OY(numero_de_la_periode) \
FLOT(sTRANSFORMAT_31(numero_de_la_periode \
,liste_TRANSLATION_OY \
) \
) \
/* Formule generale definissant la suite des 4 translations de l'origine suivant l'axe 'OY'. */
#define sTRANSLATION_OZ(numero_de_la_periode) \
FLOT(sTRANSFORMAT_31(numero_de_la_periode \
,liste_TRANSLATION_OZ \
) \
) \
/* Formule generale definissant la suite des 4 translations de l'origine suivant l'axe 'OZ'. */
#define sCOLLAPSE(numero_de_la_periode) \
FLOT(sTRANSFORMAT_31(numero_de_la_periode \
,liste_COLLAPSE \
) \
) \
/* Formule generale definissant le collapse. */
#define sZOOM(numero_de_la_periode) \
FLOT(sTRANSFORMAT_31(numero_de_la_periode \
,liste_ZOOM \
) \
) \
/* Formule generale definissant le zoom. */
#define sROTATION_OX(numero_de_la_periode) \
FLOT(sTRANSFORMAT_31(numero_de_la_periode \
,liste_ROTATION_OX \
) \
) \
/* Formule generale definissant la suite des rotations possibles autour de l'axe 'OX'. */
#define sROTATION_OY(numero_de_la_periode) \
FLOT(sTRANSFORMAT_31(numero_de_la_periode \
,liste_ROTATION_OY \
) \
) \
/* Formule generale definissant la suite des rotations possibles autour de l'axe 'OY'. */
#define sROTATION_OZ(numero_de_la_periode) \
FLOT(sTRANSFORMAT_31(numero_de_la_periode \
,liste_ROTATION_OZ \
) \
) \
/* Formule generale definissant la suite des rotations possibles autour de l'axe 'OX'. */
#define sSTEREOSCOPIE(numero_de_la_periode) \
FLOT(sTRANSFORMAT_31(numero_de_la_periode \
,liste_STEREOSCOPIE \
) \
) \
/* Formule generale definissant le decalage angulaire stereoscopique. */
#ifdef __VERSION__GENERATION_D_UN_NUCLEON
# define sX_quark_REEL_ROUGE(numero_de_la_periode) \
FLOT(sTRANSFORMAT_31(numero_de_la_periode \
,liste_X_quark_REEL_ROUGE \
) \
)
# define sY_quark_REEL_ROUGE(numero_de_la_periode) \
FLOT(sTRANSFORMAT_31(numero_de_la_periode \
,liste_Y_quark_REEL_ROUGE \
) \
)
# define sZ_quark_REEL_ROUGE(numero_de_la_periode) \
FLOT(sTRANSFORMAT_31(numero_de_la_periode \
,liste_Z_quark_REEL_ROUGE \
) \
)
/* Formule generale definissant la position instantanee du quark REEL ROUGE. */
# define sX_quark_REEL_VERTE(numero_de_la_periode) \
FLOT(sTRANSFORMAT_31(numero_de_la_periode \
,liste_X_quark_REEL_VERTE \
) \
)
# define sY_quark_REEL_VERTE(numero_de_la_periode) \
FLOT(sTRANSFORMAT_31(numero_de_la_periode \
,liste_Y_quark_REEL_VERTE \
) \
)
# define sZ_quark_REEL_VERTE(numero_de_la_periode) \
FLOT(sTRANSFORMAT_31(numero_de_la_periode \
,liste_Z_quark_REEL_VERTE \
) \
)
/* Formule generale definissant la position instantanee du quark REEL VERTE. */
# define sX_quark_REEL_BLEUE(numero_de_la_periode) \
FLOT(sTRANSFORMAT_31(numero_de_la_periode \
,liste_X_quark_REEL_BLEUE \
) \
)
# define sY_quark_REEL_BLEUE(numero_de_la_periode) \
FLOT(sTRANSFORMAT_31(numero_de_la_periode \
,liste_Y_quark_REEL_BLEUE \
) \
)
# define sZ_quark_REEL_BLEUE(numero_de_la_periode) \
FLOT(sTRANSFORMAT_31(numero_de_la_periode \
,liste_Z_quark_REEL_BLEUE \
) \
)
/* Formule generale definissant la position instantanee du quark REEL BLEUE. */
#Aifdef __VERSION__GENERATION_D_UN_NUCLEON
#Eifdef __VERSION__GENERATION_D_UN_NUCLEON
#ifdef __VERSION__GENERATION_D_UN_MESON
# define sX_quark_REEL(numero_de_la_periode) \
FLOT(sTRANSFORMAT_31(numero_de_la_periode \
,liste_X_quark_REEL \
) \
)
# define sY_quark_REEL(numero_de_la_periode) \
FLOT(sTRANSFORMAT_31(numero_de_la_periode \
,liste_Y_quark_REEL \
) \
)
# define sZ_quark_REEL(numero_de_la_periode) \
FLOT(sTRANSFORMAT_31(numero_de_la_periode \
,liste_Z_quark_REEL \
) \
)
/* Formule generale definissant la position instantanee du quark REEL. */
# define sX_anti_quark_REEL(numero_de_la_periode) \
FLOT(sTRANSFORMAT_31(numero_de_la_periode \
,liste_X_anti_quark_REEL \
) \
)
# define sY_anti_quark_REEL(numero_de_la_periode) \
FLOT(sTRANSFORMAT_31(numero_de_la_periode \
,liste_Y_anti_quark_REEL \
) \
)
# define sZ_anti_quark_REEL(numero_de_la_periode) \
FLOT(sTRANSFORMAT_31(numero_de_la_periode \
,liste_Z_anti_quark_REEL \
) \
)
/* Formule generale definissant la position instantanee de l'anti-quark REEL. */
#Aifdef __VERSION__GENERATION_D_UN_MESON
#Eifdef __VERSION__GENERATION_D_UN_MESON
#ifdef __VERSION__GENERATION_D_UN_DI_ELECTRON
/* ATTENTION, il n'y a pas dans ce cas de listes : */
/* */
/* liste_X_electron_1_REEL */
/* liste_Y_electron_1_REEL */
/* liste_Z_electron_1_REEL */
/* liste_X_electron_2_REEL */
/* liste_Y_electron_2_REEL */
/* liste_Z_electron_2_REEL */
/* */
/* puisque les electrons REELs sont mobiles... */
# define sCHAMP_ELECTRIQUE_X(numero_de_la_periode) \
FLOT(sTRANSFORMAT_31(numero_de_la_periode \
,liste_CHAMP_ELECTRIQUE_X \
) \
)
# define sCHAMP_ELECTRIQUE_Y(numero_de_la_periode) \
FLOT(sTRANSFORMAT_31(numero_de_la_periode \
,liste_CHAMP_ELECTRIQUE_Y \
) \
)
# define sCHAMP_ELECTRIQUE_Z(numero_de_la_periode) \
FLOT(sTRANSFORMAT_31(numero_de_la_periode \
,liste_CHAMP_ELECTRIQUE_Z \
) \
)
/* Formule generale definissant le champ electrique instantane. */
# define sCHAMP_MAGNETIQUE_X(numero_de_la_periode) \
FLOT(sTRANSFORMAT_31(numero_de_la_periode \
,liste_CHAMP_MAGNETIQUE_X \
) \
)
# define sCHAMP_MAGNETIQUE_Y(numero_de_la_periode) \
FLOT(sTRANSFORMAT_31(numero_de_la_periode \
,liste_CHAMP_MAGNETIQUE_Y \
) \
)
# define sCHAMP_MAGNETIQUE_Z(numero_de_la_periode) \
FLOT(sTRANSFORMAT_31(numero_de_la_periode \
,liste_CHAMP_MAGNETIQUE_Z \
) \
)
/* Formule generale definissant le champ magnetique instantane. */
#Aifdef __VERSION__GENERATION_D_UN_DI_ELECTRON
#Eifdef __VERSION__GENERATION_D_UN_DI_ELECTRON
#ifdef __VERSION__GENERATION_DU_VIDE
#Aifdef __VERSION__GENERATION_DU_VIDE
#Eifdef __VERSION__GENERATION_DU_VIDE
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* I N I T I A L I S A T I O N D E S I N T E R P O L A T I O N S : */
/* */
/*************************************************************************************************************************************/
#define DEBUT_DE_L_INITIALISATION_DES_INTERPOLATIONS_GEOMETRIQUES \
Bblock \
iTRANSFORMAT_31(liste_LUMINANCE,LUMINANCE_IMPLICITE); \
\
iTRANSFORMAT_31(liste_TRANSLATION_OX,TRANSLATION_OX_IMPLICITE); \
iTRANSFORMAT_31(liste_TRANSLATION_OY,TRANSLATION_OY_IMPLICITE); \
iTRANSFORMAT_31(liste_TRANSLATION_OZ,TRANSLATION_OZ_IMPLICITE); \
\
iTRANSFORMAT_31(liste_COLLAPSE,COLLAPSE_IMPLICITE); \
\
iTRANSFORMAT_31(liste_ZOOM,ZOOM_IMPLICITE); \
\
iTRANSFORMAT_31(liste_ROTATION_OX,ROTATION_OX_IMPLICITE); \
iTRANSFORMAT_31(liste_ROTATION_OY,ROTATION_OY_IMPLICITE); \
iTRANSFORMAT_31(liste_ROTATION_OZ,ROTATION_OZ_IMPLICITE); \
\
iTRANSFORMAT_31(liste_STEREOSCOPIE,STEREOSCOPIE_IMPLICITE); \
Eblock \
/* Debut initialisation des differentes interpolations geometriques. */
#ifdef __VERSION__GENERATION_D_UN_NUCLEON
# define ___DEBUT_DE_L_INITIALISATION_DES_INTERPOLATIONS \
Bblock \
DEBUT_DE_L_INITIALISATION_DES_INTERPOLATIONS_GEOMETRIQUES; \
\
iTRANSFORMAT_31(liste_X_quark_REEL_ROUGE,X_quark_REEL_ROUGE_IMPLICITE); \
iTRANSFORMAT_31(liste_Y_quark_REEL_ROUGE,Y_quark_REEL_ROUGE_IMPLICITE); \
iTRANSFORMAT_31(liste_Z_quark_REEL_ROUGE,Z_quark_REEL_ROUGE_IMPLICITE); \
\
iTRANSFORMAT_31(liste_X_quark_REEL_VERTE,X_quark_REEL_VERTE_IMPLICITE); \
iTRANSFORMAT_31(liste_Y_quark_REEL_VERTE,Y_quark_REEL_VERTE_IMPLICITE); \
iTRANSFORMAT_31(liste_Z_quark_REEL_VERTE,Z_quark_REEL_VERTE_IMPLICITE); \
\
iTRANSFORMAT_31(liste_X_quark_REEL_BLEUE,X_quark_REEL_BLEUE_IMPLICITE); \
iTRANSFORMAT_31(liste_Y_quark_REEL_BLEUE,Y_quark_REEL_BLEUE_IMPLICITE); \
iTRANSFORMAT_31(liste_Z_quark_REEL_BLEUE,Z_quark_REEL_BLEUE_IMPLICITE); \
Eblock \
/* Debut initialisation des differentes interpolations... */
#Aifdef __VERSION__GENERATION_D_UN_NUCLEON
#Eifdef __VERSION__GENERATION_D_UN_NUCLEON
#ifdef __VERSION__GENERATION_D_UN_MESON
# define ___DEBUT_DE_L_INITIALISATION_DES_INTERPOLATIONS \
Bblock \
DEBUT_DE_L_INITIALISATION_DES_INTERPOLATIONS_GEOMETRIQUES; \
\
iTRANSFORMAT_31(liste_X_quark_REEL,X_quark_REEL_IMPLICITE); \
iTRANSFORMAT_31(liste_Y_quark_REEL,Y_quark_REEL_IMPLICITE); \
iTRANSFORMAT_31(liste_Z_quark_REEL,Z_quark_REEL_IMPLICITE); \
\
iTRANSFORMAT_31(liste_X_anti_quark_REEL,X_anti_quark_REEL_IMPLICITE); \
iTRANSFORMAT_31(liste_Y_anti_quark_REEL,Y_anti_quark_REEL_IMPLICITE); \
iTRANSFORMAT_31(liste_Z_anti_quark_REEL,Z_anti_quark_REEL_IMPLICITE); \
Eblock \
/* Debut initialisation des differentes interpolations... */
#Aifdef __VERSION__GENERATION_D_UN_MESON
#Eifdef __VERSION__GENERATION_D_UN_MESON
#ifdef __VERSION__GENERATION_D_UN_DI_ELECTRON
# define ___DEBUT_DE_L_INITIALISATION_DES_INTERPOLATIONS \
Bblock \
DEBUT_DE_L_INITIALISATION_DES_INTERPOLATIONS_GEOMETRIQUES; \
\
/* ATTENTION, il n'y a pas dans ce cas de listes : */ \
/* */ \
/* liste_X_electron_1_REEL */ \
/* liste_Y_electron_1_REEL */ \
/* liste_Z_electron_1_REEL */ \
/* liste_X_electron_2_REEL */ \
/* liste_Y_electron_2_REEL */ \
/* liste_Z_electron_2_REEL */ \
/* */ \
/* puisque les electrons REELs sont mobiles... */ \
\
iTRANSFORMAT_31(liste_CHAMP_ELECTRIQUE_X,CHAMP_ELECTRIQUE_X_IMPLICITE); \
iTRANSFORMAT_31(liste_CHAMP_ELECTRIQUE_Y,CHAMP_ELECTRIQUE_Y_IMPLICITE); \
iTRANSFORMAT_31(liste_CHAMP_ELECTRIQUE_Z,CHAMP_ELECTRIQUE_Z_IMPLICITE); \
\
iTRANSFORMAT_31(liste_CHAMP_MAGNETIQUE_X,CHAMP_MAGNETIQUE_X_IMPLICITE); \
iTRANSFORMAT_31(liste_CHAMP_MAGNETIQUE_Y,CHAMP_MAGNETIQUE_Y_IMPLICITE); \
iTRANSFORMAT_31(liste_CHAMP_MAGNETIQUE_Z,CHAMP_MAGNETIQUE_Z_IMPLICITE); \
Eblock \
/* Debut initialisation des differentes interpolations... */
#Aifdef __VERSION__GENERATION_D_UN_DI_ELECTRON
#Eifdef __VERSION__GENERATION_D_UN_DI_ELECTRON
#ifdef __VERSION__GENERATION_DU_VIDE
# define ___DEBUT_DE_L_INITIALISATION_DES_INTERPOLATIONS \
Bblock \
DEBUT_DE_L_INITIALISATION_DES_INTERPOLATIONS_GEOMETRIQUES; \
Eblock \
/* Debut initialisation des differentes interpolations... */
#Aifdef __VERSION__GENERATION_DU_VIDE
#Eifdef __VERSION__GENERATION_DU_VIDE
#TestADef ___DEBUT_DE_L_INITIALISATION_DES_INTERPOLATIONS \
Bblock \
DEBUT_DE_L_INITIALISATION_DES_INTERPOLATIONS_GEOMETRIQUES; \
Eblock \
/* Debut initialisation des differentes interpolations... */
BFonctionI
DEFV(LoF,GENERE__Fonction__OPT(DEBUT_DE_L_INITIALISATION_DES_INTERPOLATIONS,PV,___DEBUT_DE_L_INITIALISATION_DES_INTERPOLATIONS))
EFonctionI
#define ABSOLUTISATION_DES_POSITIONS_ET_TRANSLATIONS(liste_des_transformations,translateur_absolu) \
Bblock \
DEFV(Int,INIT(index,UNDEF)); \
/* Index d'absolutisation d'une liste de coordonnees relatives a un quark REEL. */ \
DoIn(index \
,NUMERO_DE_LA_PREMIERE_PERIODE_DE_LA_SIMULATION \
,LSTX(NUMERO_DE_LA_PREMIERE_PERIODE_DE_LA_SIMULATION,NOMBRE_MAXIMAL_DE_PERIODES_DE_LA_SIMULATION) \
,I \
) \
Bblock \
EGAL(ITb1(liste_des_transformations,INDX(index,NUMERO_DE_LA_PREMIERE_PERIODE_DE_LA_SIMULATION)) \
,AXPB(RAYON_D_UN_HADRON \
,ITb1(liste_des_transformations,INDX(index,NUMERO_DE_LA_PREMIERE_PERIODE_DE_LA_SIMULATION)) \
,translateur_absolu \
) \
); \
/* Et on absolutise element par element... */ \
Eblock \
EDoI \
Eblock \
/* En effet, pour les coordonnees des quarks REELs, pour simplifier, ce qui est introduit */ \
/* via un fichier sont des coordonnees relatives a la position "standard" de ceux-ci (voir */ \
/* le "fameux" triangle equilateral), et exprimees dans l'unite 'RAYON_D_UN_HADRON'. Ici on */ \
/* convertit donc tout cela en unites physiques et absolues... */
#define ABSENCE_DE_TRANSLATION \
FZERO \
/* Pour absolutiser correctement les listes 'liste_TRANSLATION_O?'... */
#ifdef __VERSION__GENERATION_D_UN_NUCLEON
# define ___FIN_DE_L_INITIALISATION_DES_INTERPOLATIONS \
Bblock \
ABSOLUTISATION_DES_POSITIONS_ET_TRANSLATIONS(liste_X_quark_REEL_ROUGE,X_quark_REEL_ROUGE); \
ABSOLUTISATION_DES_POSITIONS_ET_TRANSLATIONS(liste_Y_quark_REEL_ROUGE,Y_quark_REEL_ROUGE); \
ABSOLUTISATION_DES_POSITIONS_ET_TRANSLATIONS(liste_Z_quark_REEL_ROUGE,Z_quark_REEL_ROUGE); \
\
ABSOLUTISATION_DES_POSITIONS_ET_TRANSLATIONS(liste_X_quark_REEL_VERTE,X_quark_REEL_VERTE); \
ABSOLUTISATION_DES_POSITIONS_ET_TRANSLATIONS(liste_Y_quark_REEL_VERTE,Y_quark_REEL_VERTE); \
ABSOLUTISATION_DES_POSITIONS_ET_TRANSLATIONS(liste_Z_quark_REEL_VERTE,Z_quark_REEL_VERTE); \
\
ABSOLUTISATION_DES_POSITIONS_ET_TRANSLATIONS(liste_X_quark_REEL_BLEUE,X_quark_REEL_BLEUE); \
ABSOLUTISATION_DES_POSITIONS_ET_TRANSLATIONS(liste_Y_quark_REEL_BLEUE,Y_quark_REEL_BLEUE); \
ABSOLUTISATION_DES_POSITIONS_ET_TRANSLATIONS(liste_Z_quark_REEL_BLEUE,Z_quark_REEL_BLEUE); \
\
ABSOLUTISATION_DES_POSITIONS_ET_TRANSLATIONS(liste_TRANSLATION_OX,ABSENCE_DE_TRANSLATION); \
ABSOLUTISATION_DES_POSITIONS_ET_TRANSLATIONS(liste_TRANSLATION_OY,ABSENCE_DE_TRANSLATION); \
ABSOLUTISATION_DES_POSITIONS_ET_TRANSLATIONS(liste_TRANSLATION_OZ,ABSENCE_DE_TRANSLATION); \
Eblock \
/* Fin initialisation des differentes interpolations... */
#Aifdef __VERSION__GENERATION_D_UN_NUCLEON
#Eifdef __VERSION__GENERATION_D_UN_NUCLEON
#ifdef __VERSION__GENERATION_D_UN_MESON
# define ___FIN_DE_L_INITIALISATION_DES_INTERPOLATIONS \
Bblock \
ABSOLUTISATION_DES_POSITIONS_ET_TRANSLATIONS(liste_X_quark_REEL,X_quark_REEL); \
ABSOLUTISATION_DES_POSITIONS_ET_TRANSLATIONS(liste_Y_quark_REEL,Y_quark_REEL); \
ABSOLUTISATION_DES_POSITIONS_ET_TRANSLATIONS(liste_Z_quark_REEL,Z_quark_REEL); \
\
ABSOLUTISATION_DES_POSITIONS_ET_TRANSLATIONS(liste_X_anti_quark_REEL,X_anti_quark_REEL); \
ABSOLUTISATION_DES_POSITIONS_ET_TRANSLATIONS(liste_Y_anti_quark_REEL,Y_anti_quark_REEL); \
ABSOLUTISATION_DES_POSITIONS_ET_TRANSLATIONS(liste_Z_anti_quark_REEL,Z_anti_quark_REEL); \
\
ABSOLUTISATION_DES_POSITIONS_ET_TRANSLATIONS(liste_TRANSLATION_OX,ABSENCE_DE_TRANSLATION); \
ABSOLUTISATION_DES_POSITIONS_ET_TRANSLATIONS(liste_TRANSLATION_OY,ABSENCE_DE_TRANSLATION); \
ABSOLUTISATION_DES_POSITIONS_ET_TRANSLATIONS(liste_TRANSLATION_OZ,ABSENCE_DE_TRANSLATION); \
Eblock \
/* Fin initialisation des differentes interpolations... */
#Aifdef __VERSION__GENERATION_D_UN_MESON
#Eifdef __VERSION__GENERATION_D_UN_MESON
#ifdef __VERSION__GENERATION_D_UN_DI_ELECTRON
# define ___FIN_DE_L_INITIALISATION_DES_INTERPOLATIONS \
Bblock \
/* ATTENTION, il n'y a pas dans ce cas de listes : */ \
/* */ \
/* liste_X_electron_1_REEL */ \
/* liste_Y_electron_1_REEL */ \
/* liste_Z_electron_1_REEL */ \
/* liste_X_electron_2_REEL */ \
/* liste_Y_electron_2_REEL */ \
/* liste_Z_electron_2_REEL */ \
/* */ \
/* puisque les electrons REELs sont mobiles... */ \
\
ABSOLUTISATION_DES_POSITIONS_ET_TRANSLATIONS(liste_TRANSLATION_OX,ABSENCE_DE_TRANSLATION); \
ABSOLUTISATION_DES_POSITIONS_ET_TRANSLATIONS(liste_TRANSLATION_OY,ABSENCE_DE_TRANSLATION); \
ABSOLUTISATION_DES_POSITIONS_ET_TRANSLATIONS(liste_TRANSLATION_OZ,ABSENCE_DE_TRANSLATION); \
Eblock \
/* Fin initialisation des differentes interpolations... */
#Aifdef __VERSION__GENERATION_D_UN_DI_ELECTRON
#Eifdef __VERSION__GENERATION_D_UN_DI_ELECTRON
#ifdef __VERSION__GENERATION_DU_VIDE
# define ___FIN_DE_L_INITIALISATION_DES_INTERPOLATIONS \
Bblock \
ABSOLUTISATION_DES_POSITIONS_ET_TRANSLATIONS(liste_TRANSLATION_OX,ABSENCE_DE_TRANSLATION); \
ABSOLUTISATION_DES_POSITIONS_ET_TRANSLATIONS(liste_TRANSLATION_OY,ABSENCE_DE_TRANSLATION); \
ABSOLUTISATION_DES_POSITIONS_ET_TRANSLATIONS(liste_TRANSLATION_OZ,ABSENCE_DE_TRANSLATION); \
Eblock \
/* Fin initialisation des differentes interpolations... */
#Aifdef __VERSION__GENERATION_DU_VIDE
#Eifdef __VERSION__GENERATION_DU_VIDE
#TestADef ___FIN_DE_L_INITIALISATION_DES_INTERPOLATIONS \
Bblock \
Eblock \
/* Fin initialisation des differentes interpolations... */
BFonctionI
DEFV(LoF,GENERE__Fonction__OPT(FIN_DE_L_INITIALISATION_DES_INTERPOLATIONS,PV,___FIN_DE_L_INITIALISATION_DES_INTERPOLATIONS))
EFonctionI
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* O R D R E D E S R O T A T I O N S : */
/* */
/*************************************************************************************************************************************/
/* Le 19971104162912, ces definitions ont ete deplacees dans 'v $xiii/vecteurs$FON' car, en */
/* effet elles peuvent etre utiles partout... */
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* P O S I T I O N N E M E N T A B S O L U D E S P A R T C U L E S R E E L L E S : */
/* */
/*************************************************************************************************************************************/
#ifdef __VERSION__GENERATION_D_UN_NUCLEON
# define POSITIONNEMENT_ABSOLU_DU_QUARK_REEL_ROUGE(numero_de_la_periode_courante) \
Bblock \
EGAL(COORDONNEES(quark_REEL_ROUGE,x),sX_quark_REEL_ROUGE(numero_de_la_periode_courante)); \
EGAL(COORDONNEES(quark_REEL_ROUGE,y),sY_quark_REEL_ROUGE(numero_de_la_periode_courante)); \
EGAL(COORDONNEES(quark_REEL_ROUGE,z),sZ_quark_REEL_ROUGE(numero_de_la_periode_courante)); \
Eblock \
/* Positionnement absolu du quark REEL ROUGE. */
# define POSITIONNEMENT_ABSOLU_DU_QUARK_REEL_VERTE(numero_de_la_periode_courante) \
Bblock \
EGAL(COORDONNEES(quark_REEL_VERTE,x),sX_quark_REEL_VERTE(numero_de_la_periode_courante)); \
EGAL(COORDONNEES(quark_REEL_VERTE,y),sY_quark_REEL_VERTE(numero_de_la_periode_courante)); \
EGAL(COORDONNEES(quark_REEL_VERTE,z),sZ_quark_REEL_VERTE(numero_de_la_periode_courante)); \
Eblock \
/* Positionnement absolu du quark REEL VERTE. */
# define POSITIONNEMENT_ABSOLU_DU_QUARK_REEL_BLEUE(numero_de_la_periode_courante) \
Bblock \
EGAL(COORDONNEES(quark_REEL_BLEUE,x),sX_quark_REEL_BLEUE(numero_de_la_periode_courante)); \
EGAL(COORDONNEES(quark_REEL_BLEUE,y),sY_quark_REEL_BLEUE(numero_de_la_periode_courante)); \
EGAL(COORDONNEES(quark_REEL_BLEUE,z),sZ_quark_REEL_BLEUE(numero_de_la_periode_courante)); \
Eblock \
/* Positionnement absolu du quark REEL BLEUE. */
#Aifdef __VERSION__GENERATION_D_UN_NUCLEON
#Eifdef __VERSION__GENERATION_D_UN_NUCLEON
#ifdef __VERSION__GENERATION_D_UN_MESON
# define POSITIONNEMENT_ABSOLU_DU_QUARK_REEL(numero_de_la_periode_courante) \
Bblock \
EGAL(COORDONNEES(quark_REEL,x),sX_quark_REEL(numero_de_la_periode_courante)); \
EGAL(COORDONNEES(quark_REEL,y),sY_quark_REEL(numero_de_la_periode_courante)); \
EGAL(COORDONNEES(quark_REEL,z),sZ_quark_REEL(numero_de_la_periode_courante)); \
Eblock \
/* Positionnement absolu du quark REEL. */
# define POSITIONNEMENT_ABSOLU_DE_L_ANTI_QUARK_REEL(numero_de_la_periode_courante) \
Bblock \
EGAL(COORDONNEES(anti_quark_REEL,x),sX_anti_quark_REEL(numero_de_la_periode_courante)); \
EGAL(COORDONNEES(anti_quark_REEL,y),sY_anti_quark_REEL(numero_de_la_periode_courante)); \
EGAL(COORDONNEES(anti_quark_REEL,z),sZ_anti_quark_REEL(numero_de_la_periode_courante)); \
Eblock \
/* Positionnement absolu de l'anti-quark REEL. */
#Aifdef __VERSION__GENERATION_D_UN_MESON
#Eifdef __VERSION__GENERATION_D_UN_MESON
#ifdef __VERSION__GENERATION_D_UN_DI_ELECTRON
/* ATTENTION, il n'y a pas dans ce cas de listes : */
/* */
/* liste_X_electron_1_REEL */
/* liste_Y_electron_1_REEL */
/* liste_Z_electron_1_REEL */
/* liste_X_electron_2_REEL */
/* liste_Y_electron_2_REEL */
/* liste_Z_electron_2_REEL */
/* */
/* puisque les electrons REELs sont mobiles... */
#Aifdef __VERSION__GENERATION_D_UN_DI_ELECTRON
#Eifdef __VERSION__GENERATION_D_UN_DI_ELECTRON
#ifdef __VERSION__GENERATION_DU_VIDE
#Aifdef __VERSION__GENERATION_DU_VIDE
#Eifdef __VERSION__GENERATION_DU_VIDE
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* C H A N G E M E N T D U P O I N T D E V U E : */
/* */
/*************************************************************************************************************************************/
/* Le 19971104162912, les definitions des procedures 'PERMUTATION_DES_ROTATIONS(...)' */
/* et 'GENERATION_DE_LA_MATRICE_DE_ROTATION(...)' ont ete deplacees dans le fichier */
/* 'v $xiii/vecteurs$DEF' car, en effet elles peuvent etre utiles partout... */
#define CHANGEMENT_DU_POINT_DE_VUE_GEOMETRIQUE \
Bblock \
INITIALISATION_SYSTEMATIQUE_TRANSFORMATION; \
/* Retour a la transformation neutre... */ \
\
EGAL(facteur_de_collapse,sCOLLAPSE(numero_de_la_periode_courante)); \
/* Mise en place du facteur de collapse courant des coordonnees. */ \
\
EGAL(rapport_courant_du_zoom \
,COND(IL_NE_FAUT_PAS(zoom_automatique) \
,sZOOM(numero_de_la_periode_courante) \
,rapport_automatique_du_zoom \
) \
); \
/* Calcul du rapport courant du zoom, et ce en particulier afin de determiner correctement */ \
/* le rayon apparent des particules... */ \
\
INITIALISATION_ACCROISSEMENT_3D(translation_de_l_origine \
,FZERO \
,FZERO \
,FZERO \
); \
/* Reinitialisation a priori de la translation de l'origine, et ce au cas ou le calcul */ \
/* des 'sTRANSLATION(...)' qui suit serait deplace apres 'GESTION_DE_LA_SOURCE_LUMINEUSE'... */ \
\
INITIALISATION_ACCROISSEMENT_3D(translation_de_l_origine \
,sTRANSLATION_OX(numero_de_la_periode_courante) \
,sTRANSLATION_OY(numero_de_la_periode_courante) \
,sTRANSLATION_OZ(numero_de_la_periode_courante) \
); \
/* Mise en place de la translation de l'origine. */ \
\
T_ZOOM(rapport_courant_du_zoom); \
/* Mise en place du zoom. */ \
\
GESTION_DE_LA_SOURCE_LUMINEUSE; \
/* On notera avec attention que 'GESTION_DE_LA_SOURCE_LUMINEUSE' est effectue ici apres */ \
/* le zoom, mais avant la rotation, et ce afin que la source lumineuse reste immobile au */ \
/* niveau orientation par rapport a l'observateur (sinon, elle risquerait de se retrouver */ \
/* derriere le proton...). */ \
EGAL(modulation_courante_de_la_luminance,sLUMINANCE(numero_de_la_periode_courante)); \
/* Calcul de la modulation courante de la luminance. */ \
\
GENERATION_DE_LA_MATRICE_DE_ROTATION(vecteurs_____ordre_de_la_ROTATION_0X \
,T_ROTATION_X(sROTATION_OX(numero_de_la_periode_courante)); \
,vecteurs_____ordre_de_la_ROTATION_0Y \
,T_ROTATION_Y(sROTATION_OY(numero_de_la_periode_courante)); \
,vecteurs_____ordre_de_la_ROTATION_0Z \
,T_ROTATION_Z(sROTATION_OZ(numero_de_la_periode_courante)); \
); \
/* Mise en place du produit des trois rotations relatives aux trois axes. */ \
\
vTRANSFORMAT_31(decalage_angulaire_pour_la_stereoscopie \
,sSTEREOSCOPIE,numero_de_la_periode_courante,fichier_STEREOSCOPIE \
); \
/* Calcul du decalage angulaire stereoscopique lorsqu'il est variable... */ \
Eblock \
/* Changement du point de vue de l'observateur (partie geometrique, independante des */ \
/* particules REELles). */
#ifdef __VERSION__FAUSSE_GENERATION_D_UN_NUCLEON
# define ___CHANGEMENT_DU_POINT_DE_VUE \
Bblock \
CHANGEMENT_DU_POINT_DE_VUE_GEOMETRIQUE; \
/* Changement du point de vue de l'observateur. */ \
Eblock \
/* Changement du point de vue de l'observateur (introduit le 20170125123456). */
#Aifdef __VERSION__FAUSSE_GENERATION_D_UN_NUCLEON
#Eifdef __VERSION__FAUSSE_GENERATION_D_UN_NUCLEON
#ifdef __VERSION__GENERATION_D_UN_NUCLEON
# define ___CHANGEMENT_DU_POINT_DE_VUE \
Bblock \
CHANGEMENT_DU_POINT_DE_VUE_GEOMETRIQUE; \
/* Changement du point de vue de l'observateur. */ \
\
POSITIONNEMENT_ABSOLU_DU_QUARK_REEL_ROUGE(numero_de_la_periode_courante); \
/* Deplacement absolu du quark REEL ROUGE. */ \
POSITIONNEMENT_ABSOLU_DU_QUARK_REEL_VERTE(numero_de_la_periode_courante); \
/* Deplacement absolu du quark REEL VERTE. */ \
POSITIONNEMENT_ABSOLU_DU_QUARK_REEL_BLEUE(numero_de_la_periode_courante); \
/* Deplacement absolu du quark REEL BLEUE. */ \
Eblock \
/* Changement du point de vue de l'observateur et deplacement des quarks REELs. */
#Aifdef __VERSION__GENERATION_D_UN_NUCLEON
#Eifdef __VERSION__GENERATION_D_UN_NUCLEON
#ifdef __VERSION__GENERATION_D_UN_MESON
# define ___CHANGEMENT_DU_POINT_DE_VUE \
Bblock \
CHANGEMENT_DU_POINT_DE_VUE_GEOMETRIQUE; \
/* Changement du point de vue de l'observateur. */ \
\
POSITIONNEMENT_ABSOLU_DU_QUARK_REEL(numero_de_la_periode_courante); \
/* Deplacement absolu du quark REEL. */ \
POSITIONNEMENT_ABSOLU_DE_L_ANTI_QUARK_REEL(numero_de_la_periode_courante); \
/* Deplacement absolu de l'anti-quark REEL. */ \
Eblock \
/* Changement du point de vue de l'observateur et deplacement du quark et de l'anti-quark */ \
/* REELs. */
#Aifdef __VERSION__GENERATION_D_UN_MESON
#Eifdef __VERSION__GENERATION_D_UN_MESON
#ifdef __VERSION__GENERATION_D_UN_DI_ELECTRON
# define ___CHANGEMENT_DU_POINT_DE_VUE \
Bblock \
CHANGEMENT_DU_POINT_DE_VUE_GEOMETRIQUE; \
/* Changement du point de vue de l'observateur. */ \
\
/* ATTENTION, il n'y a pas dans ce cas de listes : */ \
/* */ \
/* liste_X_electron_1_REEL */ \
/* liste_Y_electron_1_REEL */ \
/* liste_Z_electron_1_REEL */ \
/* liste_X_electron_2_REEL */ \
/* liste_Y_electron_2_REEL */ \
/* liste_Z_electron_2_REEL */ \
/* */ \
/* puisque les electrons REELs sont mobiles... */ \
vTRANSFORMAT_31(champ_electrique_X \
,sCHAMP_ELECTRIQUE_X,numero_de_la_periode_courante,fichier_CHAMP_ELECTRIQUE_X \
); \
vTRANSFORMAT_31(champ_electrique_Y \
,sCHAMP_ELECTRIQUE_Y,numero_de_la_periode_courante,fichier_CHAMP_ELECTRIQUE_Y \
); \
vTRANSFORMAT_31(champ_electrique_Z \
,sCHAMP_ELECTRIQUE_Z,numero_de_la_periode_courante,fichier_CHAMP_ELECTRIQUE_Z \
); \
INITIALISATION_ACCROISSEMENT_3D(champ_electrique,champ_electrique_X,champ_electrique_Y,champ_electrique_Z); \
\
vTRANSFORMAT_31(champ_magnetique_X \
,sCHAMP_MAGNETIQUE_X,numero_de_la_periode_courante,fichier_CHAMP_MAGNETIQUE_X \
); \
vTRANSFORMAT_31(champ_magnetique_Y \
,sCHAMP_MAGNETIQUE_Y,numero_de_la_periode_courante,fichier_CHAMP_MAGNETIQUE_Y \
); \
vTRANSFORMAT_31(champ_magnetique_Z \
,sCHAMP_MAGNETIQUE_Z,numero_de_la_periode_courante,fichier_CHAMP_MAGNETIQUE_Z \
); \
INITIALISATION_ACCROISSEMENT_3D(champ_magnetique,champ_magnetique_X,champ_magnetique_Y,champ_magnetique_Z); \
/* Initialisation de l'eventuel champ electro-magnetique. */ \
Eblock \
/* Changement du point de vue de l'observateur et deplacement du quark et de l'anti-quark */ \
/* REELs. */
#Aifdef __VERSION__GENERATION_D_UN_DI_ELECTRON
#Eifdef __VERSION__GENERATION_D_UN_DI_ELECTRON
#ifdef __VERSION__GENERATION_DU_VIDE
# define ___CHANGEMENT_DU_POINT_DE_VUE \
Bblock \
CHANGEMENT_DU_POINT_DE_VUE_GEOMETRIQUE; \
/* Changement du point de vue de l'observateur. */ \
Eblock \
/* Changement du point de vue de l'observateur. */
#Aifdef __VERSION__GENERATION_DU_VIDE
#Eifdef __VERSION__GENERATION_DU_VIDE
BFonctionI
DEFV(LoF,GENERE__Fonction__OPT(CHANGEMENT_DU_POINT_DE_VUE,PV,___CHANGEMENT_DU_POINT_DE_VUE))
EFonctionI