cramicule is comming !

This commit is contained in:
tTh
2026-06-25 10:09:03 +02:00
parent de43a1810c
commit d7da858380
21 changed files with 66 additions and 48 deletions

View File

@@ -82,5 +82,7 @@ par exemple le barycentre des bloubs. Et c'est très facile
- Réfléchir à une politique de vieillissement des bloubs - Réfléchir à une politique de vieillissement des bloubs
- le `merge` de deux bloubs est-il un acte politique ? - le `merge` de deux bloubs est-il un acte politique ?
.

View File

@@ -84,7 +84,7 @@ module bloubspace
blb%py = coefxyz * (rand() - 0.50) blb%py = coefxyz * (rand() - 0.50)
blb%pz = coefxyz * (rand() - 0.50) blb%pz = coefxyz * (rand() - 0.50)
blb%vx = (rand() / 9.000) blb%vx = (rand() / 6.000)
if (blb%px .LT. 0.0) blb%vx = -blb%vx if (blb%px .LT. 0.0) blb%vx = -blb%vx
blb%vy = -0.10 + (rand() / 11.000) blb%vy = -0.10 + (rand() / 11.000)

View File

@@ -42,4 +42,4 @@ program genbloubs
close(unit=idu) close(unit=idu)
end program end program

View File

@@ -54,7 +54,7 @@ program movebloubs
do do
read (unit=inu, iostat=errcode) bloub read (unit=inu, iostat=errcode) bloub
if (0 .ne. errcode) then if (0 .ne. errcode) then
! may be we got an EOF ? ! may be we got an EOF ? XXX
exit exit
endif endif
@@ -97,16 +97,18 @@ program movebloubs
! ok, we have read all the bloubs from the input file ! ok, we have read all the bloubs from the input file
! insert some fancy conditional here ! insert some fancy conditional here for adding new
if (compteur .LT. 50) then ! bloubs to the bloubiverse
call add_more_bloubs(outu, 5, 0.046) if (compteur .LT. 180) then
write (0, *) '... rearmement demographique ...'
call add_more_bloubs(outu, 19, 0.046)
endif endif
rnd = rand() rnd = rand()
! write(0, *) 'rnd= ', rnd ! write(0, *) 'rnd= ', rnd
if (rnd .LT. 0.18) then if (rnd .LT. 0.18) then
write (0, *) '... random of life ...' write (0, *) '... the random of life ...'
call add_more_bloubs(outu, 5, 0.056) call add_more_bloubs(outu, 15, 0.056)
endif endif
close(inu) ; close(outu) close(inu) ; close(outu)

View File

@@ -32,7 +32,7 @@ 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 parametrizable # --> this function need to be parametrizable
# #
./genbloubs ${BLBS_IN} 3333 ./genbloubs ${BLBS_IN} 333
for idx in $(seq 0 $((NBIMG-1)) ) for idx in $(seq 0 $((NBIMG-1)) )
do do
@@ -54,7 +54,7 @@ do
fi fi
td=$(date -u +'%F %R' | tr '01' 'ol') td=$(date -u +'%F %R' | tr '01' 'ol')
hi=$(printf "#%04d" $idx | tr '01' 'ol') hi=$(printf "\$%03x" $idx | tr '01' 'ol')
count=$(tail -1 "WS/log.nb_bloubs" | tr '01' 'ol') count=$(tail -1 "WS/log.nb_bloubs" | tr '01' 'ol')
PNG=$(printf "%s/%05d.png" ${DDIR} $idx) PNG=$(printf "%s/%05d.png" ${DDIR} $idx)
@@ -64,7 +64,7 @@ do
-pointsize 28 \ -pointsize 28 \
-fill "$TXTCOLOR" \ -fill "$TXTCOLOR" \
-gravity south-east \ -gravity south-east \
-annotate +25+5 "$td" \ -annotate +25+5 "$hi" \
-gravity south-west \ -gravity south-west \
-annotate +25+5 "$count" \ -annotate +25+5 "$count" \
$PNG $PNG
@@ -76,7 +76,7 @@ do
# mv ${BLBS_OUT} ${BLBS_IN} # mv ${BLBS_OUT} ${BLBS_IN}
echo "### run done" echo "### run done"
sleep 5 sleep 15
done done

View File

