/*************************************************************************************************************************************/ /* */ /* D E F I N I T I O N D ' U N E V A R I E T E D E C A L A B I - Y A U 1 6 - D I M E N S I O N N E L L E : */ /* */ /* */ /* Author of '$xrs/CalabiYau.81$I' : */ /* */ /* Jean-Francois COLONNA (LACTAMME, 20230225102916). */ /* */ /*************************************************************************************************************************************/ /*===================================================================================================================================*/ /* :Debut_listMN_VARIETE_DE_CALABI_YAU_16_DIMENSIONNELLE_11: */ /*************************************************************************************************************************************/ /* */ /* D E F I N I T I O N D E S T R O I S F O N C T I O N S ' F ' : */ /* */ /* */ /* Definition ('v $xrs/CalabiYau.82$K') : */ /* */ /* Une variete hyper-hyper-complexe de Calabi-Yau */ /* 16-dimensionnelle est definie */ /* implicitement par : */ /* */ /* / \n1 / \n2 */ /* | O' | | O' | */ /* | 1 | | 2 | */ /* | ---- | + | ---- | = 1 */ /* | A | | B | */ /* \ / \ / */ /* */ /* posons : */ /* */ /* O' */ /* 1 */ /* O = ---- */ /* 1 A */ /* */ /* O' */ /* 2 */ /* O = ---- */ /* 2 B */ /* */ /* d'ou : */ /* */ /* n1 n2 */ /* O + O = 1 */ /* 1 2 */ /* */ /* ou 'O1' et 'O2' sont deux nombres hyper-hyper-complexes. */ /* Cela peut se reecrire : */ /* */ /* 2 2 */ /* / n1 \ / n2 \ */ /* | ---- | | ---- | */ /* | 2 | | 2 | */ /* | O | + | O | = 1 */ /* \ 1 / \ 2 / */ /* */ /* ou encore : */ /* */ /* 2 2 */ /* cos(O) + sin(O) = 1 */ /* */ /* d'ou : */ /* */ /* n1 2 */ /* O = cos(O) */ /* 1 */ /* */ /* n2 2 */ /* O = sin(O) */ /* 2 */ /* */ /* (ou 'O' est un "angle" hyper-hyper-complexe) d'ou : */ /* */ /* 1 */ /* k1 / \ ---- */ /* 2Ip.---- | | n1 */ /* n1 | 2 | */ /* O = e | cos(O) | */ /* 1 \ / */ /* */ /* 1 */ /* k2 / \ ---- */ /* 2Ip.---- | | n2 */ /* n2 | 2 | */ /* O = e | sin(O) | */ /* 2 \ / */ /* */ /* */ /* ou 'I' represente l'imaginaire pur (0,1,1,1,1,1,1,1). */ /* */ /* D'ou : */ /* */ /* k1 2 */ /* 2Ip.---- ---- */ /* n1 n1 */ /* O = e .cos(O) */ /* 1 */ /* */ /* k2 2 */ /* 2Ip.---- ---- */ /* n2 n2 */ /* O = e .sin(O) */ /* 2 */ /* */ /* et : */ /* */ /* O' = A.O */ /* 1 1 */ /* */ /* O' = B.O */ /* 2 2 */ /* */ /* ou 'k1' et 'k2' indicent les racines n-iemes */ /* de l'unite (n = {n1,n2}) : */ /* */ /* k1 E [ 0 , n1-1 ] */ /* */ /* k2 E [ 0 , n2-1 ] */ /* */ /* La variete est ainsi composee de n1.n2 "patches" */ /* parametres chacun par {w1,w2,w3,w4,w5,w6,w7,w8}, avec : */ /* */ /* w1 E [ 0 , p/2 ] */ /* */ /* w2 E [ -1 , +1 ] */ /* */ /* w3 E [ -1 , +1 ] */ /* */ /* w4 E [ -1 , +1 ] */ /* */ /* w5 E [ -1 , +1 ] */ /* */ /* w6 E [ -1 , +1 ] */ /* */ /* w7 E [ -1 , +1 ] */ /* */ /* w8 E [ -1 , +1 ] */ /* */ /* (ou 'p' designe 'pi') et : */ /* */ /* Q = w1 + i.w2 + j.w3 + k.w4 + s.w5 + t.w6 + u.w7 + v.w8 */ /* */ /* */ /*************************************************************************************************************************************/ /* :Fin_listMN_VARIETE_DE_CALABI_YAU_16_DIMENSIONNELLE_11: */ /*************************************************************************************************************************************/ /* */ /* */ /* Cette variete est donc a 16 dimensions, et la */ /* surface a 3 dimensions que l'on visualisera */ /* sera definie par : */ /* */ /* */ /* X = (A .R(O )) + (A .I(O )) + (...) + (A .U(O )) + (A .V(O )) */ /* X01 1 X02 1 X15 2 X16 2 */ /* */ /* */ /* Y = (A .R(O )) + (A .I(O )) + (...) + (A .U(O )) + (A .V(O )) */ /* Y01 1 Y02 1 Y15 2 Y16 2 */ /* */ /* */ /* Z = (A .R(O )) + (A .I(O )) + (...) + (A .U(O )) + (A .V(O )) */ /* Z01 1 Z02 1 Z15 2 Z16 2 */ /* */ /* */ /* soit, par defaut (qui fait que 'v $xiirs/CAYA.A1.0129' et 'v $xiirs/CAYA.O3' sont semblables bien qu'ayant ete */ /* generees par '$xrs/CalabiYau.12$X' et '$xrs/CalabiYau.32$X' respectivement) : */ /* */ /* */ /* X = R(Q ) + I(Q ) */ /* 1 2 */ /* */ /* */ /* Y = I(Q ) + I(Q ) */ /* 1 2 */ /* */ /* */ /* Z = R(Q ) + I(Q ) */ /* 2 2 */ /* */ /* */ /* (ou 'R(...)', 'I(...)', J(...)', 'K(...)', S(...)', 'T(...)', 'U(...)' et 'V(...)' designent respectivement */ /* les parties Reelle, Imaginaire, Jmaginaire, Kmaginaire, Smaginaire, Tmaginaire, Umaginaire et Vmaginaire). */ /* Une possible matrice 'A' sera : */ /* */ /* | 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 | */ /* | 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 | */ /* | 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 | */ /* */ /* qui permet de retrouver 'v $xiirs/CAYA.A1.0129' */ /* avec 'v $xiirs/CAYA.W3'... */ /* */ /*************************************************************************************************************************************/ DEFV(Local,DEFV(hyper_hyper_complexe,o1)); DEFV(Local,DEFV(hyper_hyper_complexe,o2)); /* Definition des coordonnees {o1,o2} de la variete hyper-hyper-complexe a 2 dimensions. */ DEFV(Local,DEFV(Float,INIT(coordonnee_w1,FLOT__UNDEF))); DEFV(Local,DEFV(Float,INIT(coordonnee_w2,FLOT__UNDEF))); DEFV(Local,DEFV(Float,INIT(coordonnee_w3,FLOT__UNDEF))); DEFV(Local,DEFV(Float,INIT(coordonnee_w4,FLOT__UNDEF))); DEFV(Local,DEFV(Float,INIT(coordonnee_w5,FLOT__UNDEF))); DEFV(Local,DEFV(Float,INIT(coordonnee_w6,FLOT__UNDEF))); DEFV(Local,DEFV(Float,INIT(coordonnee_w7,FLOT__UNDEF))); DEFV(Local,DEFV(Float,INIT(coordonnee_w8,FLOT__UNDEF))); /* Definition des coordonnees parametriques {w1,w2,w3,w4,w5,w6,w7,w8}. */ DEFV(Local,DEFV(Logical,INIT(initialiser_les_coordonnees_w1_w2_w3_w4_w5_w6_w7_w8,VRAI))); /* Controle de l'initialisation des coordonnees parametriques {w1,w2,w3,w4,w5,w6,w7,w8}. */ #define GENERATION_DU_CALABI_YAU_HEXADIMENSIONNEL(coord_w3,coord_w4,coord_w5,coord_w6,coord_w7,coord_w8) \ Bblock \ begin_nouveau_block \ Bblock \ DEFV(Float,INIT(exposant_n1,parametre_n1)); \ DEFV(Float,INIT(demi_exposant_n1,MOIT(parametre_n1))); \ /* Exposant (n1) et demi-exposant (n1/2). */ \ DEFV(Float,INIT(exposant_n2,parametre_n2)); \ DEFV(Float,INIT(demi_exposant_n2,MOIT(parametre_n2))); \ /* Exposant (n2) et demi-exposant (n2/2). */ \ DEFV(hyper_hyper_complexe,ouv); \ DEFV(hyper_hyper_complexe,cosinus_ouv); \ DEFV(hyper_hyper_complexe,sinus_ouv); \ DEFV(hyper_hyper_complexe,puissance_de_cosinus_ouv); \ DEFV(hyper_hyper_complexe,puissance_de_sinus_ouv); \ DEFV(hyper_hyper_complexe,racine_de_l_unite_1); \ DEFV(hyper_hyper_complexe,racine_de_l_unite_2); \ /* Nombres hyper-hyper-complexes de manoeuvre... */ \ \ HHCinitialisation(ouv,w1,w2,coord_w3,coord_w4,coord_w5,coord_w6,coord_w7,coord_w8); \ /* Calcul de : */ \ /* */ \ /* o = w1 + i.w2 + j.w3 + k.w4 + s.w5 + t.w6 + u.w7 + v.W8 */ \ /* uv */ \ /* */ \ HHCcosinus(cosinus_ouv,ouv); \ /* Calcul de : */ \ /* */ \ /* cos(o ) */ \ /* uv */ \ /* */ \ HHCsinus(sinus_ouv,ouv); \ /* Calcul de : */ \ /* */ \ /* sin(o ) */ \ /* uv */ \ /* */ \ HHCpuissance(puissance_de_cosinus_ouv,cosinus_ouv,INVE(demi_exposant_n1)); \ /* Calcul de : */ \ /* */ \ /* 2 */ \ /* ---- */ \ /* n1 */ \ /* cos(o ) */ \ /* uv */ \ /* */ \ HHCpuissance(puissance_de_sinus_ouv,sinus_ouv,INVE(demi_exposant_n2)); \ /* Calcul de : */ \ /* */ \ /* 2 */ \ /* ---- */ \ /* n2 */ \ /* sin(o ) */ \ /* uv */ \ /* */ \ HHCdefinition_trigonometrique(racine_de_l_unite_1 \ ,HHC_MODULE_UNITAIRE \ ,SCAL(CERCLE_TRIGONOMETRIQUE,exposant_n1,parametre_k1) \ ); \ /* Calcul de : */ \ /* */ \ /* k1 */ \ /* 2Ip.---- */ \ /* n1 */ \ /* e */ \ /* */ \ HHCdefinition_trigonometrique(racine_de_l_unite_2 \ ,HHC_MODULE_UNITAIRE \ ,SCAL(CERCLE_TRIGONOMETRIQUE,exposant_n2,parametre_k2) \ ); \ /* Calcul de : */ \ /* */ \ /* k2 */ \ /* 2Ip.---- */ \ /* n2 */ \ /* e */ \ /* */ \ HHCproduit(o1,racine_de_l_unite_1,puissance_de_cosinus_ouv); \ /* Calcul de : */ \ /* */ \ /* k1 2 */ \ /* 2Ip.---- ---- */ \ /* n1 n1 */ \ /* e .cos(o ) */ \ /* uv */ \ /* */ \ HHCproduit(o2,racine_de_l_unite_2,puissance_de_sinus_ouv); \ /* Calcul de : */ \ /* */ \ /* k2 2 */ \ /* 2Ip.---- ---- */ \ /* n2 n2 */ \ /* e .sin(o ) */ \ /* uv */ \ /* */ \ HHCproduit(o1,parametre_oA,o1); \ /* Calcul de : */ \ /* */ \ /* k1 2 */ \ /* 2Ip.---- ---- */ \ /* n1 n1 */ \ /* A.e .cos(o ) */ \ /* uv */ \ /* */ \ HHCproduit(o2,parametre_oB,o2); \ /* Calcul de : */ \ /* */ \ /* k2 2 */ \ /* 2Ip.---- ---- */ \ /* n2 n2 */ \ /* B.e .sin(o ) */ \ /* uv */ \ /* */ \ \ Test(IL_FAUT(valider_la_qualite_du_calcul_de_o1_et_de_o2)) \ /* On notera le probleme "existentiel" decrit dans 'v $ximcd/operator$FON 20230324100530' */ \ /* qui fait que ce test de validation n'a peut-etre, a cause de 'HHCpuissance(...)', aucun */ \ /* sens ! Et d'ailleurs cela peut concerner en fait tous les calculs precedents. Cela s'est */ \ /* vu lors du calcul de 'v $xiirs/CAYA.W4' aux environs du 20230324102306... */ \ Bblock \ DEFV(hyper_hyper_complexe,o1_puissance_n1); \ DEFV(hyper_hyper_complexe,o2_puissance_n2); \ DEFV(hyper_hyper_complexe,validation); \ /* Nombres hyper-hyper-complexes de manoeuvre... */ \ \ HHCpuissance(o1_puissance_n1,o1,parametre_n1); \ /* Calcul de : */ \ /* */ \ /* n1 */ \ /* o */ \ /* 1 */ \ /* */ \ HHCpuissance(o2_puissance_n2,o2,parametre_n2); \ /* Calcul de : */ \ /* */ \ /* n2 */ \ /* o */ \ /* 2 */ \ /* */ \ HHCsomme(validation,o1_puissance_n1,o2_puissance_n2); \ /* Calcul de : */ \ /* */ \ /* n1 n2 */ \ /* o + o */ \ /* 1 2 */ \ /* */ \ \ Test(HHCTestIFNE_a_peu_pres_absolu(validation,HHC_____octonion_p1__0__0__0__0__0__0__0 \ ,epsilon_de_validation_du_calcul_de_o1_et_de_o2 \ ) \ ) \ Bblock \ PRINT_ERREUR("le calcul de 'o1' et de 'o2' est incorrect"); \ PRINT_DANS_HHC("ouv",ouv); \ /* Introduit le 20230323092956... */ \ PRINT_DANS_HHC("o1",o1); \ PRINT_DANS_HHC("o2",o2); \ CAL1(Prer8("(%+.^^^,%+.^^^,%+.^^^,%+.^^^,%+.^^^,%+.^^^,%+.^^^,%+.^^^) est obtenu " \ ,HHReelle(validation) \ ,HHImaginaire(validation) \ ,HHJmaginaire(validation) \ ,HHKmaginaire(validation) \ ,HHSmaginaire(validation) \ ,HHTmaginaire(validation) \ ,HHUmaginaire(validation) \ ,HHVmaginaire(validation) \ ) \ ); \ CAL1(Prer8("au lieu de (%+.^^^,%+.^^^,%+.^^^,%+.^^^,%+.^^^,%+.^^^,%+.^^^,%+.^^^)\n" \ ,HHReelle(HHC_____octonion_p1__0__0__0__0__0__0__0) \ ,HHImaginaire(HHC_____octonion_p1__0__0__0__0__0__0__0) \ ,HHJmaginaire(HHC_____octonion_p1__0__0__0__0__0__0__0) \ ,HHKmaginaire(HHC_____octonion_p1__0__0__0__0__0__0__0) \ ,HHSmaginaire(HHC_____octonion_p1__0__0__0__0__0__0__0) \ ,HHTmaginaire(HHC_____octonion_p1__0__0__0__0__0__0__0) \ ,HHUmaginaire(HHC_____octonion_p1__0__0__0__0__0__0__0) \ ,HHVmaginaire(HHC_____octonion_p1__0__0__0__0__0__0__0) \ ) \ ); \ Eblock \ ATes \ Bblock \ Eblock \ ETes \ Eblock \ ATes \ Bblock \ Eblock \ ETes \ Eblock \ end_nouveau_block \ Eblock \ /* Calcul sur la variete hyper-hyper-complexe a 2 dimensions. */ #define GENERATION_DU_CALABI_YAU_8(w1,w2,w3,w4,w5,w6,w7,w8) \ Bblock \ Test(IFOU(IL_FAUT(initialiser_les_coordonnees_w1_w2_w3_w4_w5_w6_w7_w8) \ ,IFET(IL_NE_FAUT_PAS(initialiser_les_coordonnees_w1_w2_w3_w4_w5_w6_w7_w8) \ ,I8OU(IFNE(w1,coordonnee_w1) \ ,IFNE(w2,coordonnee_w2) \ ,IFNE(w3,coordonnee_w3) \ ,IFNE(w4,coordonnee_w4) \ ,IFNE(w5,coordonnee_w5) \ ,IFNE(w6,coordonnee_w6) \ ,IFNE(w7,coordonnee_w7) \ ,IFNE(w8,coordonnee_w8) \ ) \ ) \ ) \ ) \ Bblock \ EGAL(initialiser_les_coordonnees_w1_w2_w3_w4_w5_w6_w7_w8,FAUX); \ EGAL(coordonnee_w1,w1); \ EGAL(coordonnee_w2,w2); \ EGAL(coordonnee_w3,w3); \ EGAL(coordonnee_w4,w4); \ EGAL(coordonnee_w5,w5); \ EGAL(coordonnee_w6,w6); \ EGAL(coordonnee_w7,w7); \ EGAL(coordonnee_w8,w8); \ /* Initialisation et optimisation du processus... */ \ \ begin_nouveau_block \ Bblock \ GENERATION_DU_CALABI_YAU_HEXADIMENSIONNEL(w3,w4,w5,w6,w7,w8); \ Eblock \ end_nouveau_block \ Eblock \ ATes \ Bblock \ Eblock \ ETes \ Eblock \ /* Calcul sur la variete hyper-hyper-complexe a 8 dimensions. */ BFonctionV DEFV(Local,DEFV(FonctionV,FCalabiYau_8(w1,w2,w3,w4,w5,w6,w7,w8))) DEFV(Argument,DEFV(Float,w1)); DEFV(Argument,DEFV(Float,w2)); DEFV(Argument,DEFV(Float,w3)); DEFV(Argument,DEFV(Float,w4)); DEFV(Argument,DEFV(Float,w5)); DEFV(Argument,DEFV(Float,w6)); DEFV(Argument,DEFV(Float,w7)); DEFV(Argument,DEFV(Float,w8)); /* Definition des coordonnees parametriques. */ /*-----------------------------------------------------------------------------------------------------------------------------------*/ Bblock /*..............................................................................................................................*/ GENERATION_DU_CALABI_YAU_8(w1,w2,w3,w4,w5,w6,w7,w8); /* Calcul, si besoin est, de {o1,o2}. */ RETU_VIDE; Eblock EFonctionV #undef GENERATION_DU_CALABI_YAU_8 #define EDITION_EVENTUELLE_DES_PROJECTIONS(nom_de_la_coordonnee,valeur_de_la_coordonnee) \ Bblock \ Test(IL_FAUT(editer_les_projections)) \ Bblock \ CAL3(Prme0("{")); \ \ CAL3(Prme8("{%+.^^^,%+.^^^,%+.^^^,%+.^^^,%+.^^^,%+.^^^,%+.^^^,%+.^^^}" \ ,HHReelle(o1) \ ,HHImaginaire(o1) \ ,HHJmaginaire(o1) \ ,HHKmaginaire(o1) \ ,HHSmaginaire(o1) \ ,HHTmaginaire(o1) \ ,HHUmaginaire(o1) \ ,HHVmaginaire(o1) \ ) \ ); \ \ CAL3(Prme0(",")); \ \ CAL3(Prme8("{%+.^^^,%+.^^^,%+.^^^,%+.^^^,%+.^^^,%+.^^^,%+.^^^,%+.^^^}" \ ,HHReelle(o2) \ ,HHImaginaire(o2) \ ,HHJmaginaire(o2) \ ,HHKmaginaire(o2) \ ,HHSmaginaire(o2) \ ,HHTmaginaire(o2) \ ,HHUmaginaire(o2) \ ,HHVmaginaire(o2) \ ) \ ); \ \ CAL3(Prme0("} ")); \ \ CAL3(Prme1(" R=%+.^^^" \ ,COEFFICIENT_DE_PROJECTION_PERSPECTIVE_01_16D_3D_R(HHReelle(o1) \ ,HHImaginaire(o1) \ ,HHJmaginaire(o1) \ ,HHKmaginaire(o1) \ ,HHSmaginaire(o1) \ ,HHTmaginaire(o1) \ ,HHUmaginaire(o1) \ ,HHVmaginaire(o1) \ ,HHReelle(o2) \ ,HHImaginaire(o2) \ ,HHJmaginaire(o2) \ ,HHKmaginaire(o2) \ ,HHSmaginaire(o2) \ ,HHTmaginaire(o2) \ ,HHUmaginaire(o2) \ ,HHVmaginaire(o2) \ ) \ ) \ ); \ \ CAL3(Prme0(" --> ")); \ \ CAL3(Prme2(" %s=%+.^^^\n" \ ,nom_de_la_coordonnee \ ,valeur_de_la_coordonnee \ ) \ ); \ Eblock \ ATes \ Bblock \ Eblock \ ETes \ Eblock \ /* Procedure introduite le 20230317100800... */ BFonctionF DEFV(Local,DEFV(FonctionF,FFx_CalabiYau_8(w1,w2,w3,w4,w5,w6,w7,w8))) DEFV(Argument,DEFV(Float,w1)); DEFV(Argument,DEFV(Float,w2)); DEFV(Argument,DEFV(Float,w3)); DEFV(Argument,DEFV(Float,w4)); DEFV(Argument,DEFV(Float,w5)); DEFV(Argument,DEFV(Float,w6)); DEFV(Argument,DEFV(Float,w7)); DEFV(Argument,DEFV(Float,w8)); /* Definition des coordonnees parametriques. */ /*-----------------------------------------------------------------------------------------------------------------------------------*/ Bblock DEFV(Float,INIT(coordonnee_projetee_X,FLOT__UNDEF)); /* Coordonnee 'X' projetee introduite explicitement le 20230317095341... */ /*..............................................................................................................................*/ CALS(FCalabiYau_8(w1,w2,w3,w4,w5,w6,w7,w8)); /* Calcul, si besoin est, de {o1,o2}. */ EGAL(coordonnee_projetee_X ,COND(IL_FAUT(faire_une_projection_parallele) ,PROJECTION_PARALLELE_01_16D_3D_X(HHReelle(o1) ,HHImaginaire(o1) ,HHJmaginaire(o1) ,HHKmaginaire(o1) ,HHSmaginaire(o1) ,HHTmaginaire(o1) ,HHUmaginaire(o1) ,HHVmaginaire(o1) ,HHReelle(o2) ,HHImaginaire(o2) ,HHJmaginaire(o2) ,HHKmaginaire(o2) ,HHSmaginaire(o2) ,HHTmaginaire(o2) ,HHUmaginaire(o2) ,HHVmaginaire(o2) ) ,PROJECTION_PERSPECTIVE_01_16D_3D_X(HHReelle(o1) ,HHImaginaire(o1) ,HHJmaginaire(o1) ,HHKmaginaire(o1) ,HHSmaginaire(o1) ,HHTmaginaire(o1) ,HHUmaginaire(o1) ,HHVmaginaire(o1) ,HHReelle(o2) ,HHImaginaire(o2) ,HHJmaginaire(o2) ,HHKmaginaire(o2) ,HHSmaginaire(o2) ,HHTmaginaire(o2) ,HHUmaginaire(o2) ,HHVmaginaire(o2) ) ) ); /* Calcul de : */ /* */ /* X = (A .R(Q )) + (A .I(Q )) + (...) + (A .U(Q )) + (A .v(Q )) */ /* X01 1 X02 1 X15 2 X16 2 */ /* */ EDITION_EVENTUELLE_DES_PROJECTIONS("X",coordonnee_projetee_X); /* Introduit le 20230317100800... */ RETU(coordonnee_projetee_X); Eblock EFonctionF BFonctionF DEFV(Local,DEFV(FonctionF,FFy_CalabiYau_8(w1,w2,w3,w4,w5,w6,w7,w8))) DEFV(Argument,DEFV(Float,w1)); DEFV(Argument,DEFV(Float,w2)); DEFV(Argument,DEFV(Float,w3)); DEFV(Argument,DEFV(Float,w4)); DEFV(Argument,DEFV(Float,w5)); DEFV(Argument,DEFV(Float,w6)); DEFV(Argument,DEFV(Float,w7)); DEFV(Argument,DEFV(Float,w8)); /* Definition des coordonnees parametriques. */ /*-----------------------------------------------------------------------------------------------------------------------------------*/ Bblock DEFV(Float,INIT(coordonnee_projetee_Y,FLOT__UNDEF)); /* Coordonnee 'Y' projetee introduite explicitement le 20230317095341... */ /*..............................................................................................................................*/ CALS(FCalabiYau_8(w1,w2,w3,w4,w5,w6,w7,w8)); /* Calcul, si besoin est, de {o1,o2}. */ EGAL(coordonnee_projetee_Y ,COND(IL_FAUT(faire_une_projection_parallele) ,PROJECTION_PARALLELE_01_16D_3D_Y(HHReelle(o1) ,HHImaginaire(o1) ,HHJmaginaire(o1) ,HHKmaginaire(o1) ,HHSmaginaire(o1) ,HHTmaginaire(o1) ,HHUmaginaire(o1) ,HHVmaginaire(o1) ,HHReelle(o2) ,HHImaginaire(o2) ,HHJmaginaire(o2) ,HHKmaginaire(o2) ,HHSmaginaire(o2) ,HHTmaginaire(o2) ,HHUmaginaire(o2) ,HHVmaginaire(o2) ) ,PROJECTION_PERSPECTIVE_01_16D_3D_Y(HHReelle(o1) ,HHImaginaire(o1) ,HHJmaginaire(o1) ,HHKmaginaire(o1) ,HHSmaginaire(o1) ,HHTmaginaire(o1) ,HHUmaginaire(o1) ,HHVmaginaire(o1) ,HHReelle(o2) ,HHImaginaire(o2) ,HHJmaginaire(o2) ,HHKmaginaire(o2) ,HHSmaginaire(o2) ,HHTmaginaire(o2) ,HHUmaginaire(o2) ,HHVmaginaire(o2) ) ) ); /* Calcul de : */ /* */ /* Y = (A .R(Q )) + (A .I(Q )) + (...) + (A .U(Q )) + (A .v(Q )) */ /* Y01 1 Y02 1 Y15 2 Y16 2 */ /* */ EDITION_EVENTUELLE_DES_PROJECTIONS("Y",coordonnee_projetee_Y); /* Introduit le 20230317100800... */ RETU(coordonnee_projetee_Y); Eblock EFonctionF BFonctionF DEFV(Local,DEFV(FonctionF,FFz_CalabiYau_8(w1,w2,w3,w4,w5,w6,w7,w8))) DEFV(Argument,DEFV(Float,w1)); DEFV(Argument,DEFV(Float,w2)); DEFV(Argument,DEFV(Float,w3)); DEFV(Argument,DEFV(Float,w4)); DEFV(Argument,DEFV(Float,w5)); DEFV(Argument,DEFV(Float,w6)); DEFV(Argument,DEFV(Float,w7)); DEFV(Argument,DEFV(Float,w8)); /* Definition des coordonnees parametriques. */ /*-----------------------------------------------------------------------------------------------------------------------------------*/ Bblock DEFV(Float,INIT(coordonnee_projetee_Z,FLOT__UNDEF)); /* Coordonnee 'Z' projetee introduite explicitement le 20230317095341... */ /*..............................................................................................................................*/ CALS(FCalabiYau_8(w1,w2,w3,w4,w5,w6,w7,w8)); /* Calcul, si besoin est, de {o1,o2}. */ EGAL(coordonnee_projetee_Z ,COND(IL_FAUT(faire_une_projection_parallele) ,PROJECTION_PARALLELE_01_16D_3D_Z(HHReelle(o1) ,HHImaginaire(o1) ,HHJmaginaire(o1) ,HHKmaginaire(o1) ,HHSmaginaire(o1) ,HHTmaginaire(o1) ,HHUmaginaire(o1) ,HHVmaginaire(o1) ,HHReelle(o2) ,HHImaginaire(o2) ,HHJmaginaire(o2) ,HHKmaginaire(o2) ,HHSmaginaire(o2) ,HHTmaginaire(o2) ,HHUmaginaire(o2) ,HHVmaginaire(o2) ) ,PROJECTION_PERSPECTIVE_01_16D_3D_Z(HHReelle(o1) ,HHImaginaire(o1) ,HHJmaginaire(o1) ,HHKmaginaire(o1) ,HHSmaginaire(o1) ,HHTmaginaire(o1) ,HHUmaginaire(o1) ,HHVmaginaire(o1) ,HHReelle(o2) ,HHImaginaire(o2) ,HHJmaginaire(o2) ,HHKmaginaire(o2) ,HHSmaginaire(o2) ,HHTmaginaire(o2) ,HHUmaginaire(o2) ,HHVmaginaire(o2) ) ) ); /* Calcul de : */ /* */ /* Z = (A .R(Q )) + (A .I(Q )) + (...) + (A .U(Q )) + (A .v(Q )) */ /* Z01 1 Z02 1 Z15 2 Z16 2 */ /* */ EDITION_EVENTUELLE_DES_PROJECTIONS("Z",coordonnee_projetee_Z); /* Introduit le 20230317100800... */ RETU(coordonnee_projetee_Z); Eblock EFonctionF #undef EDITION_EVENTUELLE_DES_PROJECTIONS #define Fx_CalabiYau_8(w1,w2,w3,w4,w5,w6,w7,w8) \ FFx_CalabiYau_8(w1,w2,w3,w4,w5,w6,w7,w8) \ /* Definition de la fonction F (w1,w2,w3,w4,w5,w6,w7,w8). */ \ /* x */ #define Fy_CalabiYau_8(w1,w2,w3,w4,w5,w6,w7,w8) \ FFy_CalabiYau_8(w1,w2,w3,w4,w5,w6,w7,w8) \ /* Definition de la fonction F (w1,w2,w3,w4,w5,w6,w7,w8). */ \ /* y */ #define Fz_CalabiYau_8(w1,w2,w3,w4,w5,w6,w7,w8) \ FFz_CalabiYau_8(w1,w2,w3,w4,w5,w6,w7,w8) \ /* Definition de la fonction F (w1,w2,w3,w4,w5,w6,w7,w8). */ \ /* z */ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* I N I T I A L I S A T I O N S R E L A T I V E S A L A P S E U D O - P R O J E C T I O N : */ /* */ /*************************************************************************************************************************************/ #define Pxyz_CalabiYau_8 \ Bblock \ BLOC(VIDE;); \ Eblock /* Initialisations specifiques a cette surface destinees a permettre la reinjection des */ /* trois pseudo-projections {Projection_de_Fx,Projection_de_Fy,Projection_de_Fz} dans */ /* 'v $xrs/project2D.11$K'... */