Compare commits

..

4 Commits

Author SHA1 Message Date
Tonton Th
2eea147f82 another bunch of little changes 2026-02-20 12:54:57 +01:00
Tonton Th
4dca1e7d79 geometry tuning 2026-02-20 12:52:50 +01:00
Tonton Th
0207fc942b add the "Vase" concept 2026-02-20 12:51:23 +01:00
Tonton Th
59c2b266ef small changes 2026-02-19 13:04:02 +01:00
15 changed files with 195 additions and 54 deletions

View File

@@ -15,11 +15,11 @@ object { Le_Decor }
// ======================================================= // =======================================================
#declare LocX = 0; #declare LocX = -0.5 + Cos_010(NormClock);
#declare LocY = 3.6 - NormClock; #declare LocY = 2.6 - NormClock;
#declare LocZ = -220 + (120 * NormClock); #declare LocZ = -200 + (118 * NormClock);
#declare LocCam = <LocX, LocY, LocZ>; #declare LocCam = <LocX, LocY, LocZ>;
#declare LatCam = <0, 1.2, 0>; #declare LatCam = <0, 0.92+NormClock, 0>;
// object { Repere scale 5 translate Interpolate(LocCam, LatCam, 0.50) } // object { Repere scale 5 translate Interpolate(LocCam, LatCam, 0.50) }

View File

@@ -21,11 +21,11 @@ object { Le_Decor }
#declare CamX = R_around * cos(CK); #declare CamX = R_around * cos(CK);
#declare CamY = 15.777 + (4*Cos_010(NormClock)); #declare CamY = 15.777 + (4*Cos_010(NormClock));
#declare CamZ = R_around * 1.5 * sin(CK); #declare CamZ = R_around * 1.6 * sin(CK);
camera { camera {
location <CamX, CamY, CamZ> location <CamX, CamY, CamZ>
look_at <0, 2, 0> look_at <0, 0.5 + NormClock, 0>
right <image_width/image_height, 0, 0> right <image_width/image_height, 0, 0>
angle 44 angle 36
} }

View File

