/*************************************************************************************************************************************/ /* */ /* F O N C T I O N S Q U I N E P E U V E N T E T R E D E S " D E F I N E S " : */ /* */ /* */ /* Author of '$xiipf/fonction.3$DEF' : */ /* */ /* Jean-Francois Colonna (LACTAMME, 19960000000000). */ /* */ /*************************************************************************************************************************************/ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* P A R C O U R S C I R C U L A I R E D ' U N E S P I R A L E C A R R E E : */ /* */ /* */ /* Definition : */ /* */ /* Cette fonction permet de calculer */ /* les coordonnees successives des points */ /* 'point_de_numero_cherche_relatif_au_centre' situes */ /* sur une spirale "carree" (telle que definie */ /* dans 'v $xiii/begin_end$DEF "S.P.I.R.A.L.E"') */ /* mais de facon a ce qu'ils soient obtenus dans */ /* dans le sens trigonometrique et de plus par */ /* distance croissante par rapport au centre de */ /* la spirale. Enfin, cette fonction s'inspire */ /* des programmes 'v $xtc/SpiLogCar.01$c', */ /* 'v $xtc/SpiLogCar.11$c' et 'v $xtc/SpiLogCar.12$c'. */ /* */ /*************************************************************************************************************************************/ #nodefine FACON_DE_PARCOURIR_CIRCULAIREMENT_UNE_SPIRALE_CARREE_VERSION_01 \ /* Cette facon de parcourir circulairement une spirale carree n'est pas optimisee au niveau */ \ /* du temps. Cette version est inspiree du programme 'v $xtc/SpiLogCar.01$c'. */ #define FACON_DE_PARCOURIR_CIRCULAIREMENT_UNE_SPIRALE_CARREE_VERSION_02 \ /* Cette facon de parcourir circulairement une spirale carree est optimisee au niveau temps. */ \ /* Cette version est inspiree du programme 'v $xtc/SpiLogCar.12$c'. */ #define DERNIER_POINT_D_UNE_SPIRALE_CIRCULAIRE(valeur_maximale_de_X_et_de_Y_relatifs) \ LSTX(PREMIER_POINT \ ,MUL2(ADD2(NEUT(DIMENSION(Xmin,valeur_maximale_de_X_et_de_Y_relatifs)) \ ,PRED(DIMENSION(Xmin,valeur_maximale_de_X_et_de_Y_relatifs)) \ ) \ ,ADD2(NEUT(DIMENSION(Ymin,valeur_maximale_de_X_et_de_Y_relatifs)) \ ,PRED(DIMENSION(Ymin,valeur_maximale_de_X_et_de_Y_relatifs)) \ ) \ ) \ ) \ /* Numero du dernier point possible sur une spirale circulaire. */