2022-02-06 23:45:08 +01:00
|
|
|
# BloubWorld
|
|
|
|
|
|
|
|
C'est quoi ?
|
|
|
|
|
|
|
|
Le BloubWorld (que l'on appelle aussi BloubSpace) est un espace borné
|
2022-02-07 01:48:21 +01:00
|
|
|
dans lequel se déplacent des **bloubs**, lesquels sont
|
|
|
|
des sortes de particule
|
2022-02-16 20:07:26 +01:00
|
|
|
munie de certaines propriétés (age, grosseur, vitesses, etc...).
|
2022-03-18 12:21:40 +01:00
|
|
|
Lesquelles valeurs peuvent évoluer en fonction du temps.
|
2024-01-25 19:05:23 +01:00
|
|
|
Tout est expliqué dans ce [document](doc/what-is-a-bloub.md).
|
2022-02-06 23:45:08 +01:00
|
|
|
|
2024-01-25 19:05:23 +01:00
|
|
|
la structure d'un bloub est (presque) simple, en fait.
|
2022-03-22 23:53:30 +01:00
|
|
|
Le plus compliqué, c'est de savoir quoi faire de ce fatras
|
|
|
|
de *bigdata*.
|
2022-02-06 23:45:08 +01:00
|
|
|
|
2022-03-22 23:53:30 +01:00
|
|
|
On peut fabriquer des gazillions de bloubs, et ensuite
|
2022-02-16 20:07:26 +01:00
|
|
|
les lacher dans un espace clôt, avec des parois
|
2024-01-25 19:05:23 +01:00
|
|
|
rebondissantes.
|
|
|
|
Chaque choc va un peu les user, et au bout d'un moment,
|
2022-03-22 23:53:30 +01:00
|
|
|
ils vont mourir. C'est comme ça, c'est la vie des bloubs.
|
2022-02-16 20:07:26 +01:00
|
|
|
|
2022-02-06 23:45:08 +01:00
|
|
|
## 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
|
2022-02-16 20:07:26 +01:00
|
|
|
des opérations. Lequel enchainement est décrit plus bas.
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
2022-03-22 23:53:30 +01:00
|
|
|
Ces opérations agissent sur des fichiers de type `.blbs` qui sont,
|
2022-02-16 20:07:26 +01:00
|
|
|
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.
|
|
|
|
|
2024-01-25 19:05:23 +01:00
|
|
|
## Les logiciels
|
|
|
|
|
|
|
|
|
2022-02-16 20:07:26 +01:00
|
|
|
### genbloubs
|
|
|
|
|
|
|
|
Fabrication d'une population de bloubs plus ou moins aléatoires.
|
|
|
|
Deux paramètres : le nom du fichier et le nombre de bloubs.
|
2022-03-22 23:53:30 +01:00
|
|
|
Les règles de génération *devraient* être paramétrables.
|
2024-01-25 19:05:23 +01:00
|
|
|
[source](genbloubs.f90)
|
2022-02-16 20:07:26 +01:00
|
|
|
|
|
|
|
### 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.
|
2024-01-25 19:05:23 +01:00
|
|
|
Seul problème, il n'a pas de notion directe du temps, parce qu'il est juste de passage dans un pipeline.
|
|
|
|
[source](movebloubs.f90)
|
2022-02-16 20:07:26 +01:00
|
|
|
|
|
|
|
|
|
|
|
### 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.
|
2022-03-22 23:53:30 +01:00
|
|
|
**Le format de sortie est susceptible de changer sans préavis.**
|
2024-01-25 19:05:23 +01:00
|
|
|
Bon, pour le moment, dans les formats il n'y a que POVray,
|
|
|
|
mais Gnuplot et/ou Rdata arriveront bien un de ces jours.[source](exportbloubs.f90)
|
|
|
|
|
2022-02-16 20:07:26 +01:00
|
|
|
|
|
|
|
|
|
|
|
### mergebloubs
|
|
|
|
|
2022-03-18 12:21:40 +01:00
|
|
|
Alors, celui-ci, il n'est pas vraiment au point. Il faut tout ré-écrire
|
|
|
|
et faire gaffe à l'explosion quadratique.
|
2024-01-25 19:05:23 +01:00
|
|
|
[source](mergebloubs.f90)
|
2022-02-06 23:45:08 +01:00
|
|
|
|
2022-02-07 01:48:21 +01:00
|
|
|
## TODO
|
|
|
|
|
|
|
|
- Concevoir un système de _bouding box_ facile à utiliser
|
|
|
|
- Réfléchir à une politique de vieillissement des bloubs
|
2022-03-18 12:21:40 +01:00
|
|
|
- le `merge` de deux bloubs est-il un acte politique ?
|
|
|
|
|
|
|
|
|
2022-02-07 01:48:21 +01:00
|
|
|
|