From 5b525f5949f0282fce8995fac69d6c485db763c5 Mon Sep 17 00:00:00 2001 From: tTh Date: Fri, 26 Jan 2024 02:33:31 +0100 Subject: [PATCH] what is a bloub ? --- BloubWorld/doc/what-is-a-bloub.md | 47 +++++++++++++++++++++++++++---- 1 file changed, 42 insertions(+), 5 deletions(-) diff --git a/BloubWorld/doc/what-is-a-bloub.md b/BloubWorld/doc/what-is-a-bloub.md index c79d93e..1ade075 100644 --- a/BloubWorld/doc/what-is-a-bloub.md +++ b/BloubWorld/doc/what-is-a-bloub.md @@ -17,19 +17,28 @@ de données, fusion volumique... ## Technique -Voici la version du _Sat 19 Feb 2022 12:37:42 AM CET_, -c'est à dire complètement différente de l'état actuel -du logiciel. +Un bloub est caractérisé par un certain nombre de valeurs, +rangées dans une structure de donnée. +Ces valeurs représentent des choses comme la position, +la taille, l'age et la couleur d'un bloub. + +En voici la version Fortran du _Fri Jan 26 00:58:37 UTC 2024_, +c'est à dire presque (mais pas que) complètement différente +de l'état actuel ou possible du logiciel. Il faut noter que +certains champs ne sont pas encore utilisés. ``` type t_bloubs character(8) :: nick logical :: alive + integer :: state integer :: num ! ??? real :: px, py, pz real :: vx, vy, vz real :: radius - integer :: age + real :: density + integer :: age, agemax + integer :: red, green, blue end type t_bloubs ``` @@ -40,11 +49,37 @@ sur les trois directions de l'espace bloubeux. D'autres, comme `alive`, sont plus délicates à expliquer, sauf si l'on considère que les bloubs sont zombifiables. -D'autres, comme l'age, sont bien plus sujettes à de diverses +D'autres, comme l'age et l'agemax, sont bien plus sujettes à de diverses interprétations. doit-on incrémenter l'age à chaque tick d'horloge ou à chaque évènement discret ? Et à quel age un bloub devient-il trop vieux, à quel age va-t-il mourir ? +## La fusion des blobs + +Quand deux bloubs se rencontrent (en première approche, cela veut +dire que leurs surfaces se recoupent) il y a bien entendu quelque +chose qui se déclenche. En général, c'est la fusion des deux +bloubs. Mais une fusion de bloubs, c'est quoi ? + +Je pense qu'il y a une infinité de possibilités, je vais me contenter +d'expliquer la démarche que j'ai suivie. +Tout d'abord, pour la fusion de certains paramètres, comme la position +ou la vitesse, on va faire simple : une moyenne sans pondération. +Précis et efficace. + +Pour d'autres (le nick & le num) je n'ai pas d'idée bien précise, +il y a peut-être la notion de « nick dominant » à définir. +Par contre, c'est peut-être sur les valeurs 'corporelles' : +taille, densité, age et couleur qu'il y a des choses à faire. + + * Taille : c'est le `radius` d'une sphere -> somme des volumes + * Densité : cette valeur n'est actuellement pas gérée + * Age : (somme des deux ages) * coefficient + * Agemax : (maximum des deux agemaxs) - forfait + * Couleurs : un système de mutation selon critères ? + +Il ne reste qu'à coder tout ça. + ## Et pour la suite ? Au fil du temps, le bloub évolue et se complexifie. @@ -55,6 +90,8 @@ On peut aussi envisager de les munir d'un spin non entier dans le but assumé d'augmenter la complexité des rencontres interbloubs. +tTh, janvier 2024 +