/*************************************************************************************************************************************/ /* */ /* D E F I N I T I O N S G E N E R A L E S D E V I S U A L I S A T I O N : */ /* */ /* */ /* Author of '$xrs/volumes.14$I' : */ /* */ /* Jean-Francois COLONNA (LACTAMME, 20040325104520). */ /* */ /*************************************************************************************************************************************/ #include xrk/attractor.1D.I" /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* D E F I N I T I O N D E S D I F F E R E N T S E S P A C E S E T D E L ' E F F E T D E B R U M E : */ /* */ /*************************************************************************************************************************************/ #include xrk/attractor.13.I" /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* A I D E A U C A D R A G E D E S I M A G E S : */ /* */ /*************************************************************************************************************************************/ #include xrk/attractor.1C.I" DONNEES_DE_RECHERCHE_DES_EXTREMA_DES_COORDONNEES_ET_DES_DERIVEES /* Definition des extrema des coordonnees et des derivees. On notera bien l'absence de */ /* point-virgule apres 'DONNEES_DE_RECHERCHE_DES_EXTREMA_DES_COORDONNEES_ET_DES_DERIVEES'. */ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* G E N E R A T I O N D E S I M A G E S : */ /* */ /*************************************************************************************************************************************/ #include xrv/champs_5.14.I" /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* D E F I N I T I O N S G E N E R A L E S R E L A T I V E S A L A V I S U A L I S A T I O N : */ /* */ /*************************************************************************************************************************************/ #include xrk/attractor.14.I" /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* E C H A N T I L L O N N A G E D U V O L U M E : */ /* */ /* */ /* Definition : */ /* */ /* Un dispositif permet */ /* de visualiser le maillage suivant les */ /* paralleles et les meridiens du volume. */ /* Notons (suivant 'v $xrs/volumes.13$I PROCESS_ARGUMENTS_DE_DEFINITION_DES_COORDONNEES_CURVILIGNES') : */ /* */ /* pu = pas_de_u */ /* eu = echantillonnage_de_u */ /* dpu = diviseur_du_pas_de_u */ /* */ /* pv = pas_de_v */ /* ev = echantillonnage_de_v */ /* dpv = diviseur_du_pas_de_v */ /* */ /* pw = pas_de_w */ /* ew = echantillonnage_de_w */ /* dpw = diviseur_du_pas_de_w */ /* */ /* */ /* Les pas effectifs en 'u', 'v' et 'w' sont donc : */ /* */ /* pu/dpu */ /* pv/dpv */ /* pw/dpw */ /* */ /* respectivement. Les meridiens seront espaces */ /* de 'ev' points et les paralleles de 'eu' points. */ /* Ainsi, par exemple si : */ /* */ /* eu == dpu */ /* ev == dpv */ /* */ /* les meridiens et les paralleles seront espaces */ /* de 'pv' et 'pu' respectivement. Mais, en general, */ /* {eu,ev} et {dpu,dpv} ne seront pas "correles"... */ /* */ /* */ /* A 'w' constant, une surface {u,v} du */ /* volume va alors etre visualisee de */ /* la facon suivante : */ /* */ /* */ /* 'ev' points */ /* <-------------------> */ /* */ /* pv/dpv */ /* <----> */ /* */ /* . . . . * . . . . * . . . . * . . */ /* | | | */ /* | u =constante | | */ /* *----*----*----*----*----*----*----*----*----*----*----*----*----*----*----*----* */ /* /|\ /|\ | ("paralleles") | v | " */ /* | pu/dpu | | | = | m */ /* | \|/. . . . * . . . . * . . . . c * e . . */ /* 'eu' | | | o | r */ /* | | | n | i */ /* points | . . . . * . . . . * . . . . s * d . . */ /* | | | t | i */ /* | | | a | e */ /* \|/ . . . . * . . . . * . . . . n * n . . */ /* | | t | s */ /* | | e | " */ /* *----*----*----*----*----*----*----*----*----*----*----*----*----*----*----*----* */ /* | | | */ /* | | | */ /* . . . . * . . . . * . . . . * . . */ /* */ /* */ /* ou les caracteres "*" materialisent les */ /* points reellement visualises du volume. */ /* Les caracteres "-" et "|" ne sont la que pour */ /* materialiser les paralleles et les meridiens */ /* respectivement, alors que les caracteres "." */ /* montrent l'echantillonnage effectif de la */ /* surface. */ /* */ /* */ /*************************************************************************************************************************************/ #define MAJORATION_DU_MAXIMUM_DES_COORDONNEES_u_v_w_____COMPATIBILITE_20160414 \ FAUX DEFV(Local,DEFV(Logical,INIT(majoration_du_maximum_des_coordonnees_u_v_w_____compatibilite_20160414 ,MAJORATION_DU_MAXIMUM_DES_COORDONNEES_u_v_w_____COMPATIBILITE_20160414 ) ) ); #define EPSILON_DE_MAJORATION_DU_MAXIMUM_DES_COORDONNEES_u_v_w \ mgEPSILON DEFV(Local,DEFV(Float,INIT(epsilon_de_majoration_du_maximum_des_coordonnees_u_v_w ,EPSILON_DE_MAJORATION_DU_MAXIMUM_DES_COORDONNEES_u_v_w ) ) ); /* Afin d'assurer la compatibilite avec les resultats obtenus anterieurement a la date */ /* du 20160414133107... */ /* */ /* Ceci a ete introduit a cette date apres avoir note que les 'v $xrs/volumes.12$I FDoIn' */ /* n'atteignent pas toujours le maximum. Ainsi, par exemple : */ /* */ /* FDoIn(uvw,-0.5,+0.5,0.050) ==> 'uvw' atteint +0.5 */ /* */ /* alors que : */ /* */ /* FDoIn(uvw,-0.5,+0.5,0.025) ==> 'uvw' n'atteint que +0.475000 */ /* */ /* (voir a ce propos 'v $xtc/test_for_flottant.01$c'). */ /* */ /* L'espilon parametrable a ete introduit le 20160414144922... */ /* */ /* Au passage, faire : */ /* */ /* epsilon = 0 */ /* */ /* est une autre facon d'assurer la "compatibilite_20160414"... */ /* Le 20060818094337, par symetrie avec 'v $xrs/surfaces.14$I 20060818091921', les */ /* definitions des coordonnees {u,v,w} ont ete mises en commun alors qu'anterieurement */ /* elles etaient definies specifiquement pour chaque volume dans le fichier '$xrs/*.14$I' */ /* (par exemple 'v $xrs/$xrs/Mobius3D.14$I')... */ DEFV(Local,DEFV(Float,INIT(minimum_de_u,MINIMUM_DE_U))); DEFV(Local,DEFV(Float,INIT(maximum_de_u,MAXIMUM_DE_U))); DEFV(Local,DEFV(Float,INIT(pas_de_u,PAS_DE_U))); /* Definition de la coordonnee parametrique 'u' du volume. */ DEFV(Local,DEFV(Float,INIT(minimum_de_v,MINIMUM_DE_V))); DEFV(Local,DEFV(Float,INIT(maximum_de_v,MAXIMUM_DE_V))); DEFV(Local,DEFV(Float,INIT(pas_de_v,PAS_DE_V))); /* Definition de la coordonnee parametrique 'v' du volume. */ DEFV(Local,DEFV(Float,INIT(minimum_de_w,MINIMUM_DE_W))); DEFV(Local,DEFV(Float,INIT(maximum_de_w,MAXIMUM_DE_W))); DEFV(Local,DEFV(Float,INIT(pas_de_w,PAS_DE_W))); /* Definition de la coordonnee parametrique 'w' du volume. */ #define LISTER_LES_COORDONNEES_u_v_w_DES_POINTS \ FAUX DEFV(Local,DEFV(Logical,INIT(lister_les_coordonnees_u_v_w_des_points,LISTER_LES_COORDONNEES_u_v_w_DES_POINTS))); /* Ceci fut introduit le 20101006103609. */ #define ECHANTILLONNAGE_DE_u_DE_v_ET_DE_w \ UN DEFV(Local,DEFV(Int,INIT(echantillonnage_de_u,ECHANTILLONNAGE_DE_u_DE_v_ET_DE_w))); DEFV(Local,DEFV(Int,INIT(echantillonnage_de_v,ECHANTILLONNAGE_DE_u_DE_v_ET_DE_w))); DEFV(Local,DEFV(Int,INIT(echantillonnage_de_w,ECHANTILLONNAGE_DE_u_DE_v_ET_DE_w))); /* Dispositif permettant d'echantillonner le volume ce qui permet donc de mieux */ /* materialiser les lignes {u=constante}, {v=constante} et {w=constante}, ce que */ /* l'on peut appeler : */ /* */ /* u=constante : "paralleles", */ /* v=constante : "meridiens". */ /* w=constante : ? */ /* */ /* Pour cela, il suffit par exemple de prendre un pas pour 'u', 'v' et 'w' qui soit 'N' */ /* fois plus petit qu'habituellement, puis de prendre comme echantillonnage en 'u', 'v' */ /* et 'w' la valeur 'N'. */ #define TRANSLATION_DE_L_ECHANTILLONNAGE_DE_u_DE_v_ET_DE_w \ ZERO DEFV(Local,DEFV(Int,INIT(translation_de_l_echantillonnage_de_u,TRANSLATION_DE_L_ECHANTILLONNAGE_DE_u_DE_v_ET_DE_w))); DEFV(Local,DEFV(Int,INIT(translation_de_l_echantillonnage_de_v,TRANSLATION_DE_L_ECHANTILLONNAGE_DE_u_DE_v_ET_DE_w))); DEFV(Local,DEFV(Int,INIT(translation_de_l_echantillonnage_de_w,TRANSLATION_DE_L_ECHANTILLONNAGE_DE_u_DE_v_ET_DE_w))); /* Dispositif introduit le 20040330111827 qui permet, par sa variation (0, 1, 2,...) de */ /* faire "glisser" la grille d'echantillonnage dans le volume... */ #define DIVISEUR_DU_PAS_DE_u_DE_v_ET_DE_w \ FU DEFV(Local,DEFV(Float,INIT(diviseur_du_pas_de_u,DIVISEUR_DU_PAS_DE_u_DE_v_ET_DE_w))); DEFV(Local,DEFV(Float,INIT(diviseur_du_pas_de_v,DIVISEUR_DU_PAS_DE_u_DE_v_ET_DE_w))); DEFV(Local,DEFV(Float,INIT(diviseur_du_pas_de_w,DIVISEUR_DU_PAS_DE_u_DE_v_ET_DE_w))); /* Dispositif permettant d'utiliser le dispositif precedent d'echantillonnage precedent */ /* et ce sans avoir a toucher aux pas des coordonnees {u,v,w}. Il suffira, par exemple, */ /* d'utiliser des diviseurs egaux aux echantillonnages... */ #define LE_PAS_DE_u_DE_v_ET_DE_w_DE_DIFFERENTIATION_EST_HOMOTHETIQUE \ VRAI DEFV(Local,DEFV(Logical,INIT(le_pas_de_u_de_differentiation_est_homothetique ,LE_PAS_DE_u_DE_v_ET_DE_w_DE_DIFFERENTIATION_EST_HOMOTHETIQUE ) ) ); DEFV(Local,DEFV(Logical,INIT(le_pas_de_v_de_differentiation_est_homothetique ,LE_PAS_DE_u_DE_v_ET_DE_w_DE_DIFFERENTIATION_EST_HOMOTHETIQUE ) ) ); DEFV(Local,DEFV(Logical,INIT(le_pas_de_w_de_differentiation_est_homothetique ,LE_PAS_DE_u_DE_v_ET_DE_w_DE_DIFFERENTIATION_EST_HOMOTHETIQUE ) ) ); /* Ce dispositif introduit le 20060505161814 permet de faire que le pas de differentiation */ /* en {u,v,w} est homothetique ('VRAI'), c'est-a-dire qu'il est alors calcule a partir de */ /* {pas_de_u_effectif,pas_de_v_effectif,pas_de_w_effectif} ou bien ('FAUX') a partir */ /* de {pas_de_u,pas_de_v,pas_de_w}. */ #define DIVISEUR_DE_DIFFERENTIATION_DE_u_DE_v_ET_DE_w \ FU DEFV(Local,DEFV(Float,INIT(diviseur_de_differentiation_de_u,DIVISEUR_DE_DIFFERENTIATION_DE_u_DE_v_ET_DE_w))); DEFV(Local,DEFV(Float,INIT(diviseur_de_differentiation_de_v,DIVISEUR_DE_DIFFERENTIATION_DE_u_DE_v_ET_DE_w))); DEFV(Local,DEFV(Float,INIT(diviseur_de_differentiation_de_w,DIVISEUR_DE_DIFFERENTIATION_DE_u_DE_v_ET_DE_w))); /* Ce dispositif fut introduit le 20060505161814... */ #define FACILITER_LE_PARAMETRAGE_DE_u_v_w \ FAUX #define NOMBRE_D_INTERS_u \ UN #define NOMBRE_D_INTERS_v \ UN #define NOMBRE_D_INTERS_w \ UN #define NOMBRE_DE_POINTS_DANS_UN_INTER_u \ UN #define NOMBRE_DE_POINTS_DANS_UN_INTER_v \ UN #define NOMBRE_DE_POINTS_DANS_UN_INTER_w \ UN DEFV(Local,DEFV(Logical,INIT(faciliter_le_parametrage_de_u_v_w,FACILITER_LE_PARAMETRAGE_DE_u_v_w))); DEFV(Local,DEFV(Int,INIT(nombre_d_inters_u,NOMBRE_D_INTERS_u))); DEFV(Local,DEFV(Int,INIT(nombre_de_points_dans_un_inter_u,NOMBRE_DE_POINTS_DANS_UN_INTER_u))); DEFV(Local,DEFV(Int,INIT(nombre_d_inters_v,NOMBRE_D_INTERS_v))); DEFV(Local,DEFV(Int,INIT(nombre_de_points_dans_un_inter_v,NOMBRE_DE_POINTS_DANS_UN_INTER_v))); DEFV(Local,DEFV(Int,INIT(nombre_d_inters_w,NOMBRE_D_INTERS_w))); DEFV(Local,DEFV(Int,INIT(nombre_de_points_dans_un_inter_w,NOMBRE_DE_POINTS_DANS_UN_INTER_w))); /* Ceci a ete introduit le 20160414133107 afin de faciliter la definition du maillage */ /* en {u,v,w} des volumes. */ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* P R O J E C T I O N D U V O L U M E : */ /* */ /*************************************************************************************************************************************/ #define GENERER_LES_TROIS_PROJECTIONS_DU_VOLUME \ FAUX DEFV(Local,DEFV(Logical,INIT(generer_les_trois_projections_du_volume,GENERER_LES_TROIS_PROJECTIONS_DU_VOLUME))); /* Indique si l'on visualise le volume ('FAUX') ou bien si l'on genere ses projections */ /* ('VRAI'). Ceci a ete introduit le 20050628083902 afin d'etre compatible et utilisable */ /* par 'v $xrs/project3D.11$K P.R.O.J.E.C.T.O.R'. */ #define FAIRE_LES_INITIALISATIONS_SPECIFIQUES_DE_PROJECTION_DU_VOLUME \ VRAI DEFV(Local,DEFV(Logical,INIT(faire_les_initialisations_specifiques_de_projection_du_volume ,FAIRE_LES_INITIALISATIONS_SPECIFIQUES_DE_PROJECTION_DU_VOLUME ) ) ); /* Indique s'il faut executer 'INITIALISATIONS_SPECIFIQUES_DE_PROJECTION_DU_VOLUME(...)' */ /* ('VRAI') ou pas ('FAUX') ? Ceci fut introduit le 20060502142117... */ #define FORCER_LES_EXTREMA_DE_u_v_w_LORS_DE_LA_PROJECTION_DU_VOLUME \ VRAI DEFV(Local,DEFV(Logical,INIT(forcer_les_extrema_de_u_v_w_lors_de_la_projection_du_volume ,FORCER_LES_EXTREMA_DE_u_v_w_LORS_DE_LA_PROJECTION_DU_VOLUME ) ) ); /* Indique si l'on force les extrema de {u,v,w} via une procedure 'v $xrs/volumes.12$I Pxyz' */ /* ('VRAI') ou bien si l'on utilise ceux qui ont ete donnes en parametres ('FAUX'). Ceci fut */ /* introduit le 20060307104259. La valeur par defaut garantit la compatibilite anterieure... */ DEFV(Local,DEFV(CHAR,INIT(POINTERc(nom_albumProjectionFx),NOM_PIPE_Local))); DEFV(Local,DEFV(CHAR,INIT(POINTERc(nom_postfixeProjectionFx),NOM_UNDEF_VIDE))); DEFV(Local,DEFV(Int,INIT(premiere_imageProjectionFx,PREMIERE_IMAGE))); DEFV(Local,DEFV(Int,INIT(pas_des_imagesProjectionFx,PAS_DES_IMAGES))); DEFV(Local,DEFV(Int,INIT(nombre_de_chiffresProjectionFx,NOMBRE_DE_CHIFFRES))); /* Definition de l'album de la projection de 'Fx'... */ DEFV(Local,DEFV(CHAR,INIT(POINTERc(nom_albumProjectionFy),NOM_PIPE_Local))); DEFV(Local,DEFV(CHAR,INIT(POINTERc(nom_postfixeProjectionFy),NOM_UNDEF_VIDE))); DEFV(Local,DEFV(Int,INIT(premiere_imageProjectionFy,PREMIERE_IMAGE))); DEFV(Local,DEFV(Int,INIT(pas_des_imagesProjectionFy,PAS_DES_IMAGES))); DEFV(Local,DEFV(Int,INIT(nombre_de_chiffresProjectionFy,NOMBRE_DE_CHIFFRES))); /* Definition de l'album de la projection de 'Fy'... */ DEFV(Local,DEFV(CHAR,INIT(POINTERc(nom_albumProjectionFz),NOM_PIPE_Local))); DEFV(Local,DEFV(CHAR,INIT(POINTERc(nom_postfixeProjectionFz),NOM_UNDEF_VIDE))); DEFV(Local,DEFV(Int,INIT(premiere_imageProjectionFz,PREMIERE_IMAGE))); DEFV(Local,DEFV(Int,INIT(pas_des_imagesProjectionFz,PAS_DES_IMAGES))); DEFV(Local,DEFV(Int,INIT(nombre_de_chiffresProjectionFz,NOMBRE_DE_CHIFFRES))); /* Definition de l'album de la projection de 'Fz'... */ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* T R A N S F O R M A T I O N D E S C O R D O N N E E S ' u ' , ' v ' E T ' w ' : */ /* */ /*************************************************************************************************************************************/ #define TRANSFORMER_u_v_w \ FAUX DEFV(Local,DEFV(Logical,INIT(transformer_u_v_w,TRANSFORMER_u_v_w))); #define TROUER_u_v_w \ FAUX DEFV(Local,DEFV(Logical,INIT(trouer_u_v_w,TROUER_u_v_w))); /* Afin de pouvoir transformer {u,v,w} de facon quelconque (introduit le 20060530110751, */ /* mais inutilise a cette date...). Le "trouage" a ete desolidarise des transformations */ /* le 20060530152435.... */ #define GESTION_TORIQUE_DE_u_v_w \ FAUX DEFV(Local,DEFV(Logical,INIT(gestion_torique_de_u,GESTION_TORIQUE_DE_u_v_w))); DEFV(Local,DEFV(Logical,INIT(gestion_torique_de_v,GESTION_TORIQUE_DE_u_v_w))); DEFV(Local,DEFV(Logical,INIT(gestion_torique_de_w,GESTION_TORIQUE_DE_u_v_w))); /* Afin de savoir s'il faut proceder a une gestion "torique" des coordonnees {u,v,w} */ /* effectives, c'est-a-dire apres la transformation eventuelle des coordonnees {u,v,w}. */ /* Ceci fut introduit le 20060601132202. */ #define TRANSFORMER_u_v_w_PERIODISER \ VRAI #define TRANSFORMER_u_v_w_SYMETRISER \ FAUX #define TRANSFORMER_u_v_w_PROLONGER \ FAUX #define TRANSFORMER_u_v_w_NIVEAU_HORS_ALBUM \ FZERO DEFV(Local,DEFV(Logical,INIT(transformer_u_v_w_periodiser_u,TRANSFORMER_u_v_w_PERIODISER))); DEFV(Local,DEFV(Logical,INIT(transformer_u_v_w_periodiser_v,TRANSFORMER_u_v_w_PERIODISER))); DEFV(Local,DEFV(Logical,INIT(transformer_u_v_w_periodiser_w,TRANSFORMER_u_v_w_PERIODISER))); DEFV(Local,DEFV(Logical,INIT(trouer_u_v_w_periodiser_u,TRANSFORMER_u_v_w_PERIODISER))); DEFV(Local,DEFV(Logical,INIT(trouer_u_v_w_periodiser_v,TRANSFORMER_u_v_w_PERIODISER))); DEFV(Local,DEFV(Logical,INIT(trouer_u_v_w_periodiser_w,TRANSFORMER_u_v_w_PERIODISER))); DEFV(Local,DEFV(Logical,INIT(transformer_u_v_w_symetriser_u,TRANSFORMER_u_v_w_SYMETRISER))); DEFV(Local,DEFV(Logical,INIT(transformer_u_v_w_symetriser_v,TRANSFORMER_u_v_w_SYMETRISER))); DEFV(Local,DEFV(Logical,INIT(transformer_u_v_w_symetriser_w,TRANSFORMER_u_v_w_SYMETRISER))); DEFV(Local,DEFV(Logical,INIT(trouer_u_v_w_symetriser_u,TRANSFORMER_u_v_w_SYMETRISER))); DEFV(Local,DEFV(Logical,INIT(trouer_u_v_w_symetriser_v,TRANSFORMER_u_v_w_SYMETRISER))); DEFV(Local,DEFV(Logical,INIT(trouer_u_v_w_symetriser_w,TRANSFORMER_u_v_w_SYMETRISER))); DEFV(Local,DEFV(Logical,INIT(transformer_u_v_w_prolonger_u,TRANSFORMER_u_v_w_PROLONGER))); DEFV(Local,DEFV(Logical,INIT(transformer_u_v_w_prolonger_v,TRANSFORMER_u_v_w_PROLONGER))); DEFV(Local,DEFV(Logical,INIT(transformer_u_v_w_prolonger_w,TRANSFORMER_u_v_w_PROLONGER))); DEFV(Local,DEFV(Logical,INIT(trouer_u_v_w_prolonger_u,TRANSFORMER_u_v_w_PROLONGER))); DEFV(Local,DEFV(Logical,INIT(trouer_u_v_w_prolonger_v,TRANSFORMER_u_v_w_PROLONGER))); DEFV(Local,DEFV(Logical,INIT(trouer_u_v_w_prolonger_w,TRANSFORMER_u_v_w_PROLONGER))); DEFV(Local,DEFV(genere_Float,INIT(transformer_u_v_w_niveau_hors_album,TRANSFORMER_u_v_w_NIVEAU_HORS_ALBUM))); /* Afin de parametrer l'acces aux transformations de {u,v,w}... */ DEFV(Local,DEFV(CHAR,INIT(POINTERc(nom_albumTransformation_u),NOM_PIPE_Local))); DEFV(Local,DEFV(CHAR,INIT(POINTERc(nom_postfixeTransformation_u),NOM_UNDEF_VIDE))); DEFV(Local,DEFV(Int,INIT(premiere_imageTransformation_u,PREMIERE_IMAGE))); DEFV(Local,DEFV(Int,INIT(pas_des_imagesTransformation_u,PAS_DES_IMAGES))); DEFV(Local,DEFV(Int,INIT(nombre_de_chiffresTransformation_u,NOMBRE_DE_CHIFFRES))); /* Definition de l'album de la transformation de la coordonnee 'u'... */ DEFV(Local,DEFV(CHAR,INIT(POINTERc(nom_albumTransformation_v),NOM_PIPE_Local))); DEFV(Local,DEFV(CHAR,INIT(POINTERc(nom_postfixeTransformation_v),NOM_UNDEF_VIDE))); DEFV(Local,DEFV(Int,INIT(premiere_imageTransformation_v,PREMIERE_IMAGE))); DEFV(Local,DEFV(Int,INIT(pas_des_imagesTransformation_v,PAS_DES_IMAGES))); DEFV(Local,DEFV(Int,INIT(nombre_de_chiffresTransformation_v,NOMBRE_DE_CHIFFRES))); /* Definition de l'album de la transformation de la coordonnee 'v'... */ DEFV(Local,DEFV(CHAR,INIT(POINTERc(nom_albumTransformation_w),NOM_PIPE_Local))); DEFV(Local,DEFV(CHAR,INIT(POINTERc(nom_postfixeTransformation_w),NOM_UNDEF_VIDE))); DEFV(Local,DEFV(Int,INIT(premiere_imageTransformation_w,PREMIERE_IMAGE))); DEFV(Local,DEFV(Int,INIT(pas_des_imagesTransformation_w,PAS_DES_IMAGES))); DEFV(Local,DEFV(Int,INIT(nombre_de_chiffresTransformation_w,NOMBRE_DE_CHIFFRES))); /* Definition de l'album de la transformation de la coordonnee 'w'... */ #define LE_VOLUME_EST_INTEGRE \ FLOT(VRAI) DEFV(Local,DEFV(CHAR,INIT(POINTERc(nom_albumTrouage_uvw),NOM_PIPE_Local))); DEFV(Local,DEFV(CHAR,INIT(POINTERc(nom_postfixeTrouage_uvw),NOM_UNDEF_VIDE))); DEFV(Local,DEFV(Int,INIT(premiere_imageTrouage_uvw,PREMIERE_IMAGE))); DEFV(Local,DEFV(Int,INIT(pas_des_imagesTrouage_uvw,PAS_DES_IMAGES))); DEFV(Local,DEFV(Int,INIT(nombre_de_chiffresTrouage_uvw,NOMBRE_DE_CHIFFRES))); /* Definitions utiles a trouer de facon quelconque le volume (introduit le 20060530110751, */ /* mais inutilise a cette date...). */ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* T E X T U R A G E D U V O L U M E : */ /* */ /*************************************************************************************************************************************/ #define AXES_COORDONNEES_FERMES_OUVERTS__TEXTURAGE_VOLUMES_____COMPATIBILITE_20130220 \ FAUX DEFV(Local,DEFV(Logical,INIT(AXES_COORDONNEES_FERMES_OUVERTS__texturage_volumes_____compatibilite_20130220 ,AXES_COORDONNEES_FERMES_OUVERTS__TEXTURAGE_VOLUMES_____COMPATIBILITE_20130220 ) ) ); /* Afin d'assurer la compatibilite avec les resultats obtenus anterieurement a la date */ /* du 20130220134811... */ #define ACCES_AUX_ALBUMS(album,nom_d_album,postfixe,Premiere,Pas,NChiffres) \ Bblock \ CALi(gdAload_album(album \ ,nom_d_album \ ,postfixe \ ,Premiere \ ,Pas \ ,NChiffres \ ,NOM_PIPE_Local \ ,FAUX \ ,UNDEF \ ,BLANC \ ,FAUX \ ) \ ); \ Eblock \ /* Acces a un album "standard" lorsque cela est necessaire et sinon, mise a 'BLANC'... */ \ /* */ \ /* L'argument 'Inv' ('FAUX') a ete introduit le 20091125134949... */ #define PERIODISER_u_v_w_TEXTURE_ET_RAYON \ VRAI #define SYMETRISER_u_v_w_TEXTURE_ET_RAYON \ FAUX #define PROLONGER_u_v_w_TEXTURE_ET_RAYON \ FAUX #define NIVEAU_HORS_PROJECTION_TEXTURE_ET_RAYON \ FZERO DEFV(Local,DEFV(CHAR,INIT(POINTERc(nom_texture_ROUGE),NOM_PIPE_Local))); DEFV(Local,DEFV(CHAR,INIT(POINTERc(nom_postfixe_ROUGE),NOM_UNDEF_VIDE))); DEFV(Local,DEFV(Int,INIT(premiere_image_ROUGE,PREMIERE_IMAGE))); DEFV(Local,DEFV(Int,INIT(pas_des_images_ROUGE,PAS_DES_IMAGES))); DEFV(Local,DEFV(Int,INIT(nombre_de_chiffres_ROUGE,NOMBRE_DE_CHIFFRES))); DEFV(Local,DEFV(Logical,INIT(Album_ROUGE_periodiser_u,PERIODISER_u_v_w_TEXTURE_ET_RAYON))); DEFV(Local,DEFV(Logical,INIT(Album_ROUGE_periodiser_v,PERIODISER_u_v_w_TEXTURE_ET_RAYON))); DEFV(Local,DEFV(Logical,INIT(Album_ROUGE_periodiser_w,PERIODISER_u_v_w_TEXTURE_ET_RAYON))); DEFV(Local,DEFV(Logical,INIT(Album_ROUGE_symetriser_u,SYMETRISER_u_v_w_TEXTURE_ET_RAYON))); DEFV(Local,DEFV(Logical,INIT(Album_ROUGE_symetriser_v,SYMETRISER_u_v_w_TEXTURE_ET_RAYON))); DEFV(Local,DEFV(Logical,INIT(Album_ROUGE_symetriser_w,SYMETRISER_u_v_w_TEXTURE_ET_RAYON))); DEFV(Local,DEFV(Logical,INIT(Album_ROUGE_prolonger_u,PROLONGER_u_v_w_TEXTURE_ET_RAYON))); DEFV(Local,DEFV(Logical,INIT(Album_ROUGE_prolonger_v,PROLONGER_u_v_w_TEXTURE_ET_RAYON))); DEFV(Local,DEFV(Logical,INIT(Album_ROUGE_prolonger_w,PROLONGER_u_v_w_TEXTURE_ET_RAYON))); DEFV(Local,DEFV(genere_Float,INIT(Album_ROUGE_niveau_hors_album,NIVEAU_HORS_PROJECTION_TEXTURE_ET_RAYON))); /* Definition de la texture 'ROUGE'... */ /* */ /* La possibilite de symetriser a ete introduite le 20050721101343... */ DEFV(Local,DEFV(CHAR,INIT(POINTERc(nom_texture_VERTE),NOM_PIPE_Local))); DEFV(Local,DEFV(CHAR,INIT(POINTERc(nom_postfixe_VERTE),NOM_UNDEF_VIDE))); DEFV(Local,DEFV(Int,INIT(premiere_image_VERTE,PREMIERE_IMAGE))); DEFV(Local,DEFV(Int,INIT(pas_des_images_VERTE,PAS_DES_IMAGES))); DEFV(Local,DEFV(Int,INIT(nombre_de_chiffres_VERTE,NOMBRE_DE_CHIFFRES))); DEFV(Local,DEFV(Logical,INIT(Album_VERTE_periodiser_u,PERIODISER_u_v_w_TEXTURE_ET_RAYON))); DEFV(Local,DEFV(Logical,INIT(Album_VERTE_periodiser_v,PERIODISER_u_v_w_TEXTURE_ET_RAYON))); DEFV(Local,DEFV(Logical,INIT(Album_VERTE_periodiser_w,PERIODISER_u_v_w_TEXTURE_ET_RAYON))); DEFV(Local,DEFV(Logical,INIT(Album_VERTE_symetriser_u,SYMETRISER_u_v_w_TEXTURE_ET_RAYON))); DEFV(Local,DEFV(Logical,INIT(Album_VERTE_symetriser_v,SYMETRISER_u_v_w_TEXTURE_ET_RAYON))); DEFV(Local,DEFV(Logical,INIT(Album_VERTE_symetriser_w,SYMETRISER_u_v_w_TEXTURE_ET_RAYON))); DEFV(Local,DEFV(Logical,INIT(Album_VERTE_prolonger_u,PROLONGER_u_v_w_TEXTURE_ET_RAYON))); DEFV(Local,DEFV(Logical,INIT(Album_VERTE_prolonger_v,PROLONGER_u_v_w_TEXTURE_ET_RAYON))); DEFV(Local,DEFV(Logical,INIT(Album_VERTE_prolonger_w,PROLONGER_u_v_w_TEXTURE_ET_RAYON))); DEFV(Local,DEFV(genere_Float,INIT(Album_VERTE_niveau_hors_album,NIVEAU_HORS_PROJECTION_TEXTURE_ET_RAYON))); /* Definition de la texture 'VERTE'... */ /* */ /* La possibilite de symetriser a ete introduite le 20050721101343... */ DEFV(Local,DEFV(CHAR,INIT(POINTERc(nom_texture_BLEUE),NOM_PIPE_Local))); DEFV(Local,DEFV(CHAR,INIT(POINTERc(nom_postfixe_BLEUE),NOM_UNDEF_VIDE))); DEFV(Local,DEFV(Int,INIT(premiere_image_BLEUE,PREMIERE_IMAGE))); DEFV(Local,DEFV(Int,INIT(pas_des_images_BLEUE,PAS_DES_IMAGES))); DEFV(Local,DEFV(Int,INIT(nombre_de_chiffres_BLEUE,NOMBRE_DE_CHIFFRES))); DEFV(Local,DEFV(Logical,INIT(Album_BLEUE_periodiser_u,PERIODISER_u_v_w_TEXTURE_ET_RAYON))); DEFV(Local,DEFV(Logical,INIT(Album_BLEUE_periodiser_v,PERIODISER_u_v_w_TEXTURE_ET_RAYON))); DEFV(Local,DEFV(Logical,INIT(Album_BLEUE_periodiser_w,PERIODISER_u_v_w_TEXTURE_ET_RAYON))); DEFV(Local,DEFV(Logical,INIT(Album_BLEUE_symetriser_u,SYMETRISER_u_v_w_TEXTURE_ET_RAYON))); DEFV(Local,DEFV(Logical,INIT(Album_BLEUE_symetriser_v,SYMETRISER_u_v_w_TEXTURE_ET_RAYON))); DEFV(Local,DEFV(Logical,INIT(Album_BLEUE_symetriser_w,SYMETRISER_u_v_w_TEXTURE_ET_RAYON))); DEFV(Local,DEFV(Logical,INIT(Album_BLEUE_prolonger_u,PROLONGER_u_v_w_TEXTURE_ET_RAYON))); DEFV(Local,DEFV(Logical,INIT(Album_BLEUE_prolonger_v,PROLONGER_u_v_w_TEXTURE_ET_RAYON))); DEFV(Local,DEFV(Logical,INIT(Album_BLEUE_prolonger_w,PROLONGER_u_v_w_TEXTURE_ET_RAYON))); DEFV(Local,DEFV(genere_Float,INIT(Album_BLEUE_niveau_hors_album,NIVEAU_HORS_PROJECTION_TEXTURE_ET_RAYON))); /* Definition de la texture 'BLEUE'... */ /* */ /* La possibilite de symetriser a ete introduite le 20050721101343... */ #define PONDERATION_ROUGE_VERTE_BLEUE_POUR_dcx_dcy_dcz \ FZERO DEFV(Local,DEFV(Float,INIT(ponderation_ROUGE_pour_dcx,PONDERATION_ROUGE_VERTE_BLEUE_POUR_dcx_dcy_dcz))); DEFV(Local,DEFV(Float,INIT(ponderation_VERTE_pour_dcy,PONDERATION_ROUGE_VERTE_BLEUE_POUR_dcx_dcy_dcz))); DEFV(Local,DEFV(Float,INIT(ponderation_BLEUE_pour_dcz,PONDERATION_ROUGE_VERTE_BLEUE_POUR_dcx_dcy_dcz))); /* Facteurs permettant de definir la facon de colorier les spheres : */ /* */ /* 0 : avec {dcx,dcy,dcz}, */ /* 1 : avec {Image_ROUGE,Image_VERTE,Image_BLEUE}. */ /* */ /* sachant que l'on peut utiliser aussi toutes valeurs intermediaires... */ #define ACCES_AUX_ALBUMS_FLOTTANTS(album,nom_d_album,postfixe,Premiere,Pas,NChiffres,VDefaut) \ Bblock \ CALi(gdAloadF_album(album \ ,nom_d_album \ ,postfixe \ ,Premiere \ ,Pas \ ,NChiffres \ ,NOM_PIPE_Local \ ,FAUX \ ,UNDEF \ ,VDefaut \ ,FAUX \ ) \ ); \ Eblock \ /* Acces a un album flottant lorsque cela est necessaire et sinon, initialisation... */ \ /* */ \ /* L'argument 'Inv' ('FAUX') a ete introduit le 20091125134949... */ DEFV(Local,DEFV(CHAR,INIT(POINTERc(nom_RAYON),NOM_PIPE_Local))); DEFV(Local,DEFV(CHAR,INIT(POINTERc(nom_postfixe_RAYON),NOM_UNDEF_VIDE))); DEFV(Local,DEFV(Int,INIT(premiere_image_RAYON,PREMIERE_IMAGE))); DEFV(Local,DEFV(Int,INIT(pas_des_images_RAYON,PAS_DES_IMAGES))); DEFV(Local,DEFV(Int,INIT(nombre_de_chiffres_RAYON,NOMBRE_DE_CHIFFRES))); DEFV(Local,DEFV(Logical,INIT(Album_RAYON_periodiser_u,PERIODISER_u_v_w_TEXTURE_ET_RAYON))); DEFV(Local,DEFV(Logical,INIT(Album_RAYON_periodiser_v,PERIODISER_u_v_w_TEXTURE_ET_RAYON))); DEFV(Local,DEFV(Logical,INIT(Album_RAYON_periodiser_w,PERIODISER_u_v_w_TEXTURE_ET_RAYON))); DEFV(Local,DEFV(Logical,INIT(Album_RAYON_symetriser_u,SYMETRISER_u_v_w_TEXTURE_ET_RAYON))); DEFV(Local,DEFV(Logical,INIT(Album_RAYON_symetriser_v,SYMETRISER_u_v_w_TEXTURE_ET_RAYON))); DEFV(Local,DEFV(Logical,INIT(Album_RAYON_symetriser_w,SYMETRISER_u_v_w_TEXTURE_ET_RAYON))); DEFV(Local,DEFV(Logical,INIT(Album_RAYON_prolonger_u,PROLONGER_u_v_w_TEXTURE_ET_RAYON))); DEFV(Local,DEFV(Logical,INIT(Album_RAYON_prolonger_v,PROLONGER_u_v_w_TEXTURE_ET_RAYON))); DEFV(Local,DEFV(Logical,INIT(Album_RAYON_prolonger_w,PROLONGER_u_v_w_TEXTURE_ET_RAYON))); DEFV(Local,DEFV(genere_Float,INIT(Album_RAYON_niveau_hors_album,NIVEAU_HORS_PROJECTION_TEXTURE_ET_RAYON))); /* Nom du champ de RAYON... */ /* */ /* La possibilite de symetriser a ete introduite le 20050721101343... */ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* P E R M U T A T I O N E V E N T U E L L E D E S C O O R D O N N E E S */ /* E T D E S D I F F E R E N T I E L L E S : */ /* */ /*************************************************************************************************************************************/ #define PERMUTER_LES_COORDONNEES_ET_LES_DIFFERENTIELLES \ FAUX DEFV(Local,DEFV(Logical,INIT(permuter_les_coordonnees_et_les_differentielles,PERMUTER_LES_COORDONNEES_ET_LES_DIFFERENTIELLES))); /* Permuter ('VRAI') ou pas les coordonnees et les differentielles ('FAUX'). */ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* F O N C T I O N D E M E M O R I S A T I O N D U P O I N T C O U R A N T : */ /* */ /*************************************************************************************************************************************/ #include xrk/attractor.16.I" #TestADef RAYON_DE_VISUALISATION \ FRA2(FRA10(FU)) DEFV(Local,DEFV(Float,INIT(rayon_de_visualisation,RAYON_DE_VISUALISATION))); /* Rayon du disque materialisant une iteration. */ #define GROSSISSEMENT_DU_RAYON_DE_VISUALISATION_AUX_INTERSECTIONS_DES_LIGNES_DE_COORDONNEES \ FU DEFV(Local,DEFV(Float,INIT(grossissement_du_rayon_de_visualisation_aux_intersections_des_lignes_de_coordonnees ,GROSSISSEMENT_DU_RAYON_DE_VISUALISATION_AUX_INTERSECTIONS_DES_LIGNES_DE_COORDONNEES ) ) ); /* Facteur de grossissement du rayon de visualisation aux intersections des lignes de */ /* coordonnees (introduit le 20050622085736)... */ #define IGNORER_LES_POINTS_TROP_LOINTAINS \ FAUX DEFV(Local,DEFV(Logical,INIT(ignorer_les_points_trop_lointains,IGNORER_LES_POINTS_TROP_LOINTAINS))); #define DISTANCE_DES_POINTS_TROP_LOINTAINS \ F_INFINI DEFV(Local,DEFV(Float,INIT(distance_des_points_trop_lointains,DISTANCE_DES_POINTS_TROP_LOINTAINS))); /* Introduit le 20120606143939 par symetrie avec 'v $xrs/surfaces.14$I 20120606143945'... */ BFonctionI DEFV(Local,DEFV(FonctionI,memorisation_1_point_06(AXf,AYf,AZf,AdXf,AdYf,AdZf))) DEFV(Argument,DEFV(Float,AXf)); DEFV(Argument,DEFV(Float,AYf)); DEFV(Argument,DEFV(Float,AZf)); /* Definition de la position {x,y,z} de l'iteration courante. */ DEFV(Argument,DEFV(Float,AdXf)); DEFV(Argument,DEFV(Float,AdYf)); DEFV(Argument,DEFV(Float,AdZf)); /* Definition des differentielles {dx,dy,dz} de la position de l'iteration courante. */ /*-----------------------------------------------------------------------------------------------------------------------------------*/ Bblock INIT_ERROR; /*..............................................................................................................................*/ Test(IFOU(IL_NE_FAUT_PAS(ignorer_les_points_trop_lointains) ,IFET(IL_FAUT(ignorer_les_points_trop_lointains) ,IFLT(RdisF3D(AXf,AYf,AZf,FXorigine,FYorigine,FZorigine),distance_des_points_trop_lointains) ) ) ) /* Test introduit le 20120606143939... */ /* */ /* On notera que l'on utilise {FXorigine,FYorigine,FZorigine} et non pas, comme */ /* anterieurement au 20120607085130 {Xcentre_ESPACE,Ycentre_ESPACE,Zcentre_ESPACE} a */ /* cause de 'v $xrs/volumes.12$I CALS.memorisation_1_point_06.SOUS.cx.Xcentre_ESPACE.'. */ Bblock DEFV(Int,INIT(numero_de_l_iteration_courante,UNDEF)); /* Pour des raisons de compatibilite avec 'ATTENUATION(...)'. */ #include xrk/attractor.15.I" EGAL(nombre_d_iterations_visualisees,NOMBRE_D_ITERATIONS_VISUALISEES); EGAL(attenuation_de_la_premiere_iteration,ATTENUATION_DE_LA_PREMIERE_ITERATION); EGAL(attenuation_de_la_derniere_iteration,ATTENUATION_DE_LA_DERNIERE_ITERATION); /* Pour des raisons de compatibilite avec 'ATTENUATION(...)'. */ MEMORISATION_DU_POINT_COURANT(X_DERIVEE_DANS_01(AdXf) ,Y_DERIVEE_DANS_01(AdYf) ,Z_DERIVEE_DANS_01(AdZf) ); /* Memorisation du point courant en Noir et Blanc ou en Couleurs, mais uniquement s'il est */ /* visible en fonction des conditions de visualisation... */ Eblock ATes Bblock Eblock ETes RETU_ERROR; Eblock #undef DISTANCE_DES_POINTS_TROP_LOINTAINS #undef IGNORER_LES_POINTS_TROP_LOINTAINS EFonctionI /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* D O N N E E S D E D E R I V A T I O N P A R T I E L L E N U M E R I Q U E : */ /* */ /*************************************************************************************************************************************/ #define FACTEUR_x_DE_PAS_DE_u \ FU #define FACTEUR_x_DE_PAS_DE_v \ FZERO #define FACTEUR_x_DE_PAS_DE_w \ FZERO DEFV(Local,DEFV(Float,INIT(facteur_x_de_pas_de_u,FACTEUR_x_DE_PAS_DE_u))); DEFV(Local,DEFV(Float,INIT(facteur_x_de_pas_de_v,FACTEUR_x_DE_PAS_DE_v))); DEFV(Local,DEFV(Float,INIT(facteur_x_de_pas_de_w,FACTEUR_x_DE_PAS_DE_w))); /* Donnees de derivation partielle numerique de 'Fx(u,v,w)' (introduit le 20040327183723). */ #define FACTEUR_y_DE_PAS_DE_u \ FZERO #define FACTEUR_y_DE_PAS_DE_v \ FU #define FACTEUR_y_DE_PAS_DE_w \ FZERO DEFV(Local,DEFV(Float,INIT(facteur_y_de_pas_de_u,FACTEUR_y_DE_PAS_DE_u))); DEFV(Local,DEFV(Float,INIT(facteur_y_de_pas_de_v,FACTEUR_y_DE_PAS_DE_v))); DEFV(Local,DEFV(Float,INIT(facteur_y_de_pas_de_w,FACTEUR_y_DE_PAS_DE_w))); /* Donnees de derivation partielle numerique de 'Fy(u,v,w)' (introduit le 20040327183723). */ #define FACTEUR_z_DE_PAS_DE_u \ FZERO #define FACTEUR_z_DE_PAS_DE_v \ FZERO #define FACTEUR_z_DE_PAS_DE_w \ FU DEFV(Local,DEFV(Float,INIT(facteur_z_de_pas_de_u,FACTEUR_z_DE_PAS_DE_u))); DEFV(Local,DEFV(Float,INIT(facteur_z_de_pas_de_v,FACTEUR_z_DE_PAS_DE_v))); DEFV(Local,DEFV(Float,INIT(facteur_z_de_pas_de_w,FACTEUR_z_DE_PAS_DE_w))); /* Donnees de derivation partielle numerique de 'Fz(u,v,w)' (introduit le 20040327183723). */ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* D O N N E E S D E C O L O R I A G E : */ /* */ /*************************************************************************************************************************************/ #define PONDERATION__x_____DANS_dx \ FZERO #define PONDERATION__y_____DANS_dx \ FZERO #define PONDERATION__z_____DANS_dx \ FZERO #define PONDERATION__u_____DANS_dx \ FZERO #define PONDERATION__v_____DANS_dx \ FZERO #define PONDERATION__w_____DANS_dx \ FZERO #define PONDERATION_dx_____DANS_dx \ FU #define PONDERATION_dy_____DANS_dx \ FZERO #define PONDERATION_dz_____DANS_dx \ FZERO DEFV(Local,DEFV(Float,INIT(ponderation_de__x_____dans_dx,PONDERATION__x_____DANS_dx))); DEFV(Local,DEFV(Float,INIT(ponderation_de__y_____dans_dx,PONDERATION__y_____DANS_dx))); DEFV(Local,DEFV(Float,INIT(ponderation_de__z_____dans_dx,PONDERATION__z_____DANS_dx))); DEFV(Local,DEFV(Float,INIT(ponderation_de__u_____dans_dx,PONDERATION__u_____DANS_dx))); DEFV(Local,DEFV(Float,INIT(ponderation_de__v_____dans_dx,PONDERATION__v_____DANS_dx))); DEFV(Local,DEFV(Float,INIT(ponderation_de__w_____dans_dx,PONDERATION__w_____DANS_dx))); DEFV(Local,DEFV(Float,INIT(ponderation_de_dx_____dans_dx,PONDERATION_dx_____DANS_dx))); DEFV(Local,DEFV(Float,INIT(ponderation_de_dy_____dans_dx,PONDERATION_dy_____DANS_dx))); DEFV(Local,DEFV(Float,INIT(ponderation_de_dz_____dans_dx,PONDERATION_dz_____DANS_dx))); /* Donnees de coloriage 'dcx' (introduit le 20040328174406). */ /* */ /* La prise en compte eventuelle des coordonnees {cx,cy,cz} a ete introduite le */ /* 20090723120025 pour 'v $xiirs/PROJ.m1.2D'... */ #define PONDERATION__x_____DANS_dy \ FZERO #define PONDERATION__y_____DANS_dy \ FZERO #define PONDERATION__z_____DANS_dy \ FZERO #define PONDERATION__u_____DANS_dy \ FZERO #define PONDERATION__v_____DANS_dy \ FZERO #define PONDERATION__w_____DANS_dy \ FZERO #define PONDERATION_dx_____DANS_dy \ FZERO #define PONDERATION_dy_____DANS_dy \ FU #define PONDERATION_dz_____DANS_dy \ FZERO DEFV(Local,DEFV(Float,INIT(ponderation_de__x_____dans_dy,PONDERATION__x_____DANS_dy))); DEFV(Local,DEFV(Float,INIT(ponderation_de__y_____dans_dy,PONDERATION__y_____DANS_dy))); DEFV(Local,DEFV(Float,INIT(ponderation_de__z_____dans_dy,PONDERATION__z_____DANS_dy))); DEFV(Local,DEFV(Float,INIT(ponderation_de__u_____dans_dy,PONDERATION__u_____DANS_dy))); DEFV(Local,DEFV(Float,INIT(ponderation_de__v_____dans_dy,PONDERATION__v_____DANS_dy))); DEFV(Local,DEFV(Float,INIT(ponderation_de__w_____dans_dy,PONDERATION__w_____DANS_dy))); DEFV(Local,DEFV(Float,INIT(ponderation_de_dx_____dans_dy,PONDERATION_dx_____DANS_dy))); DEFV(Local,DEFV(Float,INIT(ponderation_de_dy_____dans_dy,PONDERATION_dy_____DANS_dy))); DEFV(Local,DEFV(Float,INIT(ponderation_de_dz_____dans_dy,PONDERATION_dz_____DANS_dy))); /* Donnees de coloriage 'dcy' (introduit le 20040328174406). */ /* */ /* La prise en compte eventuelle des coordonnees {cx,cy,cz} a ete introduite le */ /* 20090723120025 pour 'v $xiirs/PROJ.m1.2D'... */ #define PONDERATION__x_____DANS_dz \ FZERO #define PONDERATION__y_____DANS_dz \ FZERO #define PONDERATION__z_____DANS_dz \ FZERO #define PONDERATION__u_____DANS_dz \ FZERO #define PONDERATION__v_____DANS_dz \ FZERO #define PONDERATION__w_____DANS_dz \ FZERO #define PONDERATION_dx_____DANS_dz \ FZERO #define PONDERATION_dy_____DANS_dz \ FZERO #define PONDERATION_dz_____DANS_dz \ FU DEFV(Local,DEFV(Float,INIT(ponderation_de__x_____dans_dz,PONDERATION__x_____DANS_dz))); DEFV(Local,DEFV(Float,INIT(ponderation_de__y_____dans_dz,PONDERATION__y_____DANS_dz))); DEFV(Local,DEFV(Float,INIT(ponderation_de__z_____dans_dz,PONDERATION__z_____DANS_dz))); DEFV(Local,DEFV(Float,INIT(ponderation_de__u_____dans_dz,PONDERATION__u_____DANS_dz))); DEFV(Local,DEFV(Float,INIT(ponderation_de__v_____dans_dz,PONDERATION__v_____DANS_dz))); DEFV(Local,DEFV(Float,INIT(ponderation_de__w_____dans_dz,PONDERATION__w_____DANS_dz))); DEFV(Local,DEFV(Float,INIT(ponderation_de_dx_____dans_dz,PONDERATION_dx_____DANS_dz))); DEFV(Local,DEFV(Float,INIT(ponderation_de_dy_____dans_dz,PONDERATION_dy_____DANS_dz))); DEFV(Local,DEFV(Float,INIT(ponderation_de_dz_____dans_dz,PONDERATION_dz_____DANS_dz))); /* Donnees de coloriage 'dcz' (introduit le 20040328174406). */ /* */ /* La prise en compte eventuelle des coordonnees {cx,cy,cz} a ete introduite le */ /* 20090723120025 pour 'v $xiirs/PROJ.m1.2D'... */ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* F O N C T I O N S D E V I S U A L I S A T I O N E T D ' I N T E R P O L A T I O N : */ /* */ /*************************************************************************************************************************************/ #include xrk/attractor.17.I"