Compare commits
5 Commits
c0c031f21a
...
d5ad74cf77
Author | SHA1 | Date | |
---|---|---|---|
|
d5ad74cf77 | ||
|
2188f28371 | ||
|
dac287beb2 | ||
|
23616f9119 | ||
|
7976d1dd9f |
@ -3,10 +3,12 @@
|
|||||||
C'est quoi ?
|
C'est quoi ?
|
||||||
|
|
||||||
Le BloubWorld (que l'on appelle aussi BloubSpace) est un espace borné
|
Le BloubWorld (que l'on appelle aussi BloubSpace) est un espace borné
|
||||||
dans lequel se déplcent des **bloubs**, une sorte de particule
|
dans lequel se déplacent des **bloubs**, lesquels sont
|
||||||
munie de certaines propriétés. Lesquelles évoluent en fonction du temps.
|
des sortes de particule
|
||||||
|
munie de certaines propriétés.
|
||||||
|
Lesquelles évoluent en fonction du temps.
|
||||||
|
|
||||||
## Description d'un bloubs
|
## Description d'un bloub
|
||||||
|
|
||||||
```
|
```
|
||||||
type t_bloubs
|
type t_bloubs
|
||||||
@ -27,3 +29,8 @@ Pas trop mal pour un premier jet. Il suffit de lire
|
|||||||
le script `runme.sh` pour avoir une idée de l'enchainement
|
le script `runme.sh` pour avoir une idée de l'enchainement
|
||||||
des opérations.
|
des opérations.
|
||||||
|
|
||||||
|
## TODO
|
||||||
|
|
||||||
|
- Concevoir un système de _bouding box_ facile à utiliser
|
||||||
|
- Réfléchir à une politique de vieillissement des bloubs
|
||||||
|
|
||||||
|
@ -28,9 +28,9 @@ module bloubspace
|
|||||||
blb%py = rand() * 0.25
|
blb%py = rand() * 0.25
|
||||||
blb%pz = rand() - 0.50
|
blb%pz = rand() - 0.50
|
||||||
|
|
||||||
blb%vx = (rand() - 0.5) / 5.000
|
blb%vx = (rand() - 0.5) / 4.000
|
||||||
blb%vy = (rand() - 0.5) / 5.000
|
blb%vy = (rand() - 0.5) / 4.000
|
||||||
blb%vz = (rand() - 0.5) / 5.000
|
blb%vz = (rand() - 0.5) / 4.000
|
||||||
|
|
||||||
end subroutine
|
end subroutine
|
||||||
|
|
||||||
@ -39,7 +39,9 @@ module bloubspace
|
|||||||
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
|
||||||
|
|
||||||
|
! we must check that this bloub is alive ?
|
||||||
|
|
||||||
blb%px = blb%px + (blb%vx * coef)
|
blb%px = blb%px + (blb%vx * coef)
|
||||||
blb%py = blb%py + (blb%vy * coef)
|
blb%py = blb%py + (blb%vy * coef)
|
||||||
blb%pz = blb%pz + (blb%vz * coef)
|
blb%pz = blb%pz + (blb%vz * coef)
|
||||||
|
@ -31,7 +31,7 @@ program genbloubs
|
|||||||
bloub%nick = 'noname '
|
bloub%nick = 'noname '
|
||||||
bloub%alive = .TRUE.
|
bloub%alive = .TRUE.
|
||||||
call random_pv(bloub)
|
call random_pv(bloub)
|
||||||
bloub%radius = 0.009999
|
bloub%radius = 0.025
|
||||||
bloub%seq = 0
|
bloub%seq = 0
|
||||||
|
|
||||||
write(idu) bloub ! no error control ?
|
write(idu) bloub ! no error control ?
|
||||||
|
@ -44,7 +44,7 @@ program movebloubs
|
|||||||
exit
|
exit
|
||||||
endif
|
endif
|
||||||
|
|
||||||
call move_bloub (bloub, 0.333)
|
call move_bloub (bloub, 1.10)
|
||||||
|
|
||||||
bx = bx + bloub%px
|
bx = bx + bloub%px
|
||||||
by = by + bloub%py
|
by = by + bloub%py
|
||||||
@ -55,6 +55,10 @@ program movebloubs
|
|||||||
bloub%vy = -1.0 * bloub%vy
|
bloub%vy = -1.0 * bloub%vy
|
||||||
bloub%py = 0.0
|
bloub%py = 0.0
|
||||||
endif
|
endif
|
||||||
|
if (3.0 .lt. bloub%py) then
|
||||||
|
bloub%vy = -1.0 * bloub%vy
|
||||||
|
bloub%py = 3.0
|
||||||
|
endif
|
||||||
|
|
||||||
write(outu) bloub ! no error control ?
|
write(outu) bloub ! no error control ?
|
||||||
|
|
||||||
|
@ -7,8 +7,9 @@
|
|||||||
|
|
||||||
INCFILE="bloubs.inc"
|
INCFILE="bloubs.inc"
|
||||||
TMPPNG="/dev/shm/bloubs7.png"
|
TMPPNG="/dev/shm/bloubs7.png"
|
||||||
POVOPT="+Q9 -v -d -W640 -H480"
|
POVOPT="+Q9 +a -v -d -W640 -H480"
|
||||||
DDIR="frames"
|
DDIR="frames"
|
||||||
|
LOGERR="log.error"
|
||||||
|
|
||||||
make all
|
make all
|
||||||
err=$?
|
err=$?
|
||||||
@ -16,43 +17,45 @@ if [ $err -ne 0 ] ; then
|
|||||||
echo 'make error = ' $err
|
echo 'make error = ' $err
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#
|
#
|
||||||
# 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 paraletrizable
|
# --> this function need to be paraletrizable
|
||||||
#
|
#
|
||||||
./genbloubs in.blbs 10000
|
./genbloubs in.blbs 10000
|
||||||
|
|
||||||
for idx in $(seq 0 40)
|
for idx in $(seq 0 50)
|
||||||
do
|
do
|
||||||
|
|
||||||
echo "======== run passe $idx ========="
|
echo "======== run passe $idx ========="
|
||||||
|
|
||||||
./exportbloubs in.blbs | awk -f toinc.awk > $INCFILE
|
./exportbloubs in.blbs | awk -f toinc.awk > $INCFILE
|
||||||
|
|
||||||
povray -Iscene.pov -K${idx} -O${TMPPNG} ${POVOPT} 2> toto
|
povray -Iscene.pov -K${idx} -O${TMPPNG} ${POVOPT} 2> $LOGERR
|
||||||
grep "Trace Tim" toto
|
grep "Trace Tim" $LOGERR
|
||||||
|
|
||||||
txt=$(date +'%F %R:%S')
|
txt=$(date +'%F %R:%S')
|
||||||
PNG=$(printf "%s/%05d.png" ${DDIR} $idx)
|
PNG=$(printf "%s/%05d.png" ${DDIR} $idx)
|
||||||
echo $PNG $txt
|
echo $txt
|
||||||
|
|
||||||
convert ${TMPPNG} \
|
convert ${TMPPNG} \
|
||||||
-font fixed \
|
-font fixed \
|
||||||
-pointsize 12 \
|
-pointsize 16 \
|
||||||
-fill orange \
|
-fill orange \
|
||||||
-gravity south-east \
|
-gravity south-east \
|
||||||
-annotate +10+10 "$txt" \
|
-annotate +15+10 "$txt" \
|
||||||
$PNG
|
$PNG
|
||||||
|
|
||||||
|
echo $PNG '[done]'
|
||||||
|
|
||||||
./movebloubs in.blbs out.blbs
|
./movebloubs in.blbs out.blbs
|
||||||
|
mv out.blbs in.blbs
|
||||||
|
echo
|
||||||
|
|
||||||
cp out.blbs in.blbs
|
|
||||||
|
|
||||||
sleep 2 ; echo
|
|
||||||
done
|
done
|
||||||
|
|
||||||
rm toto
|
rm $LOGERR
|
||||||
|
|
||||||
convert -delay 10 -colors 32 $DDIR/*.png foo.gif
|
convert -delay 10 -colors 192 $DDIR/*.png foo.gif
|
||||||
|
|
||||||
|
|
||||||
|
@ -25,16 +25,35 @@ plane {
|
|||||||
<0, 1, 0>, 0
|
<0, 1, 0>, 0
|
||||||
texture {
|
texture {
|
||||||
pigment { color Gray10 }
|
pigment { color Gray10 }
|
||||||
finish { phong 0.58 metallic 0.45 }
|
finish { phong 0.18 metallic 0.45 }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
light_source { <4, 1, -9> color White }
|
// ----------------------------------------------------------
|
||||||
light_source { <4, 9, 9> color White }
|
|
||||||
|
#declare Les_Bornes = object
|
||||||
|
{
|
||||||
|
#declare BH = 5;
|
||||||
|
#declare BV = 3;
|
||||||
|
#declare BR = 0.02;
|
||||||
|
union {
|
||||||
|
cylinder { <-BH, 0, -BH>, <-BH, BV, -BH>, BR pigment { color Blue } }
|
||||||
|
cylinder { < BH, 0, -BH>, < BH, BV, -BH>, BR pigment { color Green } }
|
||||||
|
cylinder { <-BH, 0, BH>, <-BH, BV, BH>, BR pigment { color Green } }
|
||||||
|
cylinder { < BH, 0, BH>, < BH, BV, BH>, BR pigment { color Red } }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
object { Les_Bornes }
|
||||||
|
|
||||||
|
// ----------------------------------------------------------
|
||||||
|
|
||||||
|
light_source { <4, 12, -11> color Gray80 }
|
||||||
|
light_source { <4, 9, 9> color White }
|
||||||
|
|
||||||
camera {
|
camera {
|
||||||
location <1, 3, -5>
|
location <7, 5, -16>
|
||||||
look_at <0, 0, 0>
|
look_at <0, 0, 0>
|
||||||
right x*image_width/image_height
|
right x*image_width/image_height
|
||||||
angle 48
|
angle 54
|
||||||
}
|
}
|
||||||
|
4
RandomStuff/README.md
Normal file
4
RandomStuff/README.md
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
# Random Stuff
|
||||||
|
|
||||||
|
Warning, non-sense inside !
|
||||||
|
|
0
SoundBrotching/Makefile
Normal file
0
SoundBrotching/Makefile
Normal file
4
SoundBrotching/README.md
Normal file
4
SoundBrotching/README.md
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
# SoundBrotching
|
||||||
|
|
||||||
|
Stay tuned, film at 11.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user