@@ -13,6 +13,10 @@ global_settings {
#declare NormClock = clock / NbFrames; #declare NormClock = clock / NbFrames;
#macro Cos_010( X )
(0.5-0.5*cos(2*3.141592654*X))
#end
// ---------------------------------------------------------- // ----------------------------------------------------------
#include "WS/bloubs.inc" #include "WS/bloubs.inc"
@@ -35,7 +39,7 @@ union {
plane { <0, 1, 0>, 27 } plane { <0, 1, 0>, 27 }
plane { <0, 0, 1>, 69 } plane { <0, 0, 1>, 69 }
texture { texture {
pigment { color srgb <0.35, 0.44, 0.43> } pigment { color srgb <0.48, 0.54, 0.52> }
finish { phong 0.18 ambient 0.25 reflection 0.35 } finish { phong 0.18 ambient 0.25 reflection 0.35 }
} }
} }
@@ -162,9 +166,10 @@ union {
light_source { < 19, 12+NormClock, -17> color Gray80 } light_source { < 19, 12+NormClock, -17> color Gray80 }
light_source { <-14, 10-NormClock, -29> color Gray80 } light_source { <-14, 10-NormClock, -29> color Gray80 }
#declare XCAM = 10 - ( 20 * NormClock); #declare XCAM = 20 - ( 40 * NormClock);
#declare YCAM = -1.1 + (2.26 * NormClock); #declare YCAM = -1.1 + (2.26 * NormClock);
#declare ZCAM = -23.00; #declare ZCAM = -23.00;
#declare ACAM = 55 - (12*Cos_010(NormClock));
#declare XLAT = 0; #declare XLAT = 0;
#declare YLAT = 0; #declare YLAT = 0;

View File

@@ -8,6 +8,7 @@
BEGIN { BEGIN {
count = 0 count = 0
bx = by = bz = 0.0 bx = by = bz = 0.0
print "// --------------------------------"
print "// GENERATED FILE, DON'T TOUCH IT !" print "// GENERATED FILE, DON'T TOUCH IT !"
print "// --------------------------------" print "// --------------------------------"
print print
@@ -21,19 +22,21 @@ BEGIN {
color = "Cyan" color = "Cyan"
if (merged) { if (merged) {
if (age > 150) color = "Orange" if (age > 150) color = "OrangeRed"
else color = "Yellow" else color = "GreenYellow"
} }
else { else {
if (age > 150) color = "DarkGreen" if (age > 150) color = "DarkGreen"
else color = "Aquamarine" else color = "Aquamarine"
} }
if (age < 18) color = "Gray40" if (age < 18) color = "Gray40"
if (age < 9) color = "Blue" if (age < 9) color = "LimeGreen"
# calcul barycentre
bx += $1 bx += $1
by += $2 by += $2
bz += $3 bz += $3
pigment = "pigment { color " color " }" pigment = "pigment { color " color " }"
printf "\tsphere { <%f, %f, %f>, %f \n\t\t%s }\n", \ printf "\tsphere { <%f, %f, %f>, %f \n\t\t%s }\n", \
$1, $2, $3, $4, pigment $1, $2, $3, $4, pigment

View File

@@ -2,7 +2,7 @@
all: essai voxelize evolvopick pickover \ all: essai voxelize evolvopick pickover \
mkjulia mklorentz mkmandel mkjulia mklorentz mkmandel
GFOPT = -Wall -Wextra -time -g -Imods/ -I../Modules GFOPT = -Wall -Wextra -Imods/ -I../Modules
# --------------------------------------------- # ---------------------------------------------
# the module 'spitpgm' is now in $PROJECT/Modules # the module 'spitpgm' is now in $PROJECT/Modules

View File

@@ -1,4 +1,4 @@
POVOPT=" -d +q9 +a +W1920 +H1080 -v +WT4" POVOPT=" -d +q9 +a +W800 +H600 -v +WT2"

View File

@@ -25,15 +25,15 @@ echo "file type :" $filetype
# #
case $filetype in case $filetype in
PNG) extension=".png" ;; PNG) extension=".png" ;;
Netpbm) extension=".pgm" ;; Netpbm) extension=".pnm" ;;
*) extension=".binary" ;; *) extension=".binary" ;;
esac esac
echo "extension :" $extension echo "extension :" $extension
TITLE='---{ voxelisation experimentale }---' TITLE='---{ fortranerie experimentale }---'
ffmpeg -nostdin \ ffmpeg -nostdin \
-loglevel warning \ -loglevel warning \
-y -r 30 -f image2 -i $SDIR/%05d.png \ -y -r 30 -f image2 -i $SDIR/%05d$extension \
-metadata artist='--{ tTh des Bourtoulots }--' \ -metadata artist='--{ tTh des Bourtoulots }--' \
-metadata title="${TITLE}" \ -metadata title="${TITLE}" \
-preset veryslow \ -preset veryslow \

View File

