bloubworld: more tweaking, more pimping
This commit is contained in:
parent
329f054fff
commit
5030fda56f
2
BloubWorld/.gitignore
vendored
2
BloubWorld/.gitignore
vendored
@ -7,6 +7,7 @@ nbimg.inc
|
|||||||
*.mp4
|
*.mp4
|
||||||
*.lst
|
*.lst
|
||||||
*.wav
|
*.wav
|
||||||
|
*.xyz
|
||||||
frames/*
|
frames/*
|
||||||
log.*
|
log.*
|
||||||
|
|
||||||
@ -17,4 +18,5 @@ mergebloubs
|
|||||||
listbloubs
|
listbloubs
|
||||||
essai
|
essai
|
||||||
|
|
||||||
|
WS/*.data
|
||||||
core
|
core
|
||||||
|
@ -62,7 +62,10 @@ ce qu'il faut pour les différents moteurs de rendu.
|
|||||||
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.[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
|
### mergebloubs
|
||||||
|
|
||||||
|
@ -68,31 +68,37 @@ module bloubspace
|
|||||||
end subroutine load_boundingbox
|
end subroutine load_boundingbox
|
||||||
|
|
||||||
! ----------------------------------------------------------------
|
! ----------------------------------------------------------------
|
||||||
|
!-
|
||||||
subroutine make_a_random_bloub(blb)
|
! coefxyz :
|
||||||
|
! dispersion de la position autour de l'origine
|
||||||
|
!-
|
||||||
|
subroutine make_a_random_bloub(blb, coefxyz)
|
||||||
type(t_bloubs), intent (out) :: blb
|
type(t_bloubs), intent (out) :: blb
|
||||||
|
real, intent(in) :: coefxyz
|
||||||
|
|
||||||
blb%px = 3.57 * (rand() - 0.50)
|
! write(0, *) "coef xyz = ", coefxyz
|
||||||
blb%py = 2.66 * (rand() - 0.50)
|
blb%px = coefxyz * (rand() - 0.50)
|
||||||
blb%pz = 3.57 * (rand() - 0.50)
|
blb%py = coefxyz * (rand() - 0.50)
|
||||||
|
blb%pz = coefxyz * (rand() - 0.50)
|
||||||
|
|
||||||
blb%vx = (rand()) / 2.500
|
blb%vx = (rand()) / 5.000
|
||||||
if (blb%px .LT. 0.0) blb%vx = -blb%vx
|
if (blb%px .LT. 0.0) blb%vx = -blb%vx
|
||||||
|
|
||||||
blb%vy = (rand()) / 4.000
|
blb%vy = 0.2 + (rand()) / 8.000
|
||||||
if (blb%py .LT. 0.0) blb%vy = -blb%vx
|
if (blb%py .LT. 0.0) blb%vy = -blb%vy
|
||||||
|
|
||||||
blb%vz = (rand()) / 2.500
|
blb%vz = (rand()) / 5.000
|
||||||
if (blb%pz .LT. 0.0) blb%vz = -blb%vz
|
if (blb%pz .LT. 0.0) blb%vz = -blb%vz
|
||||||
|
|
||||||
blb%state = 0
|
blb%state = 0
|
||||||
blb%alive = .TRUE.
|
blb%alive = .TRUE.
|
||||||
blb%age = 0
|
blb%age = 0
|
||||||
blb%agemax = 300
|
blb%agemax = 100
|
||||||
|
|
||||||
end subroutine
|
end subroutine
|
||||||
! ----------------------------------------------------------------
|
! ----------------------------------------------------------------
|
||||||
! Load a blbs file into an array of bloubs
|
! Load a blbs file into an array of bloubs
|
||||||
|
|
||||||
subroutine spit_bloubs_to_file (fname, blbarray, towrite)
|
subroutine spit_bloubs_to_file (fname, blbarray, towrite)
|
||||||
character(*), intent(in) :: fname
|
character(*), intent(in) :: fname
|
||||||
type(t_bloubs), dimension(:) :: blbarray
|
type(t_bloubs), dimension(:) :: blbarray
|
||||||
@ -125,7 +131,7 @@ module bloubspace
|
|||||||
enddo
|
enddo
|
||||||
|
|
||||||
close(output)
|
close(output)
|
||||||
write(0, '(1X, "spitted ", I6, " bloubs")') spitted
|
write(0, '(1X, "spitted ", I0, " bloubs.")') spitted
|
||||||
|
|
||||||
end subroutine spit_bloubs_to_file
|
end subroutine spit_bloubs_to_file
|
||||||
! ----------------------------------------------------------------
|
! ----------------------------------------------------------------
|
||||||
@ -201,7 +207,9 @@ module bloubspace
|
|||||||
|
|
||||||
end subroutine
|
end subroutine
|
||||||
! ----------------------------------------------------------------
|
! ----------------------------------------------------------------
|
||||||
|
!-
|
||||||
|
! Deplacement d'un bloub
|
||||||
|
!-
|
||||||
subroutine move_bloub (blb, coef)
|
subroutine move_bloub (blb, coef)
|
||||||
type(t_bloubs), intent (inout) :: blb
|
type(t_bloubs), intent (inout) :: blb
|
||||||
real, intent (in) :: coef
|
real, intent (in) :: coef
|
||||||
@ -215,7 +223,9 @@ module bloubspace
|
|||||||
! ----------------------------------------------------------------
|
! ----------------------------------------------------------------
|
||||||
!
|
!
|
||||||
! detection des collisions avec les parois de la boite
|
! detection des collisions avec les parois de la boite
|
||||||
! laquelle boite gagnerais beaucoup a etre parametrable.
|
! laquelle boite gagnerais beaucoup a etre parametrable,
|
||||||
|
! ainsi qu'un éventuel coefficient de réduction de la
|
||||||
|
! vitesse. XXX
|
||||||
!
|
!
|
||||||
subroutine bound_a_bloub (blb)
|
subroutine bound_a_bloub (blb)
|
||||||
type(t_bloubs), intent (inout) :: blb
|
type(t_bloubs), intent (inout) :: blb
|
||||||
@ -282,13 +292,13 @@ module bloubspace
|
|||||||
subroutine green_soylent (blb)
|
subroutine green_soylent (blb)
|
||||||
type(t_bloubs), intent (inout) :: blb
|
type(t_bloubs), intent (inout) :: blb
|
||||||
|
|
||||||
if (blb%age .gt. 24) then
|
if (blb%age .gt. 240) then
|
||||||
blb%alive = .FALSE.
|
blb%alive = .FALSE.
|
||||||
endif
|
endif
|
||||||
|
|
||||||
! this is juste a molly-guard, don't worry
|
! this is juste a molly-guard, don't worry
|
||||||
!
|
!
|
||||||
if (blb%radius .GT. 2.0) then
|
if (blb%radius .GT. 4.0) then
|
||||||
blb%alive = .FALSE.
|
blb%alive = .FALSE.
|
||||||
endif
|
endif
|
||||||
end subroutine
|
end subroutine
|
||||||
|
@ -33,8 +33,8 @@ program genbloubs
|
|||||||
|
|
||||||
bloub%nick = 'noname '
|
bloub%nick = 'noname '
|
||||||
bloub%num = i + 41
|
bloub%num = i + 41
|
||||||
call make_a_random_bloub(bloub)
|
call make_a_random_bloub(bloub, 8.25)
|
||||||
bloub%radius = 0.035 + (0.03*rand())
|
bloub%radius = 0.015 + (0.08*rand())
|
||||||
|
|
||||||
write(idu) bloub ! no error control ?
|
write(idu) bloub ! no error control ?
|
||||||
|
|
||||||
|
@ -33,7 +33,7 @@ program mergebloubs
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
call slurp_bloubs_file_in_array(trim(infile), bloubs, nbgot)
|
call slurp_bloubs_file_in_array(trim(infile), bloubs, nbgot)
|
||||||
write(0, '(A,I6,1X,A)') " slurped ", nbgot, "bloubs"
|
write(0, '(A,I0,1X,A)') " slurped ", nbgot, "bloubs"
|
||||||
|
|
||||||
contacts = 0
|
contacts = 0
|
||||||
do ia = 1, nbgot
|
do ia = 1, nbgot
|
||||||
@ -42,19 +42,26 @@ program mergebloubs
|
|||||||
dist = distance_of_bloubs(bloubs(ia), bloubs(ib))
|
dist = distance_of_bloubs(bloubs(ia), bloubs(ib))
|
||||||
radd = bloubs(ia)%radius + bloubs(ib)%radius
|
radd = bloubs(ia)%radius + bloubs(ib)%radius
|
||||||
if (dist .LT. radd) then
|
if (dist .LT. radd) then
|
||||||
|
|
||||||
contacts = contacts + 1
|
contacts = contacts + 1
|
||||||
call merge_two_bloubs(bloubs(ia), bloubs(ib), merged)
|
call merge_two_bloubs(bloubs(ia), bloubs(ib), merged)
|
||||||
bloubs(ia) = merged
|
bloubs(ia) = merged
|
||||||
bloubs(ia)%nick = "marged"
|
bloubs(ia)%nick = "marged"
|
||||||
bloubs(ia)%state = 1;
|
bloubs(ia)%state = 1;
|
||||||
bloubs(ib)%alive = .FALSE.
|
bloubs(ib)%alive = .FALSE.
|
||||||
|
write(0, *) " *** merged ", ia, " and ", ib, &
|
||||||
|
" new r = ", merged%radius
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
enddo
|
enddo
|
||||||
enddo
|
enddo
|
||||||
|
|
||||||
call spit_bloubs_to_file (outfile, bloubs, nbgot)
|
call spit_bloubs_to_file (outfile, bloubs, nbgot)
|
||||||
! print *, contacts, "contacts pour ", nbgot, "bloubs"
|
if (contacts .GT. 0) then
|
||||||
|
write(0, '(A,I0,A,I0,A)') &
|
||||||
|
" merge: ", contacts, " contacts pour ", nbgot, " bloubs"
|
||||||
|
endif
|
||||||
|
|
||||||
! STOP 'mergebloubs [done]'
|
! STOP 'mergebloubs [done]'
|
||||||
|
|
||||||
@ -77,8 +84,8 @@ contains
|
|||||||
blr%vy = (bla%vy + blb%vy) / 2.0
|
blr%vy = (bla%vy + blb%vy) / 2.0
|
||||||
blr%vz = (bla%vz + blb%vz) / 2.0
|
blr%vz = (bla%vz + blb%vz) / 2.0
|
||||||
|
|
||||||
blr%radius = (bla%radius + blb%radius) / 2.222
|
blr%radius = (bla%radius + blb%radius)
|
||||||
blr%age = min(bla%age, blb%age)
|
blr%age = max(bla%age, blb%age)
|
||||||
|
|
||||||
! bring it to life !
|
! bring it to life !
|
||||||
blr%alive = .TRUE.
|
blr%alive = .TRUE.
|
||||||
|
@ -48,6 +48,9 @@ program movebloubs
|
|||||||
compteur = 0
|
compteur = 0
|
||||||
killed = 0
|
killed = 0
|
||||||
|
|
||||||
|
!-
|
||||||
|
! begin of bigloop
|
||||||
|
!-
|
||||||
do
|
do
|
||||||
read (unit=inu, iostat=errcode) bloub
|
read (unit=inu, iostat=errcode) bloub
|
||||||
if (0 .ne. errcode) then
|
if (0 .ne. errcode) then
|
||||||
@ -59,14 +62,14 @@ program movebloubs
|
|||||||
call move_bloub (bloub, 0.185)
|
call move_bloub (bloub, 0.185)
|
||||||
call bound_a_bloub (bloub)
|
call bound_a_bloub (bloub)
|
||||||
if (bloub%radius .GT. 0.0238) then
|
if (bloub%radius .GT. 0.0238) then
|
||||||
bloub%radius = bloub%radius * 0.996
|
bloub%radius = bloub%radius * 0.999
|
||||||
endif
|
endif
|
||||||
|
|
||||||
call green_soylent (bloub)
|
! XXX call green_soylent (bloub)
|
||||||
if (.NOT. bloub%alive) then
|
! XXX if (.NOT. bloub%alive) then
|
||||||
! write(0, '(A)') " KILL!"
|
! XXX ! write(0, '(A)') " KILL!"
|
||||||
killed = killed + 1
|
! XXX killed = killed + 1
|
||||||
endif
|
! XXX endif
|
||||||
|
|
||||||
! calcul du barycentre
|
! calcul du barycentre
|
||||||
bx = bx + dble(bloub%px)
|
bx = bx + dble(bloub%px)
|
||||||
@ -84,33 +87,18 @@ program movebloubs
|
|||||||
enddo ! end of main loop
|
enddo ! end of main loop
|
||||||
|
|
||||||
write(0, '(1X,I0,1X,A)') compteur, "bloubs processed"
|
write(0, '(1X,I0,1X,A)') compteur, "bloubs processed"
|
||||||
|
|
||||||
! ok, we have read all the bloubs in the input file
|
|
||||||
|
|
||||||
! insert some fancy conditional here
|
|
||||||
if (compteur .LT. 200) then
|
|
||||||
call add_more_bloubs(outu, 4, 0.026)
|
|
||||||
endif
|
|
||||||
|
|
||||||
! insert some very fancy conditional here
|
|
||||||
if (compteur .LT. 800) then
|
|
||||||
rnd = rand()
|
|
||||||
! write (0, '(A,1X,F9.6)') "try to add bloubs, rnd is", rnd
|
|
||||||
if (rnd .LT. 0.0604) then
|
|
||||||
call add_more_bloubs(outu, 11, 0.019)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
close(inu) ; close(outu)
|
|
||||||
|
|
||||||
if (killed .GT. 0) then
|
if (killed .GT. 0) then
|
||||||
write (0, '(1X,I0,A)') killed, " bloubs killed"
|
write (0, '(1X,I0,A)') killed, " bloubs killed"
|
||||||
endif
|
endif
|
||||||
|
|
||||||
bx = bx / dble(compteur)
|
! ok, we have read all the bloubs from the input file
|
||||||
by = by / dble(compteur)
|
|
||||||
bz = bz / dble(compteur)
|
! insert some fancy conditional here
|
||||||
write (0, '(A,3(F12.6,3X))') "barycentre : ", bx, by, bz
|
if (compteur .LT. 200) then
|
||||||
|
call add_more_bloubs(outu, 5, 0.032)
|
||||||
|
endif
|
||||||
|
|
||||||
|
close(inu) ; close(outu)
|
||||||
|
|
||||||
! --------------------------------------------------------------
|
! --------------------------------------------------------------
|
||||||
contains
|
contains
|
||||||
@ -121,14 +109,14 @@ contains
|
|||||||
type(t_bloubs) :: bloub
|
type(t_bloubs) :: bloub
|
||||||
integer :: foo, count
|
integer :: foo, count
|
||||||
|
|
||||||
count = nbre+mod(irand(), 6)
|
count = nbre+mod(irand(), 3)
|
||||||
write(0, '(A,I4,1X,A)') "adding", count, "bloubs"
|
write(0, '(A,I4,1X,A)') "movebloubs adding", count, "bloubs"
|
||||||
|
|
||||||
do foo=1, count
|
do foo=1, count
|
||||||
|
|
||||||
bloub%nick = 'newbie '
|
bloub%nick = 'newbie '
|
||||||
call make_a_random_bloub(bloub)
|
call make_a_random_bloub(bloub, 7.12)
|
||||||
bloub%radius = rayon + (0.05*rand())
|
bloub%radius = rayon + (0.09*rand())
|
||||||
bloub%age = 1
|
bloub%age = 1
|
||||||
bloub%alive = .TRUE.
|
bloub%alive = .TRUE.
|
||||||
bloub%num = mod(irand(), 42)
|
bloub%num = mod(irand(), 42)
|
||||||
|
5
BloubWorld/plotbary.sh
Executable file
5
BloubWorld/plotbary.sh
Executable file
@ -0,0 +1,5 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
BARYDATAS="WS/log.barycentres"
|
||||||
|
|
||||||
|
wc -l $BARYDATAS
|
@ -12,6 +12,9 @@ DDIR="frames/a"
|
|||||||
LOGERR="log.error"
|
LOGERR="log.error"
|
||||||
TXTCOLOR="#db2080"
|
TXTCOLOR="#db2080"
|
||||||
|
|
||||||
|
BLOUBDATAS="WS/bloubs.data"
|
||||||
|
BARYDATAS="WS/log.barycentres"
|
||||||
|
|
||||||
# --- put the work file in ramdisk
|
# --- put the work file in ramdisk
|
||||||
BLBS_IN="/dev/shm/in.blbs"
|
BLBS_IN="/dev/shm/in.blbs"
|
||||||
BLBS_OUT="/dev/shm/out.blbs"
|
BLBS_OUT="/dev/shm/out.blbs"
|
||||||
@ -31,16 +34,18 @@ printf "\n#declare NbImg = %d;\n" $NBIMG > WS/nbimg.inc
|
|||||||
# first, we have to make a seminal buch of bloubs
|
# first, we have to make a seminal buch of bloubs
|
||||||
# --> this function need to be parametrizable
|
# --> this function need to be parametrizable
|
||||||
#
|
#
|
||||||
./genbloubs ${BLBS_IN} 5
|
./genbloubs ${BLBS_IN} 97
|
||||||
|
|
||||||
for idx in $(seq 0 $((NBIMG-1)) )
|
for idx in $(seq 0 $((NBIMG-1)) )
|
||||||
do
|
do
|
||||||
|
|
||||||
echo "======== run passe $idx ========="
|
echo "============== run passe $idx ===================="
|
||||||
|
|
||||||
# make the bloubs's data readable by POVray
|
# make the bloubs's data readable by POVray
|
||||||
#
|
#
|
||||||
./exportbloubs ${BLBS_IN} | awk -f toinc.awk > $INCFILE
|
./exportbloubs ${BLBS_IN} > $BLOUBDATAS
|
||||||
|
awk -f toinc.awk < $BLOUBDATAS > $INCFILE
|
||||||
|
awk '{ print $1, $2, $3 }' < $BLOUBDATAS > $BARYDATAS
|
||||||
|
|
||||||
echo "### raytracing pass $idx"
|
echo "### raytracing pass $idx"
|
||||||
|
|
||||||
@ -58,13 +63,13 @@ do
|
|||||||
|
|
||||||
convert ${TMPPNG} \
|
convert ${TMPPNG} \
|
||||||
-font Courier-Bold \
|
-font Courier-Bold \
|
||||||
-pointsize 24 \
|
-pointsize 22 \
|
||||||
-fill "$TXTCOLOR" \
|
-fill "$TXTCOLOR" \
|
||||||
-gravity south-east \
|
-gravity south-east \
|
||||||
-annotate +25+5 "$td" \
|
-annotate +25+5 "$td" \
|
||||||
-gravity south-west \
|
-gravity south-west \
|
||||||
-annotate +25+5 "$hi" \
|
-annotate +25+5 "$hi" \
|
||||||
-pointsize 32 \
|
-pointsize 28 \
|
||||||
-gravity north-east \
|
-gravity north-east \
|
||||||
-annotate +45+5 "$count" \
|
-annotate +45+5 "$count" \
|
||||||
-gravity north-west \
|
-gravity north-west \
|
||||||
@ -78,7 +83,7 @@ do
|
|||||||
# mv ${BLBS_OUT} ${BLBS_IN}
|
# mv ${BLBS_OUT} ${BLBS_IN}
|
||||||
|
|
||||||
echo "### run done"
|
echo "### run done"
|
||||||
sleep 60
|
sleep 10
|
||||||
|
|
||||||
done
|
done
|
||||||
|
|
||||||
|
@ -44,22 +44,43 @@ union {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
plane { y, 0 pigment { color White } translate -4.20*y}
|
cylinder { 0, -y, 30 pigment { color White } translate -4.20*y}
|
||||||
|
|
||||||
|
sky_sphere {
|
||||||
|
pigment { color Gray20 }
|
||||||
|
emission rgb <0.1, 0.1, 0.1>
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// object { cylinder { <0, 0, 0>, <10, 0, 0>, 0.05 pigment { color Cyan } } }
|
// object { cylinder { <0, 0, 0>, <10, 0, 0>, 0.05 pigment { color Cyan } } }
|
||||||
|
|
||||||
// ----------------------------------------------------------
|
// ----------------------------------------------------------
|
||||||
|
|
||||||
|
#declare Croisillon = object
|
||||||
|
{
|
||||||
|
union {
|
||||||
|
cylinder { -1*x, 1*x, 0.04 }
|
||||||
|
cylinder { -1*y, 1*y, 0.04 }
|
||||||
|
cylinder { -1*z, 1*z, 0.04 }
|
||||||
|
}
|
||||||
|
texture {
|
||||||
|
pigment { color Gray50 }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
object { Croisillon scale 0.80 translate <Bary_X, Bary_Y, Bary_Z> }
|
||||||
|
|
||||||
|
// ----------------------------------------------------------
|
||||||
|
|
||||||
#declare BH = 6; // H = taille en horizontal
|
#declare BH = 6; // H = taille en horizontal
|
||||||
#declare BV = 4; // V = taille en vertical
|
#declare BV = 4; // V = taille en vertical
|
||||||
#declare BR = 0.034;
|
#declare BR = 0.056;
|
||||||
|
|
||||||
#declare Une_Borne = object
|
#declare Une_Borne = object
|
||||||
{
|
{
|
||||||
merge {
|
merge {
|
||||||
cylinder { <0, BV, 0>, <0, -BV, 0>, BR }
|
cylinder { <0, BV, 0>, <0, -BV, 0>, BR }
|
||||||
cylinder { <0, 0.018, 0>, <0, -0.018, 0>, BR*3 }
|
cylinder { <0, 0.036, 0>, <0, -0.036, 0>, BR*2 }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -113,21 +134,19 @@ union {
|
|||||||
// ----------------------------------------------------------
|
// ----------------------------------------------------------
|
||||||
|
|
||||||
light_source { <19, 12+NormClock, -17> color Gray80 }
|
light_source { <19, 12+NormClock, -17> color Gray80 }
|
||||||
light_source { <11, 10-NormClock, -29> color Gray60 }
|
light_source { <12, 10-NormClock, -29> color Gray70 }
|
||||||
|
|
||||||
#declare XCAM = 8 - ( 15 * NormClock);
|
#declare XCAM = 5 - ( 10 * NormClock);
|
||||||
#declare YCAM = -1.1 + (0.95 * NormClock);
|
#declare YCAM = -1.1 + (1.15 * NormClock);
|
||||||
#declare ZCAM = -13.10;
|
#declare ZCAM = -16.50;
|
||||||
|
|
||||||
#declare XLAT = Bary_X;
|
#declare XLAT = 0;
|
||||||
#declare YLAT = Bary_Y;
|
#declare YLAT = 0;
|
||||||
#declare ZLAT = Bary_Z;
|
#declare ZLAT = 0;
|
||||||
|
|
||||||
// object { Repere scale 2.5 translate <XLAT, YLAT, ZLAT> }
|
|
||||||
|
|
||||||
camera {
|
camera {
|
||||||
location <XCAM, YCAM, ZCAM>
|
location <XCAM, YCAM, ZCAM>
|
||||||
look_at <XLAT, YLAT, ZLAT>
|
look_at <XLAT, YLAT, ZLAT>
|
||||||
right x*image_width/image_height
|
right x*image_width/image_height
|
||||||
angle 86
|
angle 64
|
||||||
}
|
}
|
||||||
|
@ -9,6 +9,8 @@ BEGIN {
|
|||||||
count = 0
|
count = 0
|
||||||
bx = by = bz = 0.0
|
bx = by = bz = 0.0
|
||||||
print "// GENERATED FILE, DON'T TOUCH IT !"
|
print "// GENERATED FILE, DON'T TOUCH IT !"
|
||||||
|
print "// --------------------------------"
|
||||||
|
print
|
||||||
print "#declare Bloubs = object\n{"
|
print "#declare Bloubs = object\n{"
|
||||||
print "union\t{"
|
print "union\t{"
|
||||||
}
|
}
|
||||||
@ -18,10 +20,11 @@ BEGIN {
|
|||||||
merged = $6
|
merged = $6
|
||||||
|
|
||||||
color = "Cyan"
|
color = "Cyan"
|
||||||
if (age < 2) color = "Yellow"
|
if (age < 18) color = "Gray40"
|
||||||
|
if (age < 2) color = "Gray10"
|
||||||
if (merged) {
|
if (merged) {
|
||||||
if (age > 120) color = "Orange"
|
if (age > 120) color = "Orange"
|
||||||
else color = "Red"
|
else color = "Yellow"
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if (age > 120) color = "Black"
|
if (age > 120) color = "Black"
|
||||||
|
Loading…
Reference in New Issue
Block a user