diff --git a/BloubWorld/README.md b/BloubWorld/README.md index d5a90b9..1f0b406 100644 --- a/BloubWorld/README.md +++ b/BloubWorld/README.md @@ -5,7 +5,7 @@ C'est quoi ? Le BloubWorld (que l'on appelle aussi BloubSpace) est un espace borné dans lequel se déplacent des **bloubs**, lesquels sont des sortes de particule -munie de certaines propriétés. +munie de certaines propriétés (age, grosseur, vitesses, etc...). Lesquelles évoluent en fonction du temps. ## Description d'un bloub @@ -18,17 +18,60 @@ Lesquelles évoluent en fonction du temps. real :: px, py, pz real :: vx, vy, vz real :: radius - integer :: seq + integer :: age end type t_bloubs ``` C'est simple, en fait. Le plus compliqué, c'est de savoir quoi en faire. +On peut en fabriquer des gazillions, et ensuite +les lacher dans un espace clôt, avec des parois +rebondissantes. Chaque choc va un peu les user, et au bout d'un moment, +ils vont mourir. C'est comme ça. + ## Comment ça fonctionne ? Pas trop mal pour un premier jet. Il suffit de lire le script `runme.sh` pour avoir une idée de l'enchainement -des opérations. +des opérations. Lequel enchainement est décrit plus bas. + +## Les logiciels + +Pour le moment, l'ensemble des opérations est gérée par un script shell +qui enchaine des opérations plus élémentaires. Oui, je sais, ce n'est +pas optimal, mais c'est un cadre idéal pour les bricolages hasardeux. + +Ces opérations agissent sur des fichiers de type `.blsb` qui sont, +vu du fortran, des dumps séquentiels du type t_bloubs. Un format +de fichier qui va être modifié assez souvent, ne gardez pas d'archives. + +### genbloubs + +Fabrication d'une population de bloubs plus ou moins aléatoires. +Deux paramètres : le nom du fichier et le nombre de bloubs. +Les règles de génération devraient être paramétrables. + +### movebloubs + +Le cœur actif du système : c'est lui qui, à chaque tick, va déplacer +les bloubs, gérer les rebonds avec la boudary-box, éliminer les +bloubs usés par les chocs, et faire naitre de nouveaux bloubs +si le besoin s'en fait sentir. + +Seul problème, il n'a pas de notion directe du temps, parce qu'il est +juste de passage dans un pipeline. + +### exportbloubs + +Sortie sur `stdout` de certaines propriétes des bloubs, qui seront +reprise par un (ou des) scripts écrits en `awk`, afin de générer +ce qu'il faut pour les différents moteurs de rendu. + +Bon, pour le moment, il n'y a que POVray :) + +### mergebloubs + +Alors, celui-ci, il n'est pas vraiment au point. ## TODO