Compare commits

..

No commits in common. "98350ed6c6807e9c0a7b361cf4201d12bcdbe695" and "6eac66c8180c1b20ddce7f1bddf1a145f931385e" have entirely different histories.

4 changed files with 30 additions and 28 deletions

View File

@ -8,7 +8,6 @@ nbimg.inc
*.lst
*.wav
*.xyz
*.ssv
frames/*
log.*

View File

@ -41,25 +41,17 @@ Fabrication d'une population de bloubs plus ou moins aléatoires.
Deux paramètres : le nom du fichier (extention `.blbs`)
et le nombre de bloubs désirés.
Les règles de génération *devraient* être paramétrables.
([source](genbloubs.f90))
[source](genbloubs.f90)
### movebloubs
Il ne fait que deux choses : à chaque tick, va déplacer
les bloubs et faire naitre de nouveaux bloubs
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.
([source](movebloubs.f90))
[source](movebloubs.f90)
### mergebloubs
Le cœur actif du système : c'est lui qui, à chaque tick, va
gérer les rebonds avec la boudary-box, éliminer les
bloubs usés par les chocs, gérer les fusions de bloubs
(avec plein de mathstuff dedans) et assurer l'équilibre
global du système...
C'est sur cette partie qu'il y a des améliorations à trouver.
([source](mergebloubs.f90))
### exportbloubs
@ -68,14 +60,19 @@ 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.
**Le format de sortie est susceptible de changer sans préavis.**
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))
mais Gnuplot et/ou Rdata arriveront bien un de ces jours.[source](exportbloubs.f90)
Un exemple : l'idée est de générer un fichier `.inc` pour
Povray pour utiliser les données exportées dans une scène,
par exemple le barycentre des bloubs. Et c'est très facile
à faire avec un [script Awk](toinc.awk).
### mergebloubs
Alors, celui-ci, il n'est pas vraiment au point. Il faut tout ré-écrire
et faire gaffe à l'explosion quadratique.
[source](mergebloubs.f90)
## TODO
- Concevoir un système de _bouding box_ facile à utiliser

View File

@ -1,11 +1,17 @@
program essai
! use bloubspace
use bloubspace
use mathstuff
implicit none
type(t_boundingbox) :: bbox
call test_random(10)
call load_boundingbox("WS/boundinboxes.dat", bbox, "cube ")
print *, bbox
! call test_random(20)
STOP ': BECAUSE JOB IS DONE'
@ -15,17 +21,17 @@ program essai
subroutine test_random(nbre)
integer, intent(in) :: nbre
integer :: foo
real :: quux, bar
integer :: foo, bar
real :: quux
double precision :: somme
call init_random_seed() ! in module 'mathstuff'
somme = 0.0
do foo=1, nbre
quux = 10.0 * rand()
quux = rand()
somme = somme + quux
bar = quux ** (.1/.3)
print *, quux, bar, somme/foo
bar = mod(irand(), 7)
print *, foo, quux, somme/foo, bar
enddo
end subroutine test_random
! --------------------------------------------------------------

View File

@ -20,16 +20,16 @@ BEGIN {
merged = $6
color = "Cyan"
if (age < 18) color = "Gray40"
if (age < 2) color = "Gray10"
if (merged) {
if (age > 100) color = "Orange"
if (age > 120) color = "Orange"
else color = "Yellow"
}
else {
if (age > 100) color = "Black"
if (age > 120) color = "Black"
else color = "Aquamarine"
}
if (age < 18) color = "Gray40"
if (age < 9) color = "Blue"
bx += $1
by += $2
@ -43,7 +43,7 @@ BEGIN {
END {
# print "\t}\n"
print "\t} // end of union\n"
print "finish { phong 0.57 specular 0.67 }\n"
print "finish { phong 0.67 specular 0.57 }\n"
print "}\n"
print "#declare Nb_Bloubs = ", count, ";\n"
print "#declare Bary_X = ", bx/count, ";";