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 *.lst
*.wav *.wav
*.xyz *.xyz
*.ssv
frames/* frames/*
log.* 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`) Deux paramètres : le nom du fichier (extention `.blbs`)
et le nombre de bloubs désirés. et le nombre de bloubs désirés.
Les règles de génération *devraient* être paramétrables. Les règles de génération *devraient* être paramétrables.
([source](genbloubs.f90)) [source](genbloubs.f90)
### movebloubs ### movebloubs
Il ne fait que deux choses : à chaque tick, va déplacer Le cœur actif du système : c'est lui qui, à chaque tick, va déplacer
les bloubs et faire naitre de nouveaux bloubs 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. 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. 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 ### 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. ce qu'il faut pour les différents moteurs de rendu.
**Le format de sortie est susceptible de changer sans préavis.** **Le format de sortie est susceptible de changer sans préavis.**
Bon, pour le moment, dans les formats il n'y a que POVray, Bon, pour le moment, dans les formats il n'y a que POVray,
mais Gnuplot et/ou Rdata arriveront bien un de ces jours. mais Gnuplot et/ou Rdata arriveront bien un de ces jours.[source](exportbloubs.f90)
([source](exportbloubs.f90))
Un exemple : l'idée est de générer un fichier `.inc` pour 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, Povray pour utiliser les données exportées dans une scène,
par exemple le barycentre des bloubs. Et c'est très facile par exemple le barycentre des bloubs. Et c'est très facile
à faire avec un [script Awk](toinc.awk). à 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 ## TODO
- Concevoir un système de _bouding box_ facile à utiliser - Concevoir un système de _bouding box_ facile à utiliser

View File

@ -1,11 +1,17 @@
program essai program essai
! use bloubspace use bloubspace
use mathstuff use mathstuff
implicit none 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' STOP ': BECAUSE JOB IS DONE'
@ -15,17 +21,17 @@ program essai
subroutine test_random(nbre) subroutine test_random(nbre)
integer, intent(in) :: nbre integer, intent(in) :: nbre
integer :: foo integer :: foo, bar
real :: quux, bar real :: quux
double precision :: somme double precision :: somme
call init_random_seed() ! in module 'mathstuff' call init_random_seed() ! in module 'mathstuff'
somme = 0.0 somme = 0.0
do foo=1, nbre do foo=1, nbre
quux = 10.0 * rand() quux = rand()
somme = somme + quux somme = somme + quux
bar = quux ** (.1/.3) bar = mod(irand(), 7)
print *, quux, bar, somme/foo print *, foo, quux, somme/foo, bar
enddo enddo
end subroutine test_random end subroutine test_random
! -------------------------------------------------------------- ! --------------------------------------------------------------

View File

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