/*************************************************************************************************************************************/ /* */ /* G E N E R A T I O N D ' U N C H A M P C O M P L E T E M E N T A L E A T O I R E P A R C O O R D O N N E E S : */ /* */ /* */ /* Definition : */ /* */ /* Cette commande genere dans l'image */ /* nomme un champ completement aleatoire */ /* ("random") en ce qui concerne les positions */ /* des points. */ /* */ /* */ /* Author of '$xci/random.12$K' : */ /* */ /* Jean-Francois COLONNA (LACTAMME, 20030227160049). */ /* */ /*************************************************************************************************************************************/ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* I N T E R F A C E ' listG ' : */ /* */ /* */ /* :Debut_listG: */ /* :Fin_listG: */ /* */ /*************************************************************************************************************************************/ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* D I R E C T I V E S S P E C I F I Q U E S D E C O M P I L A T I O N : */ /* */ /*************************************************************************************************************************************/ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* F I C H I E R S D ' I N C L U D E S : */ /* */ /*************************************************************************************************************************************/ #include INCLUDES_BASE #include image_image_ALEATOIRES_1_EXT /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* P A R A M E T R E S : */ /* */ /*************************************************************************************************************************************/ #include xci/substitue.01.I" /* Introduit le 20110401191908... */ #define GRAINE \ DEUX \ /* Graine initiale. */ #define NOMBRE_DE_POINTS_A_MARQUER \ CENT \ /* Nombre de points a marquer. */ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* M A C R O S U T I L E S : */ /* */ /*************************************************************************************************************************************/ #include xci/substitue.02.I" /* Introduit le 20110401191908... */ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* G E N E R A T I O N D ' U N C H A M P C O M P L E T E M E N T A L E A T O I R E P A R C O O R D O N N E E S : */ /* */ /*************************************************************************************************************************************/ BCommande(nombre_d_arguments,arguments) /*-----------------------------------------------------------------------------------------------------------------------------------*/ Bblock DEFV(CHAR,INIC(POINTERc(nom_imageR),NOM_PIPE)); DEFV(Int,INIT(graine,GRAINE)); /* Graine du generateur aleatoire... */ DEFV(Positive,INIT(nombre_de_points_a_marquer,NOMBRE_DE_POINTS_A_MARQUER)); /* Nombre de points a marquer. */ #include xci/substitue.03.I" /* Introduit le 20110401191908... */ /*..............................................................................................................................*/ GET_ARGUMENTSi(nombre_d_arguments ,BLOC(GET_ARGUMENT_C("imageR=""R=",nom_imageR); GET_ARGUMENT_I("methode=",gen_ft_____methode_standard); GET_ARGUMENT_I("graine=",graine); GET_ARGUMENT_L("affiner_rdn=",rdnIFnD_____affiner_la_generation); GET_ARGUMENT_L("iterer_rdn=",rdnIFnD_____iterer_la_generation); GET_ARGUMENT_F("PrdnI2D_NEUT=""NEUT=",rdnI2D_____ponderation_NEUT); GET_ARGUMENT_F("PrdnI2D_GAUS=""GAUS=",rdnI2D_____ponderation_GAUS); GET_ARGUMENT_F("PrdnI2D_GAUS_esperance=""GAUS_esperance=",rdnI2D_____ponderation_GAUS_esperance_); GET_ARGUMENT_F("PrdnI2D_GAUS_ecart_type=""GAUS_ecart_type=",rdnI2D_____ponderation_GAUS_ecart_type); /* Parametres introduits le 20110325121255... */ CONTROLE_DE_L_ADAPTATION_A_UNE_LOI_DE_DISTRIBUTION_QUELCONQUE; /* Introduit le 20110401182216 sous cette forme... */ GET_ARGUMENT_I("nombre=""n=",nombre_de_points_a_marquer); /* On notera le 20171021115925 que pour etre sur que ce nombre de points soit un nombre */ /* de points DIFFERENTS, il faut evidemment que : */ /* */ /* unicite=VRAI */ /* */ /* en notant que, dans ces conditions, ce nombre peut etre inatteignable s'il est proche */ /* de 'dimXY' (ou superieur evidemment...). */ GET_ARGUMENT_I("trX=""graineX=",Irandom_coordonnees_____translation_de_la_graine_pour_X); GET_ARGUMENT_I("trY=""graineY=",Irandom_coordonnees_____translation_de_la_graine_pour_Y); GET_ARGUMENT_L("unicite=",Irandom_coordonnees_____unicite_des_marquages); /* Introduit le 20171021105407... */ GET_ARGUMENT_P("fond=",Irandom_coordonnees_____niveau_du_fond); GET_ARGUMENT_P("niveau=",Irandom_coordonnees_____niveau_des_points_probables); /* Introduits le 20171021105407... */ ) ); #include xci/substitue.05.I" /* Introduit le 20110401191908... */ CALi(Iinitialisation(ImageR,Irandom_coordonnees_____niveau_du_fond)); /* Initialisation de l'image Resultat. */ CALS(Irandom_coordonnees(ImageR,graine,nombre_de_points_a_marquer)); CALi(Iupdate_image(nom_imageR,ImageR)); RETU_Commande; Eblock ECommande