@@ -93,9 +93,9 @@ subroutine julia_colormapped(pic, cx, cy, mag, maxiter)
endif endif
end do end do
if (over_iter) then if (over_iter) then
pic(ix, iy)%r = mod(int(modulus2(Z)*2000.0), 255) pic(ix, iy)%r = mod(int(modulus2(Z)*1337.0), 255)
pic(ix, iy)%g = mod(abs(int(real(Z) *11.0)), 255) pic(ix, iy)%g = mod(abs(int(real(Z) *17.0)), 255)
pic(ix, iy)%b = mod(abs(int(aimag(Z)*11.0)), 255) pic(ix, iy)%b = mod(abs(int(aimag(Z)*17.0)), 255)
print *, ix, iy, Z, modulus2(Z) print *, ix, iy, Z, modulus2(Z)
over = over + 1 over = over + 1
else else

View File

@@ -42,10 +42,10 @@ subroutine mandelbrot_one(pic, start)
! enter megaloop ! enter megaloop
! !
do iy = 1, height do iy = 1, height
fy = (float(iy) / float(height/3)) - 1.5 fy = (float(iy) / float(height/2)) - 1.0
!! print *, "line ", iy, fy !! print *, "line ", iy, fy
do ix = 1, width do ix = 1, width
fx = (float(ix) / float(width/3)) - 2.0 fx = (float(ix) / float(width/2)) - 1.4
!------------------------------------- !-------------------------------------
! working on the current pixel ! working on the current pixel
za = start za = start

View File

@@ -45,13 +45,13 @@ do
-font Courier-Bold \ -font Courier-Bold \
-pointsize 20 \ -pointsize 20 \
-fill Yellow \ -fill Yellow \
-annotate +15+34 $tcx \ -annotate +18+34 $tcx \
-annotate +15+58 $tcy \ -annotate +18+58 $tcy \
-gravity South-East \ -gravity South \
-font Courier \ -font Courier \
-pointsize 14 \ -pointsize 14 \
-fill Yellow \ -fill Yellow \
-annotate +10+6 "Konrad+tTh 2024" \ -annotate +0+9 "Konrad+tTh 2026" \
$img $img
done done

View File

@@ -23,7 +23,7 @@ program mkmandel
write(0, *) "-------- making some mandelbrot -------" write(0, *) "-------- making some mandelbrot -------"
allocate(pic(1920, 1080)) allocate(pic(1024, 780))
do angle = 0, 2000 do angle = 0, 2000
@@ -35,6 +35,7 @@ program mkmandel
! filename = trim(filename) ! filename = trim(filename)
write(0,*) "passe ", angle, radangle, trim(filename) write(0,*) "passe ", angle, radangle, trim(filename)
! compute the 'perturbation'
stx = radius * (sin(radangle*4.07) + 0.2131*cos(radangle*11.36)) stx = radius * (sin(radangle*4.07) + 0.2131*cos(radangle*11.36))
sty = radius * (sin(radangle*6.21) + 0.2725*cos(radangle*10.99)) sty = radius * (sin(radangle*6.21) + 0.2725*cos(radangle*10.99))

View File

