/*************************************************************************************************************************************/
/* */
/* 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 ' U N P S E U D O - T O R E " E P Y C Y C L O I D A L " T R I D I M E N S I O N N E L : */
/* */
/* */
/* Author of '$xrs/epicycloide.31.1$I' : */
/* */
/* Jean-Francois Colonna (LACTAMME, 20170110120711). */
/* */
/*************************************************************************************************************************************/
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* D E F I N I T I O N D E S F O N C T I O N S A D E R I V E R : */
/* */
/*************************************************************************************************************************************/
-define XEspace_xrs_epicycloide_31(u,v) \
-_-_-_- AXPB(parametre_KX \
-_-_-_- ,MUL3(EXPX(MUL2(parametre_EX,v)) \
-_-_-_- ,MONX(COSX(AXPB(parametre_OCX,v,parametre_PCX)),parametre_ECX) \
-_-_-_- ,MONX(SINX(AXPB(parametre_OSX,v,parametre_PSX)),parametre_ESX) \
-_-_-_- ) \
-_-_-_- ,parametre_TX \
-_-_-_- )
-define YEspace_xrs_epicycloide_31(u,v) \
-_-_-_- AXPB(parametre_KY \
-_-_-_- ,MUL3(EXPX(MUL2(parametre_EY,v)) \
-_-_-_- ,MONX(COSX(AXPB(parametre_OCY,v,parametre_PCY)),parametre_ECY) \
-_-_-_- ,MONX(SINX(AXPB(parametre_OSY,v,parametre_PSY)),parametre_ESY) \
-_-_-_- ) \
-_-_-_- ,parametre_TY \
-_-_-_- )
-define ZEspace_xrs_epicycloide_31(u,v) \
-_-_-_- AXPB(parametre_KZ \
-_-_-_- ,MUL3(EXPX(MUL2(parametre_EZ,v)) \
-_-_-_- ,MONX(COSX(AXPB(parametre_OCZ,v,parametre_PCZ)),parametre_ECZ) \
-_-_-_- ,MONX(SINX(AXPB(parametre_OSZ,v,parametre_PSZ)),parametre_ESZ) \
-_-_-_- ) \
-_-_-_- ,parametre_TZ \
-_-_-_- )
/* Definition de l'equation de l'epicycloide generalisee. */
/* */
/* ATTENTION : la fonction 'PUIX(...)' ne peut etre utilisee ici car, en effet, son */
/* argument peut etre negatif. Cela explique l'usage de 'MONX(...)', mais en contre-partie */
/* l'exposant ne peut etre qu'entier... */
/* */
/* On notera de plus que la presence de 'PUIX(...)' provoquait une : */
/* */
/* Segmentation fault (error 6) */
/* */
/* dans '$xcp/cpp$X' (via '$xcc/cpp$Z') apres "passe A". Cela laisse supposer que les */
/* zones memoire allouees statiquement dans '$xcp/cpp$K' etaient alors insuffisantes... */