28.2.06

le cobaye B

L'excellent site Future Hi vient de mettre en ligne un texte de Buckminster Fuller, Guinea Pig B, qui à ma connaissance n'est pas disponible ailleurs, en tout cas pas sur le site du Buckminster Fuller Institute. Le "cobaye B", c'est Fuller lui même, menant sur lui une experience particulière qui consiste à : " découvrir ce qu'un petit homme, sans argent, inconnu, peut vraiment faire pour l'humanité".

13.2.06

Introduction à Netlogo, 2

Il existe deux moyens de travailler en Netlogo. La manière la plus classique consiste à rédiger des programmes et à la commander à l’aide de boutons créés à cet effet. Mais il est aussi possible de travailler en mode interactif, de donner des ordres à ses tortues qui seront exécutés en temps réel. Nous choisirons cette méthode pour entrer en douceur dans Netlogo. Commençons donc par entrer dans le " command center " et inscrivons-y quelques instructions..
Ouvrez donc Netlogo, puis, au bas de l’écran, à côté de la mention " observer " écrivez
crt 100
Apparaît un point coloré au centre de l’écran. vous venez en fait de créer 100 tortues, mais elles sont toutes situées au même endroit, les unes sur les autres.... Séparons les en entrant
Ask turtles [fd 50]
Et validez par Entrée.. Joli, non ?

Vous venez de faire votre premier dessin sous Netlogo, un magnifique petit cercle. Remarquez que toutes les tortues pointent, par défaut, vers l’extérieur, dans une direction unique et spécifique.. En fait, chaque tortue a avancé de 10 " pas " dans la direction vers laquelle elle pointe (fd est une abréviation de l’anglais " forward ", qui signifie " avancer ")
Introduisons un peu de désordre dans ce magnifique ensemble!
Changeons d’abord la direction de nos tortues
ask turtles [set heading random 360]
Traduisons : nous demandons aux tortues de changer la direction vers laquelle elles pointent, en leur faisant éxécuter une rotation aléatoire entre 1 et 360 degrés.
Apres avoir validé cette instruction, vos tortues sont toujours disposées en cercle, mais pointent dans des directions choisies aléatoirement.
Reste alors à écrire :
ask turtles [fd random 10]
Ici encore, nous demandons aux tortues d’avancer. mais cette fois ci, le résultat ne sera pas une figure géométrique harmonieuse, car elles pointent maintenant dans une direction aléatoire. De plus nous n’avons pas simplement spécifié " 10 " comme dans le premier cas, mais " random 10 " (random signifie " hasard ") ce qui veut dire que chacune d’entre elles est libre d’avancer d’un nombre de pas situé entre zéro et 10...
Vous trouvez sans doute agaçant de devoir écrire à chaque fois " ask turtles ". Quel intérêt ? n’y a t il pas moyen de se débarrasser de cette commande ?
En fait, c’est tout à fait possible, et même conseillé. Mais pour ce faire, il va falloir avancer un peu dans la compréhension de Netlogo.
Dans la première partie j’ai mentionné l’existence de deux types de créatures dans le minimonde de Netlogo : les tortues et les " patches ". en fait il en existe une troisième. Celle-ci, c’est Dieu, ou au moins une espèce de démiurge à vos ordres et capable de gérer les paramètres globaux de l’univers artificiel : c’est " l’observateur ". Hors, depuis le début de la session, vous êtes en train de discuter avec cet " observateur ". Pour preuve le mot " observer " placé en tête de la ligne de commande. C’est à l’observateur que nous ordonnons donc de " demander aux tortues " (ask turtles ) de se déplacer. Il est possible de procéder plus directement.
Pour ce faire, recommençons la séquence d’instructions. Pour ce faire, tapez
ca
(pour " clear all ") et validez. Votre minimonde est redevenu un pur carré noir exempt de toute vie. Ecrivez ensuite à nouveau
crt 100
puis cliquez sur le mot " observer " à votre gauche. Apparaît alors un menu avec trois entrées. Sélectionnez " turtles ". Entrez alors : fd 10, puis : set heading random 360, etc. Il n’est plus besoin de demander " ask turtles ". Le sujet de l’action est implicite, puisque vous vous trouvez en mode " tortues ". Toujours dans ce mode, essayez maintenant d’entrer " ca " ou " crt ". Le programme vous envoie alors un message d’erreur. En effet ce n’est pas aux tortues d’effacer l’écran, ou de créer de nouveaux exemplaires de leur semblables : c’est hors de leurs possibilités. Il faut, pour cela réinvoquer " l’observateur ".
Restent les patches. Il n’existe pas d’instruction pour créer ces derniers, et pour cause : ils sont déjà là, ils constituent la " matière " du minimonde. Pour visualiser différentes ressources, il suffit de leur attribuer certaines couleurs. Pour ce faire, on peut, au choix, écrire, depuis le mode observateur :
ask patches [set pcolor green]
Ou choisir, dans le menu du command center, le mode " patches " et saisir plus simplement :
set pcolor green
Colorier tous les patches en vert est peut être sympathique sur le plan esthétique, mais cela ne sert pas à grand chose !
Pour créer un paysage avec diverses ressources il est bon de différencier les patches en leur attribuant des couleurs différentes. C’’est comme ça qu’on génère une " géographie " en Netlogo. Créons par exemple une mer au milieu de cette " pelouse ".
En mode patch, on écrit :
if ((pxcor > 0) and (pycor > 0) ) [set pcolor blue]
Ce qui crée un carré bleu dans le coin supérieur droit de l’écran.
pxcor et pycor indiquent les coordonnées spatiales d’un patch. Remarquez que, contraiement à la plupart des systèmes graphiques traditionnels, les coordonnées, (0,0) indiquent le centre de l’écran et non l’angle supérieur gauche.
Prochaine leçon, la création d’un premier programme !