@@ -31,11 +31,11 @@ do
if [ $? -ne 0 ] ; then if [ $? -ne 0 ] ; then
echo "ERROR ERROR ERROR ERROR ERROR ERROR" echo "ERROR ERROR ERROR ERROR ERROR ERROR"
tail -15 WS/toto.err tail -15 WS/toto.err
sleep 20 sleep 200
#exit 1 #exit 1
fi fi
titre='Voxelisation - tTh - Avril 2022' titre='Voxelisation - tTh - Juin 2026'
numbers=$(tail -1 WS/camvox.log | \ numbers=$(tail -1 WS/camvox.log | \
awk '{printf " K=%5d : %6.3f %6.3f %6.3f", \ awk '{printf " K=%5d : %6.3f %6.3f %6.3f", \
$1, $2, $3, $4}') $1, $2, $3, $4}')
@@ -45,11 +45,11 @@ do
convert ${TMPNG} \ convert ${TMPNG} \
-fill Orange \ -fill Orange \
-kerning 2 \ -kerning 2 \
-pointsize 32 \
-font AvantGarde-Book \ -font AvantGarde-Book \
-gravity South-West \ -gravity South-West \
-pointsize 20 \
-annotate +20+45 "$titre" \ -annotate +20+45 "$titre" \
-pointsize 24 \ -pointsize 14 \
-annotate +20+10 "$numbers" \ -annotate +20+10 "$numbers" \
\ \
$dst $dst
@@ -62,3 +62,4 @@ do
done done
./encode.sh frames/voxel/ voxel-3.mp4 ./encode.sh frames/voxel/ voxel-3.mp4

View File

@@ -1,4 +1,4 @@
# Modules # Modules fraktallistes
Premier point : trouver les bonnes options de gfortran pour Premier point : trouver les bonnes options de gfortran pour
@@ -9,5 +9,7 @@ avec un script de build bien robuste.
Troisième point : Faire la [documentation](documentation.md) Troisième point : Faire la [documentation](documentation.md)
Quatrilème point : Cultiver la techno-futilité. Quatrillème point : Cultiver la techno-futilité, une des choses
qui nous évitera de devenir dingues dans ce monde actuel en
décomposition.

View File

@@ -1,7 +1,7 @@
# La doc des modules (enfin !) # La doc des modules (enfin !)
Non, détrompez-vous, ce n'est pas vraiment une doc, parce que Non, détrompez-vous, ce n'est pas vraiment une doc, parce que
les codes des modules du fraktalisme est en perpétuelle évolution. les codes des modules du fraktalisme sont en perpétuelle évolution.
## Points 3d ## Points 3d

View File

@@ -7,7 +7,7 @@
#version 3.7; #version 3.7;
global_settings { global_settings {
ambient_light rgb <0.04, 0.04, 0.04> ambient_light rgb <0.06, 0.06, 0.06>
assumed_gamma 1.0 assumed_gamma 1.0
} }
//---------------------------------------------------------------- //----------------------------------------------------------------
@@ -16,8 +16,7 @@ global_settings {
#declare VOXEL = object #declare VOXEL = object
{ {
// sphere { 0, 1.18 } #local D = 3.85;
#local D = 2.11;
box { <-D, -D, -D>, <D, D, D> } box { <-D, -D, -D>, <D, D, D> }
} }
@@ -33,14 +32,13 @@ object {
*/ */
#local TRK = DIMC/2.0000000; #local TRK = DIMC/2.0000000;
translate <-TRK, -TRK, -TRK> translate <-TRK, -TRK, -TRK>
// rotate <clock*0.22, 0, clock*0.17>
} }
//---------------------------------------------------------------- //----------------------------------------------------------------
#declare TriAxe = object #declare TriAxe = object
{ {
#local Sz = 300; #local Sz = 300;
#local Ra = 0.20; #local Ra = 0.25;
union { union {
cylinder { <-Sz, 0, 0>, <Sz, 0, 0>, Ra pigment { color Red } } cylinder { <-Sz, 0, 0>, <Sz, 0, 0>, Ra pigment { color Red } }
cylinder { <0, -Sz, 0>, <0, Sz, 0>, Ra pigment { color Green } } cylinder { <0, -Sz, 0>, <0, Sz, 0>, Ra pigment { color Green } }
@@ -62,7 +60,7 @@ plane {
light_source { <-29, 45, -27> color Gray70 } light_source { <-29, 45, -27> color Gray70 }
light_source { <-52, 5, -48> color Yellow*0.45 } light_source { <-52, 5, -48> color Yellow*0.45 }
light_source { < 59, 45, 48> color Gray20 } light_source { < 59, 45, 48> color Gray20 }
light_source { < 59, -45, 48> color Gray20 } light_source { < 59, -45, 48> color Gray40 }
light_source { < 9, 59, 18> color Red*0.65 } light_source { < 9, 59, 18> color Red*0.65 }
light_source { < 8, -48, 3> color Green*0.75 } light_source { < 8, -48, 3> color Green*0.75 }
@@ -97,4 +95,3 @@ camera {
} }
//---------------------------------------------------------------- //----------------------------------------------------------------
//----------------------------------------------------------------

View File

@@ -9,7 +9,7 @@ program voxelize
implicit none implicit none
integer, parameter :: DIMC = 451 integer, parameter :: DIMC = 512
integer, dimension(:,:,:), allocatable :: cube integer, dimension(:,:,:), allocatable :: cube
type(t_point3d), dimension(:), allocatable :: points type(t_point3d), dimension(:), allocatable :: points
integer :: errcode, foo, argc integer :: errcode, foo, argc

View File

@@ -21,7 +21,7 @@ program animation
type(massbody) :: planets(NB_BODY) type(massbody) :: planets(NB_BODY)
call init_random() call init_random()
call create_some_planets(planets, 1664.3, IMG_WIDTH , IMG_HEIGHT) call create_some_planets(planets, 1.4e4, IMG_WIDTH , IMG_HEIGHT)
call print_barycentre_bodies(planets, 'begin') call print_barycentre_bodies(planets, 'begin')
call la_grande_boucle(0, 667, planets) call la_grande_boucle(0, 667, planets)

5
Modules/WS/README.md Normal file
View File

@@ -0,0 +1,5 @@
This is the *Work Space* for various temporary files.