Compare commits

...

5 Commits

Author SHA1 Message Date
tTh 98350ed6c6 more acurate doc 2024-02-01 17:40:18 +01:00
tTh a8021a5713 logic error 2024-02-01 17:39:33 +01:00
tTh c16269f4e8 test cbrt func 2024-01-31 11:11:50 +01:00
tTh 4f11c0e36a pimping... 2024-01-31 11:10:54 +01:00
tTh cebe61b69b add .ssv files 2024-01-31 11:10:23 +01:00
4 changed files with 28 additions and 30 deletions

View File

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

View File

@ -41,17 +41,25 @@ 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
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
Il ne fait que deux choses : à chaque tick, va déplacer
les bloubs 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
@ -60,19 +68,14 @@ 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,17 +1,11 @@
program essai
use bloubspace
! use bloubspace
use mathstuff
implicit none
type(t_boundingbox) :: bbox
call load_boundingbox("WS/boundinboxes.dat", bbox, "cube ")
print *, bbox
! call test_random(20)
call test_random(10)
STOP ': BECAUSE JOB IS DONE'
@ -21,17 +15,17 @@ program essai
subroutine test_random(nbre)
integer, intent(in) :: nbre
integer :: foo, bar
real :: quux
integer :: foo
real :: quux, bar
double precision :: somme
call init_random_seed() ! in module 'mathstuff'
somme = 0.0
do foo=1, nbre
quux = rand()
quux = 10.0 * rand()
somme = somme + quux
bar = mod(irand(), 7)
print *, foo, quux, somme/foo, bar
bar = quux ** (.1/.3)
print *, quux, bar, somme/foo
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 > 120) color = "Orange"
if (age > 100) color = "Orange"
else color = "Yellow"
}
else {
if (age > 120) color = "Black"
if (age > 100) 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.67 specular 0.57 }\n"
print "finish { phong 0.57 specular 0.67 }\n"
print "}\n"
print "#declare Nb_Bloubs = ", count, ";\n"
print "#declare Bary_X = ", bx/count, ";";