Messages from list : cormas@cirad.fr

Choose a topic among the following archives :

RE : Comment limiter le déplacement d'un agent autour d'un objet fixe?

New Message Reply Date view Thread view Subject view Author view

Subject: RE : Comment limiter le déplacement d'un agent autour d'un objet fixe?
From: aurélie botta (aurelie.botta@cirad.fr)
Date: Wed May 31 2006 - 07:45:50 CEST

Salut Fadimata,

 

Plus utilisatrice de Cormas que développeuse, je ne peux que te donner un
conseil de modélisatrice.

 

Conceptuellement, tu pourrais créer des « espaces d’attraction » autour de
tes points d’eau fixes dés le début de ta simulation (agrégat spatial des
cellules à une distance donnée de chaque point). Ensuite avant chaque
déplacement tes bergers

- testent dans quel/quels espace/espaces ils se trouvent, puisque
chaque cellule « sait » si elle appartient à un ou plusieurs de ces espaces

- choisissent une destination (au hasard ou selon des critères à
définir) dans toutes les cellules appartenant à cet/ces espaces.

- Et y vont soit en un pas de temps soit en plusieurs à voir
(moveToward).

 

Du coup tu ne lies pas un berger à un point d’eau particulier mais à tous
les points d’eau à proximité, quitte à ce que ceux-ci changent du fait des
déplacements du berger.

Le fait de définir les espaces des le départ et ensuite de choisir au hasard
une destination dans ce pool de cellules t’évite une procédure de recherche
souvent consommatrice de temps de simulation.

 

Bon courage,

 

Aurélie

 

 

-----Message d'origine-----
De : owner-cormas@cirad.cirad.fr [mailto:owner-cormas@cirad.cirad.fr] De la
part de Fadimata Abdou
Envoyé : mercredi 31 mai 2006 02:02
À : cormas@cirad.fr
Objet : Comment limiter le déplacement d'un agent autour d'un objet fixe?

 

Bonjour,

 

J’aimerai que l’agent berger tourne autour du point d’eau c'est-à-dire qu’il
ne s’éloigne pas beaucoup du point d’eau. Le point d’eau est une entité
Objet du modèle qui est fixe et le berger bouge avec son troupeau d’une
cellule à l’autre.

J’ai essayer d’utiliser la méthode moveTowards: mais ça ne marche pas car je
pense que je ne l’utilise pas correctement. Est-ce vous pouvez m’expliquer
ce que fait exactement la méthode moveToward? Est-ce que c’est la seule
méthode qui permet de limiter un agent sur un nombre fini de cellules
voisines?

Et puis je ne sais pas si je dois lier chaque berger à un point d’eau.
Est-ce que vous pouvez m’aider à surmonter ce problème de faire limiter le
berger sur un certain nombre de cellules tout autour d’un point d’eau fixe
qui se trouve aussi sur une cellule.

 

Cordialement,

Abdou Fati.

New Message Reply Date view Thread view Subject view Author view
 

Back to home