/*************************************************************************************************************************************/ /* */ /* E T U D E D E L A C O M P L E X I T E S T R U C T U R E L L E */ /* D ' U N E S P I R A L E C A R R E E S U R U N T O R E : */ /* */ /* */ /* Author of '$xrC/ObjetComplexe.D1$vv$c' : */ /* */ /* Jean-Francois Colonna (LACTAMME, 20130510115346). */ /* */ /*************************************************************************************************************************************/ #ifdef COMMENTS # undef COMMENTS #else #endif #define COMMENTS "Spirale carree sur un tore (format octet) -noir ou blanc-" #include "images_1octet.01.vv.I" #ifndef LONGUEUR # define LONGUEUR \ (4) #else #endif #ifndef INCREMENT # define INCREMENT \ (9) #else #endif #ifndef NOMBRE # define NOMBRE \ gDIVI(dimY,9) #else #endif int longueur=LONGUEUR; int increment=INCREMENT; int nombre=NOMBRE; MAIN( { int iteration; int x1; int y1; int deltaX=1; int deltaY=0; INITIALISATION_IMAGE(NOIR); x1=ADD2(Xmin,dimXs2); y1=ADD2(Ymin,dimYs2); for (iteration=1 ; iteration <= nombre ; iteration=ADD2(iteration,1)) { int x2; int y2; int deltaX2; int deltaY2; x2=ADD2(x1,MUL2(deltaX,longueur)); for (x=MIN2(x1,x2) ; x <= MAX2(x1,x2) ; x=ADD2(x,1)) { STORE_IMAGE_TORE(x,y1,BLANC); } x1=x2; deltaX2=NEGA(deltaY); deltaY2=NEUT(deltaX); y2=ADD2(y1,MUL2(deltaY2,longueur)); for (y=MIN2(y1,y2) ; y <= MAX2(y1,y2) ; y=ADD2(y,1)) { STORE_IMAGE_TORE(x1,y,BLANC); } y1=y2; deltaX=NEGA(deltaY2); deltaY=NEUT(deltaX2); longueur=ADD2(longueur,increment); } SORTIE_DU_FICHIER_IMAGE; EDITER_LES_COMPTEURS_DES_FONCTIONS; } )