Compare commits
No commits in common. "98350ed6c6807e9c0a7b361cf4201d12bcdbe695" and "6eac66c8180c1b20ddce7f1bddf1a145f931385e" have entirely different histories.
98350ed6c6
...
6eac66c818
1
BloubWorld/.gitignore
vendored
1
BloubWorld/.gitignore
vendored
@ -8,7 +8,6 @@ nbimg.inc
|
|||||||
*.lst
|
*.lst
|
||||||
*.wav
|
*.wav
|
||||||
*.xyz
|
*.xyz
|
||||||
*.ssv
|
|
||||||
frames/*
|
frames/*
|
||||||
log.*
|
log.*
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
! --------------------------------------------------------------
|
! --------------------------------------------------------------
|
||||||
|
@ -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, ";";
|
||||||
|
Loading…
Reference in New Issue
Block a user