@@ -27,7 +27,7 @@ union {
#declare RedB_1_X = -24; #declare RedB_1_Z = 8; #declare RedB_1_X = -24; #declare RedB_1_Z = 8;
// XXX #declare RedB_2_X = 36; #declare RedB_2_Z = -21; // XXX #declare RedB_2_X = 36; #declare RedB_2_Z = -21;
#declare RedB_2_X = 2; #declare RedB_2_Z = -40; #declare RedB_2_X = 2; #declare RedB_2_Z = -40;
#declare RedB_3_X = 42; #declare RedB_3_Z = -5; #declare RedB_3_X = 42; #declare RedB_3_Z = -5;
@@ -379,7 +379,7 @@ union {
object { QuadriLight } object { QuadriLight }
object { Les_GyroPhares () } object { Les_GyroPhares () }
object { Les_HexaPoles } object { Les_HexaPoles }
object { HorlogeDouble rotate y*(27*NormClock) object { HorlogeDouble rotate y*(104*NormClock)
translate < 8, 0, -30> } translate < 8, 0, -30> }
object { Les_Choses } object { Les_Choses }
object { Les_Arches (1.9) rotate y*132 translate <-34, 0, -26> } object { Les_Arches (1.9) rotate y*132 translate <-34, 0, -26> }

View File

@@ -18,7 +18,7 @@
#declare Kbox = (2.03*NormClock); #declare Kbox = (2.03*NormClock);
difference { difference {
object { HexaCone () rotate <3-(6*NormClock), 5, -3> } object { HexaCone () rotate <9-(11*NormClock), 6, -7> }
box { -1, 1 translate z*Kbox } box { -1, 1 translate z*Kbox }
translate y*TY + POS_Cutoff translate y*TY + POS_Cutoff
} }
@@ -29,7 +29,7 @@ difference {
// ======================================================= // =======================================================
light_source { light_source {
<-24, 0.4, -1> <-14, 0.4, -1>
colour Orange colour Orange
parallel parallel
point_at y*TY + POS_Cutoff point_at y*TY + POS_Cutoff
@@ -40,7 +40,7 @@ object { Le_Decor }
// ======================================================= // =======================================================
#local CamX = POS_Cutoff.x + 3.5 + (3.14*Cos_01(NormClock)); #local CamX = POS_Cutoff.x + 3.5 + (3.14*Cos_01(NormClock));
#local CamY = 2.1 + (1.11*sqrt(NormClock)); #local CamY = 2.01 + (1.14*sqrt(NormClock));
#local CamZ = POS_Cutoff.z + 4.30 - (1.02*NormClock); #local CamZ = POS_Cutoff.z + 4.30 - (1.02*NormClock);
camera { camera {

View File

@@ -11,7 +11,7 @@ object {
#local RD = 63; // rayon deplacement #local RD = 63; // rayon deplacement
#local Xp = RD * sin(CK); #local Xp = RD * sin(CK);
#local Zp = RD * cos(CK); #local Zp = RD * cos(CK);
#declare Loc_Patrouille = <Xp+10, 75+(11*NormClock), Zp>; #declare Loc_Patrouille = <Xp+10, 70+(11*NormClock), Zp>;
object { Patrouille } object { Patrouille }
rotate y*degrees(CK) rotate y*degrees(CK)
@@ -36,10 +36,12 @@ object {
/// ======================================================= /// =======================================================
/* des trucs autour des trous du sol. */ /* des trucs autour des trous du sol. */
// object { Les_HexaBalls rotate y*clock translate UnderHoles[2] } // Les_Machins --> 'gadgets.inc'
object { Les_Machins rotate -y*clock translate UnderHoles[2] } object { Les_Machins rotate -y*clock translate UnderHoles[2] }
object { Les_Machins rotate y*clock translate UnderHoles[5] } object { Les_Machins rotate y*clock translate UnderHoles[5] }
// object { Les_HexaBalls rotate y*clock translate UnderHoles[2] }
/// ======================================================= /// =======================================================
/* /*
* deux hexabenz sur une base exterieure * deux hexabenz sur une base exterieure
@@ -48,11 +50,11 @@ object { Les_Machins rotate y*clock translate UnderHoles[5] }
{ {
#local K = 1.39; #local K = 1.39;
union { union {
object { HexaBenz () rotate y*90 translate <-K, 1.83, 0> } object { HexaBenz () rotate y*94 translate <-K, 1.86, 0> }
object { HexaBenz () translate < K, 1.66, 0> } object { HexaBenz () rotate -x*7 translate < K, 1.96, 0> }
} }
} }
object { BiBenz rotate -y*(clock*0.26) translate Pos_RedB_0 } object { BiBenz rotate -y*(clock*0.28) translate Pos_RedB_0 }
/* /*
* deux hexacones se tournent autour * deux hexacones se tournent autour

130
essai.pov
View File

@@ -159,15 +159,117 @@ union {
// ======================================================= // =======================================================
/* Les choses, c'est l'espèce de vase avec des tiges /* Les choses, c'est l'espèce de vase avec des tiges
qui bougent, je devrais trouver un nom plus parlant */ 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>
}
texture { T_WIP_redwave scale 0.15 + 0.333*rand(Rng1)
rotate <75*rand(Rng1), 75*rand(Rng1), 75*rand(Rng1)>
}
}
#end
// ------------------------------------
#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)
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
}
#end // end macro
// ------------------------------------
// ASSEMBLER LE CORPS
#macro Vase_le_corps ()
union {
object { Vase_le_corps_a () }
object { Vase_le_corps_b () }
translate y*0.95
}
#end
// ------------------------------------
// LE PIED
#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 } }
}
#end
// ------------------------------------
// LES TIGES
#macro Vase_les_tiges ()
union {
#local CK = NormClock * (7.876+rand(Rng1));
#for (Foo, 0, 9)
// tout cela est bien tortueux !
#local CK2 = CK + Foo;
#local C2X = (R_C + 0.051) * sin(CK2+rand(Rng1)) * sin(CK*3);
#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);
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 }
#else texture { tPlasticGreen }
#end // if
}
#end // for
translate y*0.87
}
// #debug "== Fin chose les tiges\n"
#end // macro
// ------------------------------------
// ------------------------------------
#macro Vase ()
union {
Vase_le_pied ()
Vase_le_corps ()
Vase_les_tiges ()
}
#end // macro
// ------------------------------------
// =======================================================
#declare Des_Choses = object #declare Des_Choses = object
{ {
union { union {
object { Chose () translate < 2.2, 0, 2.32> } object { Vase () scale 2 translate < 2.2, 0, 2.32> }
object { Chose () translate <-2.9, 0, 3.91> } object { Vase () scale 1.4 translate <-2.9, 0, 3.91> }
object { Chose () translate < 2.9, 0, -4.07> } object { Vase () scale 2 translate < 2.9, 0, -4.07> }
object { Chose () translate <-4.5, 0, -4> } object { Vase () translate <-4.5, 0, -4> }
object { Repere translate 0.05*y } object { Repere translate 0.15*y }
} }
} }
// ======================================================= // =======================================================
@@ -214,9 +316,12 @@ union {
#debug " !!! ACTION !!!\n" #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));
light_source { light_source {
<-19, 44, -7> <-32, 40, -7>
colour Gray40 colour <Rv, Gv, Bv>
parallel parallel
point_at 0 point_at 0
} }
@@ -231,13 +336,14 @@ union {
#switch (Selector) #switch (Selector)
#case (0) #case (0)
object { Des_Choses } object { Des_Choses }
#local AngleCam = 17;
#break #break
#case (1) #case (1)
object { Architecture rotate -y*(clock*0.666) } object { Architecture rotate -y*(clock*0.666) }
#local AngleCam = 31.0; #local AngleCam = 31.0;
#break #break
#case (2) #case (2)
object { HoleBorder_A (2.12) translate y } object { HoleBorder_B (2.222) }
#break #break
#case (3) #case (3)
object { HorlogeDouble scale 2 rotate -y*(6*clock) } object { HorlogeDouble scale 2 rotate -y*(6*clock) }
@@ -247,7 +353,7 @@ union {
object { Blob_Boxed object { Blob_Boxed
scale 4.000 scale 4.000
rotate <7, 0, 12> translate 3.7*y rotate <7, 0, 12> translate 3.7*y
rotate -y*(clock*2) } }
#break #break
#case (5) #case (5)
object { Anemone_A (3.10-NormClock, 1.50+NormClock) object { Anemone_A (3.10-NormClock, 1.50+NormClock)
@@ -261,7 +367,7 @@ union {
object { Repere } object { Repere }
#break #break
#case (6) #case (6)
object { HexaStar scale 3 rotate y*(clock*0.5) translate y*3 } object { HexaStar scale 3 rotate y*(clock*1.5) translate y*3.5 }
#break #break
#case (7) #case (7)
#local Pos = <0.5-NormClock, 0, 0>; #local Pos = <0.5-NormClock, 0, 0>;
@@ -289,7 +395,7 @@ plane {
camera { camera {
orthographic orthographic
location <CamX, CamY, CamZ> location <CamX, CamY, CamZ>
look_at <0, 1.6, 0> look_at <0, 1.5, 0>
right <image_width/image_height, 0, 0> right <image_width/image_height, 0, 0>
angle AngleCam angle AngleCam

View File

@@ -135,8 +135,11 @@ texture { T_WIP_bluewave scale 0.21 rotate <clock, clock/2, clock/3> }
} }
/* ======================================================= */ /* ======================================================= */
/*
* 18 février 2026, cette horloge mérite vraiment
* d'être refaite de fond en comble, parce que ce
* code est vraiment gruik.
*/
#declare Horloge = object #declare Horloge = object
{ {
@@ -152,7 +155,7 @@ scale 1.96
rotate 90*x rotate 90*x
translate <-4.5, 0.046, 0> translate <-4.5, 0.046, 0>
} }
// ======================================================= // ----------------------------------------------------------
// nouveau du 3 janvier 2026 // nouveau du 3 janvier 2026
#local Horloge2 = object #local Horloge2 = object
{ {
@@ -162,9 +165,9 @@ object { Horloge scale <1, 0.28, 1> rotate -x*90
#declare HorlogeDouble = object #declare HorlogeDouble = object
{ {
union { union {
box { <-3.20, 0.0, -0.07>, <3.20, 1.68, 0.07> box { <-3.10, 0.0, -0.06>, <3.10, 1.68, 0.06>
texture { LeGris } } texture { LeGris } }
#local EC = 0.12; #local EC = 0.18;
object { Horloge2 rotate y*180 translate z*EC } object { Horloge2 rotate y*180 translate z*EC }
object { Horloge2 translate -z*EC } object { Horloge2 translate -z*EC }
} }
@@ -274,12 +277,13 @@ union {
texture { Soft_Silver scale 6.50 } texture { Soft_Silver scale 6.50 }
} }
#end #end
// ------------------------------------------------------ ## // ----------------------------------------------------------- ##
/* XXX +++ make this a #macro +++ */
#declare Blob_Boxed = object #declare Blob_Boxed = object
{ {
union { union {
object { OpenBox(0.5, 0.01) } object { OpenBox(0.5, 0.01) }
object { HexaBlob } object { HexaBlob rotate <clock*0.9, clock*0.7, clock*0.5> }
} }
} }
// ======================================================= // =======================================================
@@ -289,7 +293,7 @@ union {
*/ */
#macro Bubble () #macro Bubble ()
sphere { sphere {
0, 0.070 0, 0.070 + 0.056*rand(Rng1)
#local R = rand(Rng1); #local R = rand(Rng1);
#if ( R < 0.25 ) texture { Ruby_Glass } #if ( R < 0.25 ) texture { Ruby_Glass }
#elseif ( R < 0.50 ) texture { Orange_Glass } #elseif ( R < 0.50 ) texture { Orange_Glass }
@@ -314,7 +318,7 @@ union {
#declare Les_Machins = object #declare Les_Machins = object
{ {
union { union {
#local Rk = 3.90 + NormClock; #local Rk = 3.60 + NormClock;
#for (foo, 0, 359, 45) #for (foo, 0, 359, 45)
#local Xpos = Rk * sin(radians(foo)); #local Xpos = Rk * sin(radians(foo));
#local Zpos = Rk * cos(radians(foo)); #local Zpos = Rk * cos(radians(foo));

View File

@@ -227,6 +227,24 @@ scale <3, 4, 3>
finish { phong 1 } finish { phong 1 }
} }
#declare T_WIP_redwave = texture
{
pigment {
wood
color_map {
[0.0 color Gray60 ]
[0.49 color Gray80 ]
[0.51 color Red ]
[1.0 color Red ]
}
turbulence 0.14
translate <NormClock*0.5, sqrt(NormClock*0.49),
NormClock*0.6>
scale <0.7, 0.3, 1>
}
finish { ambient 0.7 }
}
// le 10 fevrier 2026 ----------------- // le 10 fevrier 2026 -----------------
#declare T_WIP_dents = texture #declare T_WIP_dents = texture
{ {

View File

@@ -15,13 +15,15 @@ object { Le_Decor }
#declare Loc_cam = <0.63, 2, 2*NormClock> + (Pos_RedB_0 * 1.32); #declare Loc_cam = <0.63, 2, 2*NormClock> + (Pos_RedB_0 * 1.32);
#declare Lat_Y = 1.21 + 0.16*NormClock;
camera { camera {
location Loc_cam location Loc_cam
look_at Pos_RedB_0 + <0, 1.20, 0> look_at Pos_RedB_0 + <0, Lat_Y, 0>
right <image_width/image_height, 0, 0> right <image_width/image_height, 0, 0>
// focal_point <0.37, 0.0, 0> // focal_point <0.37, 0.0, 0>
// aperture 0.046 // aperture 0.046
// blur_samples 30 // blur_samples 30
angle 40 - 14 * Cos_01(NormClock) angle 40 - 15 * Cos_01(NormClock)
} }

View File

@@ -18,7 +18,7 @@ object { Le_Decor }
/* =============================================================== */ /* =============================================================== */
#declare CamX = 90 - (4 * NormClock); #declare CamX = 90 - (4 * NormClock);
#declare CamY = 196; #declare CamY = 176;
#declare CamZ = 170 - (33 * NormClock); #declare CamZ = 170 - (33 * NormClock);
/* XXX to be verified ! /* XXX to be verified !

View File

@@ -16,11 +16,11 @@ object { Le_Decor }
// ======================================================= // =======================================================
#declare Debut = <-33, 89, 289> ; #declare Debut = <-33, 89, 289> ;
#declare Fin = < 36, 81, -2> ; #declare Fin = < 36, 78, -2> ;
#declare Pos = sqrt(NormClock); #declare Pos = sqrt(NormClock);
#declare PosCam = Interpolate(Debut, Fin, Pos); #declare PosCam = Interpolate(Debut, Fin, Pos);
#declare LatX = 0.614 * sin(NormClock*9.7); #declare LatX = 0.614 * sin(NormClock*11.27);
#declare LatZ = -(150 + (7*NormClock)); #declare LatZ = -(150 + (7*NormClock));
#declare LatCam = PosCam + <LatX, -95, LatZ>; #declare LatCam = PosCam + <LatX, -95, LatZ>;
@@ -30,6 +30,6 @@ camera {
location PosCam location PosCam
look_at LatCam look_at LatCam
right <image_width/image_height, 0, 0> right <image_width/image_height, 0, 0>
angle 66 angle 64
} }

View File

@@ -80,7 +80,7 @@ local NBRE=300
local SRC="frames/hexacone/00199.png" local SRC="frames/hexacone/00199.png"
local GRAY="/dev/shm/tmp-titre.png" local GRAY="/dev/shm/tmp-titre.png"
convert -colorspace gray -colors 23 $SRC $GRAY convert -colorspace gray -colors 90 $SRC $GRAY
for foo in $(seq 0 $NBRE) for foo in $(seq 0 $NBRE)
do do
@@ -107,9 +107,9 @@ local NBRE=180
datetime=$(LANG=fr date -u +"%Y/%m/%d %H:%M") datetime=$(LANG=fr date -u +"%Y/%m/%d %H:%M")
echo " $datetime" | tee -a WS/log echo " $datetime" | tee -a WS/log
local SRC="frames/escadrille/00449.png" local SRC="frames/patrouille/00165.png"
local GRAY="/dev/shm/tmp-titre.png" local GRAY="/dev/shm/tmp-fin.png"
convert -colorspace gray -colors 60 $SRC $GRAY convert -colorspace gray -colors 90 $SRC $GRAY
for foo in $(seq 0 $NBRE) for foo in $(seq 0 $NBRE)
do do
@@ -130,6 +130,7 @@ do
${TMP} ${TMP}
# identify ${TMP} # identify ${TMP}
copy_a_file ${TMP} copy_a_file ${TMP}
printf "." printf "."
done done
echo echo

View File

@@ -11,6 +11,7 @@
#include "all.inc" #include "all.inc"
/* /*
* XXX
* why this two moving hexathings are not in "dynamic.inc" ? * why this two moving hexathings are not in "dynamic.inc" ?
*/ */
object { HexaCone () rotate z*9.1 translate <7, 3+NormClock, -8> } object { HexaCone () rotate z*9.1 translate <7, 3+NormClock, -8> }
@@ -28,7 +29,7 @@ object { HexaWood translate P }
object { Le_Decor } object { Le_Decor }
#declare CamY = 36 - (10.01 * Cos_01(NormClock)); #declare CamY = 46 - (9.70 * Cos_01(NormClock));
#declare LatY = -4 + ( 2.12 * NormClock); #declare LatY = -4 + ( 2.12 * NormClock);
camera { camera {

View File

@@ -16,13 +16,19 @@ object { Le_Decor }
// object { Repere scale 2 } // object { Repere scale 2 }
#declare CK = 0.8 - (NormClock * 0.71); #declare CK = 0.8 - (NormClock * 0.71);
#declare DX_cam = 6.9 * cos(CK); #if (NormClock < 0.5000)
#declare DZ_cam = 5.4 * sin(CK); #declare DX_cam = -6.9 * cos(CK);
#declare DZ_cam = -5.4 * sin(CK);
#else
#declare DX_cam = -6.9 * sin(CK);
#declare DZ_cam = -5.6 * cos(CK);
#end
#declare Loc_cam = <DX_cam, 1.0, DZ_cam> + Pos_RedB_2; #declare Loc_cam = <DX_cam, 1.0, DZ_cam> + Pos_RedB_2;
camera { camera {
location Loc_cam location Loc_cam
look_at Pos_RedB_2 + <0, 1.95+NormClock, 0> look_at Pos_RedB_2 + <0, 2.05+NormClock, 0>
right <image_width/image_height, 0, 0> right <image_width/image_height, 0, 0>
// focal_point <0.37, 0.0, 0> // focal_point <0.37, 0.0, 0>

View File

@@ -24,8 +24,9 @@ difference {
} }
#end // for #end // for
#local R = rand(Rng1); #local R = rand(Rng1);
#if (R < 0.42) texture { LeGris } #if (R < 0.42) texture { LeGris }
#else texture { T_Beton_1 } #elseif (R < 0.64) texture { T_Beton_2 }
#else texture { T_Beton_1 }
#end #end
} }
#end #end