/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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



Copyright © Jean-François COLONNA, 2019-2024.
Copyright © CMAP (Centre de Mathématiques APpliquées) UMR CNRS 7641 / École polytechnique, Institut Polytechnique de Paris, 2019-2024.