ready for the next run ?

This commit is contained in:
Tonton Th
2026-03-14 14:38:41 +01:00
parent c37530d999
commit f3eabfb68b
14 changed files with 203 additions and 136 deletions

View File

@@ -82,7 +82,10 @@ merge {
#local K = 0.36;
box { <-L, 0, -K>, <L, Epp, K> }
cylinder { <0, Epp, -K*0.9>, <0, Epp, K*0.9>, K }
texture { T_WIP_dents rotate y*(rand(Rng1)*77) }
#local R = rand(Rng1);
#if (R < 0.63) texture { T_Crack3 } // XXX
#else texture { T_Grnt19a }
#end
}
#end // macro

View File

@@ -7,7 +7,7 @@
#include "globals.inc"
#declare NO_DYNAMIC = 1;
#declare NO_DYNAMIC = 0;
#include "all.inc"
// =======================================================

View File

@@ -24,7 +24,7 @@ union {
#declare RedB_0_X = 19; #declare RedB_0_Z = 29;
#declare RedB_1_X = -24; #declare RedB_1_Z = 8;
#declare RedB_1_X = -34; #declare RedB_1_Z = 11;
// XXX #declare RedB_2_X = 36; #declare RedB_2_Z = -21;
#declare RedB_2_X = 2; #declare RedB_2_Z = -40;
@@ -109,7 +109,7 @@ union {
#macro Les_GyroPhares ()
union {
#local E = SzSol * 0.471;
#local E = SzSol * 0.496;
#for (Idx, 0, 359, 60)
#local Ang = radians(Idx+9.33);
#local Dx = E * sin(Ang);
@@ -290,9 +290,9 @@ union {
object { Chose () translate < 20, 0, -36> }
/* a l'exterieur du 'circular' */
#for (foo, 0, 359, 18)
#local CK = radians(foo + (9*rand(Rng1)));
#local DX = 76 * sin(CK);
#local DZ = 74 * cos(CK);
#local CK = radians(foo + (8*rand(Rng1)));
#local DX = 71 * sin(CK);
#local DZ = 67 * cos(CK);
object { Chose () translate < DX, 0, DZ> } // XXX
#end
}
@@ -345,7 +345,7 @@ sky_sphere {
[ 0.9 color rgb <.5, .5, .47> ]
[ 1.0 color Gray20 ]
}
turbulence 3.14159 + 0.84 * Cos_010(NormClock)
turbulence 2.222 + 0.84 * Cos_010(NormClock)
scale 1.600
// translate -1
}
@@ -382,10 +382,10 @@ union {
object { HorlogeDouble rotate y*(104*NormClock)
translate < 8, 0, -30> }
object { Les_Choses }
object { Les_Arches (1.9) rotate y*132 translate <-34, 0, -26> }
object { Les_Arches (1.9) rotate y*112 translate <-34, 0, -26> }
// XXX object { Les_Cahutes () rotate y*17 translate <2, 0, -40> }
object { Les_Cahutes () rotate y*17 translate <37, 0, -20> }
object { Les_Cahutes () rotate y*17 translate <39, 0, -20> }
/* --------- les trucs dans le Y négatif */
// object { Trois_Arches (1.4) scale 2.4 translate <0, 0, -131> }
@@ -400,7 +400,6 @@ union {
#end // for
/* --------- les trucs dans le Y positif */
// object { OpenBox(1.6, 0.11) translate <-3, 3.58, 112> }
object { Blob_Boxed scale 4 translate <-3, 3.58, 112> }
object { Blob_Boxed scale 4 rotate y*45 translate <3, 6.7, 161> }

View File

@@ -63,5 +63,5 @@ camera {
location <CamX, CamY, CamZ>
look_at <0.0, LatY, 0>
right <image_width/image_height, 0, 0>
angle 54 - (31 * NormClock)
angle 54 - (35 * NormClock)
}

256
essai.pov
View File

@@ -16,27 +16,58 @@
-* __________________________
*/
// =======================================================
// nouveau du 25 février 2026
#macro Un_Autre_Cube (Ratio)
difference {
#local D = 1.000000;
box { <-D, -D, -D>, <D, D, D> }
#local V = Ratio * D;
#local M = D * 1.1;
box { <-M, -V, -V>, <M, V, V> }
box { <-V, -M, -V>, <V, M, V> }
box { <-V, -V, -M>, <V, V, M> }
texture { Flashy scale 4 }
}
#end
// =======================================================
// nouveau du 10 février 2026
//
#macro Anemone_A (E, H)
union {
#for (foo, 0, 5)
#local A = radians(foo*60);
#local DX = E * sin(A);
#local DZ = E * cos(A);
cone { y*(H/8), 0.20, <DX, H, DZ>, 0.001
#local A = (NormClock*3) + (0.5*radians(foo*60));
#local DX = (E+rand(Rng1)) * sin(A);
#local DZ = (E+rand(Rng1)) * cos(A);
cone {
y*(H/(5+rand(Rng1))), 0.01, <DX, H, DZ>, 0.001
#local Rv = 0.7 + (0.2*rand(Rng1));
#local Gv = 0.6 + (0.2*rand(Rng1));
#local Bv = 0.6 + (0.3*rand(Rng1));
#local Gv = 0.6 + (0.3*rand(Rng1));
#local Bv = 0.6 + (0.4*rand(Rng1));
texture {
pigment { rgb <Rv, Gv, Bv> }
finish { phong 0.51 reflection 0.05 }
pigment { rgb <Rv, Gv, Bv> }
normal { dents 6.66 scale 0.03+(0.12*rand(Rng1)) }
finish { phong 0.51 reflection 0.08 }
}
}
sphere { 0, 0.45 texture { T_WIP_color } }
sphere { 0, 0.45 scale <1, 0.717, 1> texture { T_WIP_color } }
#end // for
}
#end // macro
#declare Des_Anemones = object
{
union {
object { Anemone_A (3.00-NormClock, 1.50+NormClock)
translate < 4, 0, 0> }
object { Anemone_A (2.40-NormClock, 2.50+NormClock)
translate <-4, 0, 0> }
object { Anemone_A (1.40+NormClock, 1.50*NormClock)
translate < 0, 0, -4> }
object { Anemone_A (1.40+NormClock, 1.50-NormClock)
translate < 0, 0, 4> }
}
}
// =======================================================
/*
* new Thu Dec 18 01:14:19 AM UTC 2025
@@ -45,11 +76,10 @@ union {
*/
#macro Le_ConeStack ()
#ifdef (DEBUG_LEVEL)
#debug "Cone Stack : DEBUG_LEVEL activated\n"
#fopen Log "WS/log.essai" write
#end // debug level
#ifdef (DEBUG_LEVEL)
#debug "Cone Stack : DEBUG_LEVEL activated\n"
#fopen Log "WS/log.essai" write
#end // debug level
union {
#local Hcs = 0.550;
#local Rco = R_basecone * 3.333;
@@ -58,11 +88,9 @@ union {
#local Dy = Foo * (Hcs + 0.0333);
#local Dz = 0.385 * cos(Foo+NormClock);
#local DV = <Dx, Dy, Dz>;
#ifdef (DEBUG_LEVEL)
#write (Log, Foo, " ", DV, "\n")
#end
#ifdef (DEBUG_LEVEL)
#write (Log, Foo, " ", DV, "\n")
#end
union {
cone { 0, Rco, <0, Hcs, 0>, 0.001
#if (rand(Rng1) < 0.50) texture { Y_Texture }
@@ -78,30 +106,54 @@ union {
}
#end // for Foo
}
#ifdef (DEBUG_LEVEL)
#fclose Log
#end // debug level
#ifdef (DEBUG_LEVEL)
#fclose Log
#end // debug level
#end // macro
// =======================================================
/* nouveau du 20 octobre 2025
* Un semblant de wagonnet qui va tourner sur le
* rail circulaire
*/
#macro HexoFlash_body (Ra, He)
merge {
cylinder { 0, y*He, Ra }
sphere { y*He, Ra }
/* XXX
* faire la place pour la lampe
*/
#declare Les_Wagonnets = object
{
#local L = 2.4;
union {
object { Wagonnet_0(L) translate <0, 1, 1.9> }
object { Wagonnet_0(L+1) translate <0, 3+NormClock, 0> }
object { Wagonnet_0(L) translate <0, 1, -1.8> }
texture { LeGris }
}
}
#end // macro
#macro HexoFlash_light (Ra, Val)
difference {
sphere { 0, Ra*1.46 }
#local WB = 0.08;
#local H1 = -0.10;
#local H2 = 0.10;
union {
box { <-1, H1, -WB>, <1, H2, WB> }
box { <-WB, H1, -1>, <WB, H2, 1> }
}
texture {
#if (rand(Rng1) < 0.70) pigment { color Orange }
#else pigment { color Orange }
#end
finish { emission 0.8 }
}
scale <1, 1.2, 1>
}
#end // macro
#macro HexoFlash (Ra, He)
union {
#local Ha = 2+rand(Rng1);
#local Hb = Ha * 0.8;
object { HexoFlash_body (Ra, Ha) }
object { HexoFlash_light (Ra, Ha)
translate y*Hb }
}
#end // macro
// =======================================================
/*
@@ -122,8 +174,24 @@ merge {
}
}
}
// -------------------------------------------------------
// ------------------------------------
#declare Texture_du_Vase = texture
{
pigment {
gradient y
color_map {
[ 0.000 color Green ]
[ 0.333 color Gray ]
[ 0.500 color Orange ]
[ 0.666 color Gray50 ]
[ 1.000 color Green ]
}
turbulence 1.24 // piturb :)
scale <1, 0.25, 1>
rotate <10, 0, 4>
}
finish { phong 0.25 }
}
// -------------------------------------------------------
// the place to try new textures
@@ -131,12 +199,12 @@ merge {
{
#local TX = 2.55;
#local TZ = 2.95;
#local Kro = 32 + (NormClock * 37);
#local Kro = 32 + (NormClock * 77);
union {
object { Obj_BasicTexture texture { R_Texture }
rotate y * (rand(Rng1)*Kro)
translate <TX, 0, -TZ> }
object { Obj_BasicTexture texture { G_Texture }
object { Obj_BasicTexture texture { Texture_du_Vase }
rotate y * (rand(Rng1)*Kro)
translate <TX, 0, 0> }
object { Obj_BasicTexture texture { B_Texture }
@@ -160,39 +228,45 @@ union {
// =======================================================
/* Les choses, c'est l'espèce de vase avec des tiges
qui bougent, je devrais trouver un nom plus parlant.
- - - - -
Mieux, on garde la chose mais on en dérive le vase
*/
// ------------------------------------
#macro Vase_le_corps_a ()
intersection {
box { <-5, -5, -5>, <5, 0, 5> }
difference {
sphere { 0, 0.34 }
sphere { 0, 0.30 }
scale <1, 1.64, 1>
scale <1, 1.60, 1>
}
#local R = rand(Rng1);
#if (R < 0.75)
texture { Texture_du_Vase rotate y*(clock*3) }
#else
texture { T_WIP_redwave scale 0.15 + 0.333*rand(Rng1)
rotate <75*rand(Rng1), 75*rand(Rng1), 75*rand(Rng1)>
}
#end
}
#end
// ------------------------------------
// des poignées sur le haut du vase
// XXX pas vraiment au point !
#macro Vase_le_corps_b ()
union {
#for (foo, 0, 359.999, 60)
#local Dx = 0.35 * sin(radians(foo));
#local Dz = 0.35 * cos(radians(foo));
torus { 0.09, 0.016
rotate z*30 rotate y*(foo-90)
#local Dx = 0.33 * sin(radians(foo));
#local Dz = 0.32 * cos(radians(foo));
torus { 0.025, 0.015 scale <1, 1.2, 4>
rotate z*42 rotate y*(foo-90)
translate <Dx, 0, Dz>
#local R = rand(Rng1);
#if (R < 0.50) texture { Y_Texture }
#else texture { M_Texture }
#end // end if
} // torus
#end // end for (foo
texture { G_Texture }
}
#end // end macro
@@ -202,6 +276,7 @@ union {
union {
object { Vase_le_corps_a () }
object { Vase_le_corps_b () }
// this 'translate' must be computed ?
translate y*0.95
}
#end
@@ -210,8 +285,10 @@ union {
#macro Vase_le_pied ()
union {
cylinder { 0, y*0.80, 0.07 texture { T_WIP_dents scale 0.2 } }
cylinder { 0, y*0.08, 0.20 texture { T_WIP_dents scale 0.4 } }
cylinder { 0, y*0.80, 0.08 }
cylinder { 0, y*0.08, 0.20 }
sphere { 0, 0.20 scale <1, 0.15, 1> translate y*0.08 }
texture { T_WIP_dents scale 0.15 }
}
#end
// ------------------------------------
@@ -229,24 +306,22 @@ union {
#local C2Z = (R_C + 0.051) * (sin(-CK2+rand(Rng1)) *
cos(CK*(rand(Rng1))));
#local Rt = 0.02+(0.02*Cos_010(NormClock))-0.03*rand(Rng1);
#local H = 0.38 + 0.55*rand(Rng1);
#local H = 0.38 + 0.65*rand(Rng1);
union {
cylinder { 0, <C2X, H, C2Z>, Rt }
sphere { <C2X, H, C2Z>, Rt }
#local R = rand(Rng1);
#if (R < 0.25) texture { tPlasticOrange }
#elseif (R < 0.50) texture { tPlasticBlue }
#elseif (R < 0.75) texture { tPlasticPrune }
#elseif (R < 0.65) texture { tPlasticPrune }
#else texture { tPlasticGreen }
#end // if
}
#end // for
translate y*0.87
}
// #debug "== Fin chose les tiges\n"
// #debug "== Fin Vase les tiges\n"
#end // macro
// ------------------------------------
// ------------------------------------
@@ -259,38 +334,38 @@ union {
#end // macro
// ------------------------------------
// =======================================================
#declare Des_Choses = object
{
union {
object { Vase () scale 2 translate < 2.2, 0, 2.32> }
object { Vase () scale 2 translate < 2.2, 0, 2.52> }
object { Vase () scale 1.4 translate <-2.9, 0, 3.91> }
object { Vase () scale 2 translate < 2.9, 0, -4.07> }
object { Chose () scale 2 translate < 2.9, 0, -4.07> }
object { Vase () translate <-4.5, 0, -4> }
object { Repere translate 0.15*y }
}
}
// =======================================================
// =======================================================
#declare GyroTrucs = object
{
union {
#for (I, 0, 359, 30)
#for (I, 0, 359, 20)
#declare E = 12 + (3*rand(Rng1));
#declare Dx = E * sin(radians(I));
#declare Dz = E * cos(radians(I));
#local R = rand(Rng1);
#if (R > 0.52)
#if (R > 0.82)
object { GyroPhare () translate <Dx, 0, Dz> }
#elseif (R > 0.36)
object { Colonne_A (3.8)
rotate y*(90*rand(Rng1))
#elseif (R > 0.65)
object { Obj_BasicTexture
texture { T_WIP_redwave }
scale 0.75
rotate y * (5*(.5-rand(Rng1))*clock)
translate <Dx, 0, Dz> }
#else
object { Colonne_A (2.8)
rotate y*(90*rand(Rng1))
object { HexoFlash (0.16, 2.01)
translate <Dx, 0, Dz> }
#end
#end // for
@@ -305,9 +380,9 @@ object { GyroTrucs }
{
union {
object { Portique_A () translate z*6.5 }
object { Portique_A () scale 2 translate z*2 }
object { Portique_A () scale 1.8 }
object { Portique_A () scale 2 translate -z*3 }
object { Portique_A () scale 1.6 translate z*2 }
object { Portique_A () scale 1.2 }
object { Portique_A () scale 1.4 translate -z*3 }
object { Portique_A () rotate y*9 translate -z*6.5 }
// object { Fleche translate y }
}
@@ -317,8 +392,8 @@ union {
#debug " !!! ACTION !!!\n"
#local Rv = 0.5 + (0.1*sin(clock*0.113));
#local Gv = 0.11;
#local Bv = 0.2 * abs(sin(clock*0.014));
#local Gv = 0.21;
#local Bv = 0.25 * abs(sin(clock*0.014));
light_source {
<-32, 40, -7>
colour <Rv, Gv, Bv>
@@ -328,7 +403,7 @@ union {
// ------------------------------------------------------ ##
#declare Selector = int(clock/57);
#declare Selector = int(clock/90);
#debug concat("Selector = ", str(Selector, 6, 0), "\n")
#declare AngleCam = 27 - 3*Cos_01(NormClock);
@@ -339,39 +414,20 @@ union {
#local AngleCam = 17;
#break
#case (1)
object { Architecture rotate -y*(clock*0.666) }
#local AngleCam = 31.0;
object { Des_Anemones }
object { Repere translate y*0.08 }
#break
#case (2)
object { HoleBorder_B (2.222) }
object { ProtoTextures }
#break
#case (3)
object { HorlogeDouble scale 2 rotate -y*(6*clock) }
object { Repere translate y*1 }
// object { Repere translate y*1 }
#break
#case (4)
object { Blob_Boxed
scale 4.000
rotate <7, 0, 12> translate 3.7*y
}
#break
#case (5)
object { Anemone_A (3.10-NormClock, 1.50+NormClock)
translate < 4, 0, 0> }
object { Anemone_A (2.40-NormClock, 2.50+NormClock)
translate <-4, 0, 0> }
object { Anemone_A (1.40+NormClock, 1.50*NormClock)
translate < 0, 0, -4> }
object { Anemone_A (1.40+NormClock, 1.50-NormClock)
translate < 0, 0, 4> }
object { Repere }
#break
#case (6)
object { HexaStar scale 3 rotate y*(clock*1.5) translate y*3.5 }
#break
#case (7)
#local Pos = <0.5-NormClock, 0, 0>;
object { ProtoTextures rotate -y*(55*Cos_01(NormClock)) }
object { Un_Autre_Cube (0.666) rotate y*42 translate <3, 1.8, 0> }
object { Un_Autre_Cube (0.888) translate <0, 1.8, 2> }
#break
#end // switch selector

View File

@@ -172,7 +172,7 @@ union {
object { Horloge2 translate -z*EC }
}
scale 0.42
translate y*0.666
translate y*0.50
}
// =======================================================
/*
@@ -203,7 +203,7 @@ prism {
#macro HexaPole_tubes ()
#local R = 0.033;
#local E = 0.49;
#local H = H_cone*0.705;
#local H = H_cone*0.666;
union {
#for (A, 0, 359, 60)
#local Xp = E * cos(radians(A));
@@ -283,7 +283,7 @@ union {
{
union {
object { OpenBox(0.5, 0.01) }
object { HexaBlob rotate <clock*0.9, clock*0.7, clock*0.5> }
object { HexaBlob rotate <clock*1.9, clock*2.7, clock*1.5> }
}
}
// =======================================================

View File

@@ -11,7 +11,7 @@ global_settings {
#include "stones.inc"
#include "woods.inc"
#declare Rng1 = seed(1221);
#declare Rng1 = seed(314);
#declare foo = rand(Rng1);
#declare Rng2 = seed(now*24*60*60);
#declare bar = rand(Rng2);
@@ -77,7 +77,7 @@ finish { phong 0.70 reflection 0.05 }
#declare T_Planete_B = texture
{
pigment { rgb <0.42, 0.50, 0.70> }
normal { dents 0.14 scale 0.5}
normal { dents 0.18 scale 0.5}
finish { metallic 0.50 reflection 0.33 }
}
/* ------------------------------------------------------------ */

View File

@@ -48,7 +48,7 @@ text {
ttf "datas/ComicMono-Bold.ttf" Texte 0.1, 0
// texture { T_WIP_alert }
texture { T_WIP_bluewave rotate <clock, clock, clock>
scale 0.79 }
scale 0.59 }
}
}
#declare Cabane_Compteur = object

View File

@@ -17,7 +17,7 @@ object { Le_Decor }
// object { Repere translate <10, 1, 10> }
#declare LOC = <-3.4 - NormClock, 3.35, 31.9-NormClock>;
#declare LOC = <-3.4 - NormClock, 3.85, 31.9-NormClock>;
#declare LAT = <P_hexawood.x, 0.95+(NormClock*0.11), P_hexawood.z>;

View File

@@ -20,6 +20,7 @@ object { Le_Decor }
#declare CamX = 1.72;
#declare CamY = 7 + (4*Cos_01(NormClock));
#declare CamZ = -2.5;
#declare LatX = 20 * cos(CK*1.08);
#declare LatY = 3.0 - sqrt(NormClock);
@@ -28,7 +29,7 @@ object { Le_Decor }
camera {
// orthographic
location <CamX, CamY, 0>
location <CamX, CamY, CamZ>
look_at <LatX, LatY, LatZ>
right <image_width/image_height, 0, 0>
angle 65 + (NormClock * 15)

View File

@@ -39,13 +39,13 @@ tools/plot-timing.sh $1
local NBRE=78
convert "WS/negatif.png" \
-gravity north \
-gravity center \
-font $FONTE \
-pointsize 108 \
-pointsize 118 \
-kerning 8 \
-fill $TEXTCOL \
-strokewidth 3 -stroke $STROKOL \
-annotate +0+330 "$1" \
-annotate +0+0 "$1" \
${INTER}
for foo in $(seq 0 $NBRE)

View File

@@ -40,17 +40,19 @@ do
fi
set -e
sqn=$(echo ${SEQNAME} | tr [a-z] [A-Z])
txt=$(printf "%s %03d" ${sqn} ${frame} | \
tr '01' 'ol')
txt=$(printf "%03d" ${frame} | tr '01' 'ol')
# echo $frame $img $txt
convert ${TMPIMG} \
-font Courier-Bold \
-pointsize 44 \
-kerning 3 \
-fill ${TEXTCOL} \
-strokewidth 2 -stroke $STROKOL \
-gravity south \
-annotate +0+5 "$txt" \
-pointsize 48 \
-kerning 4 \
-strokewidth 2 \
-fill ${TEXTCOL} -stroke ${STROKOL} \
-gravity south-west \
-annotate +25+5 "$txt" \
-fill ${STROKOL} -stroke ${TEXTCOL} \
-gravity south-east \
-annotate +25+5 "$sqn" \
${img}
fin=$(date +%s)
echo ; sleep 1

View File

@@ -18,17 +18,23 @@ object { Le_Decor }
#declare CK = 0.8 - (NormClock * 0.71);
#if (NormClock < 0.5000)
#declare DX_cam = -6.9 * cos(CK);
#declare DY_cam = 1.0;
#declare DZ_cam = -5.4 * sin(CK);
#declare DY_lat = 2.10 + NormClock;
#else
#declare DX_cam = -6.9 * sin(CK);
#declare DZ_cam = -5.6 * cos(CK);
#declare DX_cam = -4.9 * sin(CK);
#declare DY_cam = 9.7;
#declare DZ_cam = -2.6 * cos(CK);
#declare DY_lat = -4;
#end
#declare Loc_cam = <DX_cam, 1.0, DZ_cam> + Pos_RedB_2;
#declare Loc_cam = <DX_cam, DY_cam, DZ_cam> + Pos_RedB_2;
camera {
location Loc_cam
look_at Pos_RedB_2 + <0, 2.05+NormClock, 0>
look_at Pos_RedB_2 + <0, DY_lat, 0>
right <image_width/image_height, 0, 0>
// focal_point <0.37, 0.0, 0>

View File

@@ -264,7 +264,7 @@ difference {
#local R = rand(Rng1);
// #debug concat("Random = ", str(R, 6, 4), "\n")
#if ( R < 0.23 ) texture { T_Planete_A }
#if ( R < 0.23 ) texture { T_Planete_B }
#elseif ( R < 0.56 ) texture { T_Beton_1 }
#else texture { T_Beton_2 }
#end // if