/*************************************************************************************************************************************/ /* */ /* 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 A Q U A D R U P L E B O U T E I L L E D I T E " R E C T O - V E R S O " : */ /* */ /* */ /* Author of '$xrs/bKlein.A1$I' : */ /* */ /* Jean-Francois Colonna (LACTAMME, 20090608175926). */ /* */ /*************************************************************************************************************************************/ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* 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 ' : */ /* */ /*************************************************************************************************************************************/ /* 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 Fx_BouteilleDeKlein_A(u,v) \ -_-_-_- SOUS(MUL2(parametre_a,EXP3(COSX(u))) \ -_-_-_- ,MUL3(parametre_b \ -_-_-_- ,ADD2(SINX(MUL2(parametre_c,u)),parametre_d) \ -_-_-_- ,SOUS(MUL2(SINX(u),COSX(v)),MUL2(COSX(u),SINX(v))) \ -_-_-_- ) \ -_-_-_- ) /* Definition de la fonction F (u,v). */ /* x */ /* */ /* On notera que l'on utilise 'EXP3(...)' et non pas 'PUIX(...,parametre_?)' afin d'eviter */ /* des problemes avec les valeurs negatives... */ -define Fy_BouteilleDeKlein_A(u,v) \ -_-_-_- SOUS(MUL2(parametre_f,EXP3(SINX(u))) \ -_-_-_- ,MUL3(parametre_g \ -_-_-_- ,ADD2(SINX(MUL2(parametre_h,u)),parametre_i) \ -_-_-_- ,ADD2(MUL2(COSX(u),COSX(v)),MUL2(SINX(u),SINX(v))) \ -_-_-_- ) \ -_-_-_- ) /* Definition de la fonction F (u,v). */ /* y */ /* */ /* On notera que l'on utilise 'EXP3(...)' et non pas 'PUIX(...,parametre_?)' afin d'eviter */ /* des problemes avec les valeurs negatives... */ -define Fz_BouteilleDeKlein_A(u,v) \ -_-_-_- SOUS(MUL2(parametre_k,COSX(MUL2(parametre_l,u))) \ -_-_-_- ,MUL2(ADD2(SINX(MUL2(parametre_m,u)),parametre_n) \ -_-_-_- ,SINX(v) \ -_-_-_- ) \ -_-_-_- ) /* 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_BouteilleDeKlein_A \ -_-_-_- 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'... */