/*************************************************************************************************************************************/
/* */
/* D E F I N I T I O N S R E L A T I V E S A L A D E R I V A T I O N F O R M E L L E */
/* D E L ' I N F L A T I O N : */
/* */
/* */
/* Author of '$xrs/inflation.11$I' : */
/* */
/* Jean-Francois Colonna (LACTAMME, 20130220081000). */
/* */
/*************************************************************************************************************************************/
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* 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/inflation.11$K') : */
/* */
/* Le cylindre est defini parametriquement */
/* en fonction des deux parametres 'u' */
/* (appele aussi 'distance polaire' ou */
/* 'theta' ou encore 'latitude') et 'v' */
/* (appele aussi 'longitude' ou 'phi') : */
/* */
/* pA+tanh(pB.(u-pD)+pE) */
/* R1(u,v) = ----------------------- */
/* pF */
/* */
/* pH */
/* R2(u,v) = pI.(pG.(u-pC)) */
/* */
/* 2 1 */
/* R3(u,v) = pJ.(pK.u + pL.u + pM) */
/* */
/* R(u,v) = R3(u,v).R1(u,v) si u<pC */
/* = R3(u,v).(R1(pC,v)+R2(u,v)) si u>=pC */
/* */
/* F (u,v) = R(u,v).cos(v) */
/* x */
/* */
/* F (u,v) = R(u,v).sin(v) */
/* y */
/* */
/* pO */
/* F (u,v) = pN.u */
/* z */
/* */
/* avec : */
/* */
/* u E [ 0 , 1 ] */
/* */
/* v E [ 0 , 2.p ] */
/* */
/* (ou 'p' designe 'pi'). */
/* */
/* Ces formules ont ete mises au point et */
/* testees grace a 'v $xtc/inflation.11$c'. */
/* */
/* */
/*************************************************************************************************************************************/
/* ATTENTION, il est imperatif que les fonctions derivables formellement soient definies */
/* dans un fichier a part afin qu'elles ne soient pas l'objet d'une double definition. En */
/* effet, on trouve dans 'v $xcc/cpp$Z' : */
/* */
/* $CA $module$w */
/* | $xcp/cpp$X ... -c$PASSE_D -e$PASSE_5 */
/* > $fichierR */
/* */
/* Ainsi, si par exemple la definition de 'Fx(u,v)' etait faite localement dans le */
/* fichier '$xrf/recursif.11$K', cette definition apparaitrait deux fois dans le fichier */
/* '$module$w' : une premiere fois en tete, provenant de '$PASSE_D' ou l'on ne trouve que */
/* les definitions du type '-define ...', puis une deuxieme fois a la suite, la ou se trouve */
/* concatene au fichier '$module$W' des '-define ...' le fichier '$fichierA' a compiler... */
-define Rayon1_Inflation_1(u,v) \
-_-_-_- DIVI(ADD2(parametre_a \
-_-_-_- ,TANH(AXPB(parametre_b,SOUS(u,parametre_d),parametre_e)) \
-_-_-_- ) \
-_-_-_- ,parametre_f \
-_-_-_- )
-define Rayon2_Inflation_1(u,v) \
-_-_-_- MUL2(parametre_i \
-_-_-_- ,PUIX(MUL2(parametre_g,SOUS(u,parametre_c)),parametre_h) \
-_-_-_- )
-define Rayon3_Inflation_1(u,v) \
-_-_-_- MUL2(parametre_j,HORNER_1_02(u,parametre_k,parametre_l,parametre_m))
-define Rayon__Inflation_1(u,v) \
-_-_-_- MUL2(Rayon3_Inflation_1(u,v) \
-_-_-_- ,COND(IFLT(u,parametre_c) \
-_-_-_- ,Rayon1_Inflation_1(u,v) \
-_-_-_- ,ADD2(Rayon1_Inflation_1(parametre_c,v),Rayon2_Inflation_1(u,v)) \
-_-_-_- ) \
-_-_-_- )
/* Definition du rayon... */
/* */
/* On notera qu'on utilise 'TANH(...)' (et non pas 'TAHX(...)' plus logique a cause de */
/* la derivation formelle...) pour des raisons de performance (compilation...). */
-define Fx_Inflation_1(u,v) \
-_-_-_- Xcartesienne_2D(Rayon__Inflation_1(u,v) \
-_-_-_- ,v \
-_-_-_- )
/* Definition de la fonction F (u,v). */
/* x */
-define Fy_Inflation_1(u,v) \
-_-_-_- Ycartesienne_2D(Rayon__Inflation_1(u,v) \
-_-_-_- ,v \
-_-_-_- )
/* Definition de la fonction F (u,v). */
/* y */
-define Fz_Inflation_1(u,v) \
-_-_-_- MUL2(parametre_n,PUIX(u,parametre_o))
/* Definition de la fonction F (u,v). */
/* 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_Inflation_1 \
-_-_-_- 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' (introduit le 20050203090301)... */