Compare commits

..

30 Commits

Author SHA1 Message Date
Tonton Th
c9dba8d6aa ready for iohd2026 release 2026-03-26 10:27:42 +01:00
Tonton Th
c77b6684dd not ready for release 2026-03-26 08:34:24 +01:00
Tonton Th
cde4dac7df last minute camera tuning 2026-03-26 08:13:02 +01:00
Tonton Th
baa76d2cf9 font change 2026-03-25 16:26:01 +01:00
Tonton Th
2c2accd83a camera adjusts 2026-03-24 05:10:35 +01:00
Tonton Th
9c63031460 speed up the cam 2026-03-24 04:47:35 +01:00
Tonton Th
e20ef98199 rotate the blob faster 2026-03-23 10:36:00 +01:00
Tonton Th
c13e3a181c camera up 2026-03-18 23:56:30 +01:00
Tonton Th
564ccab632 lights tuning 2026-03-18 23:56:04 +01:00
Tonton Th
32300d389a better colors 2026-03-17 12:56:55 +01:00
Tonton Th
f3eabfb68b ready for the next run ? 2026-03-14 14:38:41 +01:00
Tonton Th
c37530d999 reglage texture 2026-03-04 21:40:09 +01:00
Tonton Th
15849c4aa2 ajustement horloge double 2026-03-04 21:39:25 +01:00
Tonton Th
3f57aec353 another another camera twiddling 2026-03-03 19:42:05 +01:00
Tonton Th
90562d2ce6 camera tuning 2026-03-01 21:09:10 +01:00
Tonton Th
daaa8eeb01 better metadata in vidz 2026-02-27 22:38:56 +01:00
Tonton Th
35e6c0dfb5 camera change 2026-02-25 14:14:45 +01:00
Tonton Th
6ee8932ba4 typographic perversity 2026-02-20 23:20:17 +01:00
Tonton Th
a3558cc1db adjust cameras before the next rendering batch 2026-02-20 23:14:10 +01:00
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
Tonton Th
f6104c8b5d that was a bad idea 2026-02-18 19:19:20 +01:00
Tonton Th
676cf5bd87 clean the brotch 2026-02-18 02:02:10 +01:00
Tonton Th
c0a0d2467e hardening the camera 2026-02-17 23:15:31 +01:00
Tonton Th
5e5d0ae116 fix an excessive psychedelic effect 2026-02-17 23:14:51 +01:00
Tonton Th
b6ac4f8ce5 dynamic and camera tuning 2026-02-17 22:28:18 +01:00
Tonton Th
3fdfa5a0c0 swap two elements 2026-02-17 14:16:36 +01:00
Tonton Th
fd452889ea correction du planning 2026-02-17 14:16:08 +01:00
32 changed files with 415 additions and 195 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

@@ -71,7 +71,7 @@ merge {
#if (R < 0.63) #if (R < 0.63)
texture { T_Grnt6 scale 4 } texture { T_Grnt6 scale 4 }
#else #else
texture { T_Stone34 scale 3+rand(Rng2) } texture { T_Stone34 scale 3+rand(Rng1) }
#end #end
} }
#end // macro #end // macro
@@ -82,7 +82,10 @@ merge {
#local K = 0.36; #local K = 0.36;
box { <-L, 0, -K>, <L, Epp, K> } box { <-L, 0, -K>, <L, Epp, K> }
cylinder { <0, Epp, -K*0.9>, <0, Epp, K*0.9>, 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 #end // macro

View File

@@ -16,16 +16,16 @@ object { Le_Decor }
// ======================================================= // =======================================================
#declare R_around = 128; #declare R_around = 120;
#declare CK = 2.9 + (3.141592654 * NormClock); #declare CK = 2.9 + (3.141592654 * NormClock);
#declare CamX = R_around * cos(CK); #declare CamX = R_around * cos(CK);
#declare CamY = 15.777 + (4*Cos_010(NormClock)); #declare CamY = 15 + (6*Cos_010(NormClock));
#declare CamZ = R_around * 1.5 * sin(CK); #declare CamZ = R_around * 1.8 * 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

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

View File

@@ -30,7 +30,7 @@ union {
object { Le_Decor } object { Le_Decor }
camera { camera {
location <45, 149+(99*NormClock), 18-(12*NormClock)> location <46, 149+(117*NormClock), 18-(12*NormClock)>
look_at <0, 1.18, 0.17 + (2.4*NormClock)> look_at <0, 1.18, 0.17 + (2.4*NormClock)>
right <image_width/image_height, 0, 0> right <image_width/image_height, 0, 0>
angle 50 angle 50

View File

@@ -24,9 +24,10 @@ union {
#declare RedB_0_X = 19; #declare RedB_0_Z = 29; #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;
#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_3_X = 42; #declare RedB_3_Z = -5; #declare RedB_3_X = 42; #declare RedB_3_Z = -5;
@@ -108,7 +109,7 @@ union {
#macro Les_GyroPhares () #macro Les_GyroPhares ()
union { union {
#local E = SzSol * 0.471; #local E = SzSol * 0.496;
#for (Idx, 0, 359, 60) #for (Idx, 0, 359, 60)
#local Ang = radians(Idx+9.33); #local Ang = radians(Idx+9.33);
#local Dx = E * sin(Ang); #local Dx = E * sin(Ang);
@@ -289,9 +290,9 @@ union {
object { Chose () translate < 20, 0, -36> } object { Chose () translate < 20, 0, -36> }
/* a l'exterieur du 'circular' */ /* a l'exterieur du 'circular' */
#for (foo, 0, 359, 18) #for (foo, 0, 359, 18)
#local CK = radians(foo + (9*rand(Rng1))); #local CK = radians(foo + (8*rand(Rng1)));
#local DX = 76 * sin(CK); #local DX = 71 * sin(CK);
#local DZ = 74 * cos(CK); #local DZ = 67 * cos(CK);
object { Chose () translate < DX, 0, DZ> } // XXX object { Chose () translate < DX, 0, DZ> } // XXX
#end #end
} }
@@ -315,7 +316,7 @@ union {
#if (1) #if (1)
light_source { light_source {
<-5, 5.60, 18> <-8, 5.60, 18>
#if ( (clock > 290) & (clock<344) ) #if ( (clock > 290) & (clock<344) )
#local Couleur = rgb <0.20, 0.20, 0.90>; #local Couleur = rgb <0.20, 0.20, 0.90>;
#else #else
@@ -344,7 +345,7 @@ sky_sphere {
[ 0.9 color rgb <.5, .5, .47> ] [ 0.9 color rgb <.5, .5, .47> ]
[ 1.0 color Gray20 ] [ 1.0 color Gray20 ]
} }
turbulence 3.14159 + 0.84 * Cos_010(NormClock) turbulence 2.222 + 0.84 * Cos_010(NormClock)
scale 1.600 scale 1.600
// translate -1 // translate -1
} }
@@ -378,12 +379,13 @@ 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*(114*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*112 translate <-34, 0, -26> }
object { Les_Cahutes () rotate y*17 translate <2, 0, -40> } // XXX object { Les_Cahutes () rotate y*17 translate <2, 0, -40> }
object { Les_Cahutes () rotate y*17 translate <39, 0, -20> }
/* --------- les trucs dans le Y négatif */ /* --------- les trucs dans le Y négatif */
// object { Trois_Arches (1.4) scale 2.4 translate <0, 0, -131> } // object { Trois_Arches (1.4) scale 2.4 translate <0, 0, -131> }
@@ -398,7 +400,6 @@ union {
#end // for #end // for
/* --------- les trucs dans le Y positif */ /* --------- 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 translate <-3, 3.58, 112> }
object { Blob_Boxed scale 4 rotate y*45 translate <3, 6.7, 161> } object { Blob_Boxed scale 4 rotate y*45 translate <3, 6.7, 161> }

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

@@ -7,11 +7,11 @@
object { object {
#local CK = clock / 210; // en radians #local CK = (clock / 230) - 0.75; // en radians
#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

View File

@@ -20,7 +20,7 @@
#for (idZ, -3, 3) #for (idZ, -3, 3)
#local posX = (idX * 4.76) + (rand(Rng1)-0.5); #local posX = (idX * 4.76) + (rand(Rng1)-0.5);
#local posY = 3.2 + (NormClock * 12 * (rand(Rng1)+0.95)); #local posY = 3.2 + (NormClock * 17 * (rand(Rng1)+0.95));
#local posZ = (idZ * 4.44) ; #local posZ = (idZ * 4.44) ;
#local Rx = (rand(Rng1) - 0.5) * 12; #local Rx = (rand(Rng1) - 0.5) * 12;
#local Ry = (rand(Rng1) - 0.5) * (24+NormClock); #local Ry = (rand(Rng1) - 0.5) * (24+NormClock);
@@ -56,12 +56,14 @@ object { Le_Decor }
#local CamY = 0.42 + (18.36 * Cos_01(NormClock)); #local CamY = 0.42 + (18.36 * Cos_01(NormClock));
#local CamZ = 122 - (22.9 * Cos_01(NormClock)); #local CamZ = 122 - (22.9 * Cos_01(NormClock));
#local LatX = 3 * NormClock;
#local LatY = (Y_mean / Y_count) - (0.5*NormClock); #local LatY = (Y_mean / Y_count) - (0.5*NormClock);
#local LatZ = 2.22;
// #debug concat("escadrille: Lat Y ", str(LatY, 7, 3),"\n") // #debug concat("escadrille: Lat Y ", str(LatY, 7, 3),"\n")
camera { camera {
location <CamX, CamY, CamZ> location <CamX, CamY, CamZ>
look_at <0.0, LatY, 0> look_at <LatX, LatY, LatZ>
right <image_width/image_height, 0, 0> right <image_width/image_height, 0, 0>
angle 56 - (28 * NormClock) angle 54 - (35 * NormClock)
} }

316
essai.pov
View File

@@ -16,27 +16,60 @@
-* __________________________ -* __________________________
*/ */
// ======================================================= // =======================================================
// 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 // nouveau du 10 février 2026
//
#macro Anemone_A (E, H) #macro Anemone_A (E, H)
union { union {
#for (foo, 0, 5) #for (foo, 0, 5)
#local A = radians(foo*60); #local A = (NormClock*7) + (0.5*radians(foo*60));
#local DX = E * sin(A); #local DX = (E+rand(Rng1)) * sin(A);
#local DZ = E * cos(A); #local DZ = (E+rand(Rng1)) * cos(A);
cone { y*(H/8), 0.20, <DX, H, DZ>, 0.001 cone {
#local RC = 0.15 + (rand(Rng1) * 0.50);
#local H2 = H + rand(Rng1);
y*(H*(0.01)), 0.15, <DX, H2, DZ>, 0.001
#local Rv = 0.7 + (0.2*rand(Rng1)); #local Rv = 0.7 + (0.2*rand(Rng1));
#local Gv = 0.6 + (0.2*rand(Rng1)); #local Gv = 0.4 + (0.5*rand(Rng1));
#local Bv = 0.6 + (0.3*rand(Rng1)); #local Bv = 0.6 + (0.4*rand(Rng1));
texture { texture {
pigment { rgb <Rv, Gv, Bv> } pigment { rgb <Rv, Gv, Bv> }
finish { phong 0.51 reflection 0.05 } normal { dents 6.66 scale 0.03+(0.17*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 // for
} }
#end // macro #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 * new Thu Dec 18 01:14:19 AM UTC 2025
@@ -49,7 +82,6 @@ union {
#debug "Cone Stack : DEBUG_LEVEL activated\n" #debug "Cone Stack : DEBUG_LEVEL activated\n"
#fopen Log "WS/log.essai" write #fopen Log "WS/log.essai" write
#end // debug level #end // debug level
union { union {
#local Hcs = 0.550; #local Hcs = 0.550;
#local Rco = R_basecone * 3.333; #local Rco = R_basecone * 3.333;
@@ -58,11 +90,9 @@ union {
#local Dy = Foo * (Hcs + 0.0333); #local Dy = Foo * (Hcs + 0.0333);
#local Dz = 0.385 * cos(Foo+NormClock); #local Dz = 0.385 * cos(Foo+NormClock);
#local DV = <Dx, Dy, Dz>; #local DV = <Dx, Dy, Dz>;
#ifdef (DEBUG_LEVEL) #ifdef (DEBUG_LEVEL)
#write (Log, Foo, " ", DV, "\n") #write (Log, Foo, " ", DV, "\n")
#end #end
union { union {
cone { 0, Rco, <0, Hcs, 0>, 0.001 cone { 0, Rco, <0, Hcs, 0>, 0.001
#if (rand(Rng1) < 0.50) texture { Y_Texture } #if (rand(Rng1) < 0.50) texture { Y_Texture }
@@ -78,30 +108,54 @@ union {
} }
#end // for Foo #end // for Foo
} }
#ifdef (DEBUG_LEVEL) #ifdef (DEBUG_LEVEL)
#fclose Log #fclose Log
#end // debug level #end // debug level
#end // macro #end // macro
// ======================================================= // =======================================================
/* nouveau du 20 octobre 2025 #macro HexoFlash_body (Ra, He)
* Un semblant de wagonnet qui va tourner sur le merge {
* rail circulaire cylinder { 0, y*He, Ra }
sphere { y*He, Ra }
/* XXX
* faire la place pour la lampe
*/ */
#declare Les_Wagonnets = object texture { LeGris }
{ }
#local L = 2.4; #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 { union {
object { Wagonnet_0(L) translate <0, 1, 1.9> } box { <-1, H1, -WB>, <1, H2, WB> }
object { Wagonnet_0(L+1) translate <0, 3+NormClock, 0> } box { <-WB, H1, -1>, <WB, H2, 1> }
object { Wagonnet_0(L) translate <0, 1, -1.8> }
} }
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,21 +176,37 @@ 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 // the place to try new textures
#declare ProtoTextures = object #declare ProtoTextures = object
{ {
#local TX = 2.55; #local TX = 2.45;
#local TZ = 2.95; #local TZ = 2.95;
#local Kro = 32 + (NormClock * 37); #local Kro = 32 + (NormClock * 666);
union { union {
object { Obj_BasicTexture texture { R_Texture } object { Obj_BasicTexture texture { R_Texture }
rotate y * (rand(Rng1)*Kro) rotate y * (rand(Rng1)*Kro)
translate <TX, 0, -TZ> } translate <TX, 0, -TZ> }
object { Obj_BasicTexture texture { G_Texture } object { Obj_BasicTexture texture { Texture_du_Vase }
rotate y * (rand(Rng1)*Kro) rotate y * (rand(Rng1)*Kro)
translate <TX, 0, 0> } translate <TX, 0, 0> }
object { Obj_BasicTexture texture { B_Texture } object { Obj_BasicTexture texture { B_Texture }
@@ -159,36 +229,145 @@ 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.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.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>
} // torus
#end // end for (foo
texture { G_Texture }
}
#end // end macro
// ------------------------------------
// ASSEMBLER LE CORPS
#macro Vase_le_corps ()
union {
object { Vase_le_corps_a () }
object { Vase_le_corps_b () }
// this 'translate' must be computed ?
translate y*0.95
}
#end
// ------------------------------------
// LE PIED
#macro Vase_le_pied ()
union {
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
// ------------------------------------
// 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.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.65) texture { tPlasticPrune }
#else texture { tPlasticGreen }
#end // if
}
#end // for
translate y*0.87
}
// #debug "== Fin Vase 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.52> }
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 { Chose () 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 }
} }
} }
// ======================================================= // =======================================================
// =======================================================
#declare GyroTrucs = object #declare GyroTrucs = object
{ {
union { union {
#for (I, 0, 359, 30) #for (I, 0, 359, 20)
#declare E = 12 + (3*rand(Rng1)); #declare E = 12 + (3.5*rand(Rng1));
#declare Dx = E * sin(radians(I)); #declare Dx = E * sin(radians(I));
#declare Dz = E * cos(radians(I)); #declare Dz = E * cos(radians(I));
#local R = rand(Rng1); #local R = rand(Rng1);
#if (R > 0.52) #if (R > 0.76)
object { GyroPhare () translate <Dx, 0, Dz> } object { GyroPhare () translate <Dx, 0, Dz> }
#elseif (R > 0.36) #elseif (R > 0.65)
object { Colonne_A (3.8) object { Obj_BasicTexture
rotate y*(90*rand(Rng1)) texture { T_WIP_redwave }
scale 0.75
rotate y * (5*(.5-rand(Rng1))*clock)
translate <Dx, 0, Dz> } translate <Dx, 0, Dz> }
#else #else
object { Colonne_A (2.8) object { HexoFlash (0.14, 1.85 + (0.444*rand(Rng1)) )
rotate y*(90*rand(Rng1))
translate <Dx, 0, Dz> } translate <Dx, 0, Dz> }
#end #end
#end // for #end // for
@@ -203,9 +382,9 @@ object { GyroTrucs }
{ {
union { union {
object { Portique_A () translate z*6.5 } object { Portique_A () translate z*6.5 }
object { Portique_A () scale 2 translate z*2 } object { Portique_A () scale 1.6 translate z*2 }
object { Portique_A () scale 1.8 } object { Portique_A () scale 1.2 }
object { Portique_A () scale 2 translate -z*3 } object { Portique_A () scale 1.4 translate -z*3 }
object { Portique_A () rotate y*9 translate -z*6.5 } object { Portique_A () rotate y*9 translate -z*6.5 }
// object { Fleche translate y } // object { Fleche translate y }
} }
@@ -214,16 +393,19 @@ union {
#debug " !!! ACTION !!!\n" #debug " !!! ACTION !!!\n"
#local Rv = 0.5 + (0.1*sin(clock*0.113));
#local Gv = 0.21;
#local Bv = 0.25 * 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
} }
// ------------------------------------------------------ ## // ------------------------------------------------------ ##
#declare Selector = int(clock/57); #declare Selector = int(clock/90);
#debug concat("Selector = ", str(Selector, 6, 0), "\n") #debug concat("Selector = ", str(Selector, 6, 0), "\n")
#declare AngleCam = 27 - 3*Cos_01(NormClock); #declare AngleCam = 27 - 3*Cos_01(NormClock);
@@ -231,41 +413,23 @@ 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 { Des_Anemones }
#local AngleCam = 31.0; object { Repere translate y*0.08 }
#break #break
#case (2) #case (2)
object { HoleBorder_A (2.12) translate y } object { HoleBorder_B (2.222) }
object { ProtoTextures }
#break #break
#case (3) #case (3)
object { HorlogeDouble scale 2 rotate -y*(6*clock) } object { Blob_Boxed scale 3 translate y*2 }
object { Repere translate y*1 } // object { Repere translate y*1 }
#break #break
#case (4) #case (4)
object { Blob_Boxed object { Un_Autre_Cube (0.666) rotate y*42 translate <3, 1.8, 0> }
scale 4.000 object { Un_Autre_Cube (0.888) translate <0, 1.8, 2> }
rotate <7, 0, 12> translate 3.7*y
rotate -y*(clock*2) }
#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*0.5) translate y*3 }
#break
#case (7)
#local Pos = <0.5-NormClock, 0, 0>;
object { ProtoTextures rotate -y*(55*Cos_01(NormClock)) }
#break #break
#end // switch selector #end // switch selector
@@ -289,7 +453,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,14 +165,14 @@ 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 }
} }
scale 0.51 scale 0.42
translate y*0.999 translate y*0.50
} }
// ======================================================= // =======================================================
/* /*
@@ -200,7 +203,7 @@ prism {
#macro HexaPole_tubes () #macro HexaPole_tubes ()
#local R = 0.033; #local R = 0.033;
#local E = 0.49; #local E = 0.49;
#local H = H_cone*0.705; #local H = H_cone*0.666;
union { union {
#for (A, 0, 359, 60) #for (A, 0, 359, 60)
#local Xp = E * cos(radians(A)); #local Xp = E * cos(radians(A));
@@ -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*2.2, clock*2.7, clock*1.8> }
} }
} }
// ======================================================= // =======================================================
@@ -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));

3
gif89a/README.md Normal file
View File

@@ -0,0 +1,3 @@
Space for the flashy Compuserve pictures.

View File

@@ -11,7 +11,7 @@ global_settings {
#include "stones.inc" #include "stones.inc"
#include "woods.inc" #include "woods.inc"
#declare Rng1 = seed(1221); #declare Rng1 = seed(314);
#declare foo = rand(Rng1); #declare foo = rand(Rng1);
#declare Rng2 = seed(now*24*60*60); #declare Rng2 = seed(now*24*60*60);
#declare bar = rand(Rng2); #declare bar = rand(Rng2);
@@ -36,7 +36,7 @@ global_settings {
#declare H_gyro = 1.80; #declare H_gyro = 1.80;
#declare H_gylampe = 0.25; #declare H_gylampe = 0.25;
#declare H_QuadriLight = 37; #declare H_QuadriLight = 42;
#declare E_QuadriLight = SzSol * 1.35; #declare E_QuadriLight = SzSol * 1.35;
#declare R_circular = (SzSol * 1.60); #declare R_circular = (SzSol * 1.60);
@@ -77,7 +77,7 @@ finish { phong 0.70 reflection 0.05 }
#declare T_Planete_B = texture #declare T_Planete_B = texture
{ {
pigment { rgb <0.42, 0.50, 0.70> } 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 } finish { metallic 0.50 reflection 0.33 }
} }
/* ------------------------------------------------------------ */ /* ------------------------------------------------------------ */
@@ -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.23, 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

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

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

@@ -16,11 +16,11 @@ object { Le_Decor }
// object { Repere scale 2 } // object { Repere scale 2 }
#declare Loc_cam = <2, 2.7-NormClock, 1> + (Pos_RedB_1 * 1.303); #declare Loc_cam = <2, 2.7-NormClock, 1> + (Pos_RedB_1 * 1.308);
camera { camera {
location Loc_cam location Loc_cam
#local H = 1.16 + (NormClock*0.36); #local H = 1.16 + (NormClock*0.39);
look_at Pos_RedB_1 + <0.02, H, 0> look_at Pos_RedB_1 + <0.02, H, 0>
right <image_width/image_height, 0, 0> right <image_width/image_height, 0, 0>
// focal_point <0.37, 0.90, 0> // focal_point <0.37, 0.90, 0>

View File

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

View File

@@ -87,7 +87,7 @@ light_source { <23, 10, 15>, rgb <0.77, 0.79, 0.80> }
// ------------------------------------------------------------- // -------------------------------------------------------------
camera { camera {
location <9+NormClock, 1.60+(8.6*NormClock), 11.59> location <9+NormClock, 1.60+(11*NormClock), 11.59>
look_at <0.0, 0.0, 0> look_at <0.0, 0.0, 0>
right <image_width/image_height, 0, 0> right <image_width/image_height, 0, 0>
#if (0) #if (0)
@@ -95,6 +95,6 @@ camera {
aperture 0.046 aperture 0.046
blur_samples 30 blur_samples 30
#end #end
angle 57 angle 61 - (5*NormClock)
} }

View File

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

View File

@@ -13,22 +13,26 @@
object { Le_Decor } object { Le_Decor }
// object { Repere scale 5 translate y*4 }
/* =============================================================== */ /* =============================================================== */
#declare CamX = 90 - (4 * NormClock); #declare CamX = 90 - (4 * NormClock);
#declare CamY = 207; #declare CamY = 176;
#declare CamZ = 170 - (33 * NormClock); #declare CamZ = 170 - (33 * NormClock);
/* XXX to be verified !
#declare LatX = Loc_Patrouille.x; #declare LatX = Loc_Patrouille.x;
#declare LatY = Loc_Patrouille.y; #declare LatY = Loc_Patrouille.y;
#declare LatZ = Loc_Patrouille.z; #declare LatZ = Loc_Patrouille.z;
*/
camera { camera {
location <CamX, CamY, CamZ> location <CamX, CamY, CamZ>
look_at Loc_Patrouille look_at Loc_Patrouille
right <image_width/image_height, 0, 0> right <image_width/image_height, 0, 0>
angle 16 angle 13
} }
/* =============================================================== */ /* =============================================================== */

View File

@@ -46,5 +46,5 @@ camera {
// focal_point <2, 1, 12> // focal_point <2, 1, 12>
// aperture 0.046 // aperture 0.046
// blur_samples 30 // blur_samples 30
angle 3.5 angle 5.1
} }

View File

@@ -1,6 +1,7 @@
/* /*
* H E X A C O N E - S C E N E * H E X A C O N E - S C E N E
* nouveau projet Thu Dec 5 11:37:05 AM UTC 2024 * nouveau projet Thu Dec 5 11:37:05 AM UTC 2024
* The first one...
*/ */
#version 3.7; #version 3.7;
@@ -14,17 +15,17 @@
object { Le_Decor } object { Le_Decor }
#declare CK = 144 + (clock * 0.27); #declare CK = 144 + (clock * 0.25);
#declare Dcam = 3.75; #declare Dcam = 3.75;
#declare CamX = Dcam * cos(radians(CK+0.9)); #declare CamX = Dcam * cos(radians(CK+0.9));
#declare CamZ = Dcam * 1.20 * sin(radians(CK)); #declare CamZ = Dcam * 1.20 * sin(radians(CK));
#declare LatZ = 2.45 + (0.9 * Cos_010(NormClock)); #declare LatY = 2.45 + (1.47 * Cos_010(NormClock));
camera { camera {
location <CamX, 1.97, CamZ> location <CamX, 1.97, CamZ>
look_at <0.03, LatZ, 0.17> look_at <0.03, LatY, 0.17>
right <image_width/image_height, 0, 0> right <image_width/image_height, 0, 0>
// focal_point Lat // focal_point Lat
// aperture 0.046 // aperture 0.046

View File

@@ -15,12 +15,12 @@ object { Le_Decor }
// XXX instrumenter la caméra serait un GROS plus !!! // XXX instrumenter la caméra serait un GROS plus !!!
// ======================================================= // =======================================================
#declare Debut = <-33, 89, 289> ; #declare Debut = <-33, 92, 289> ;
#declare Fin = < 36, 81, -2> ; #declare Fin = < 36, 83, -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*13.37);
#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 62
} }

View File

@@ -27,7 +27,7 @@ C'est le directeur de la production, le grand
[script](./linkfarmer.sh) [script](./linkfarmer.sh)
d'assemblage des séquences avec générique et intertitres. d'assemblage des séquences avec générique et intertitres.
Hélas, il n'est pas encore configurable. Mais c'est Hélas, il n'est pas encore configurable. Mais c'est
en projet pour janvier 2026 ? en projet pour juin 2026 ?
## Encoding ## Encoding

View File

@@ -11,7 +11,7 @@ if [ $# == 1 ] ; then
SEQ=$1 SEQ=$1
fi fi
GIF="t-$SEQ.gif" GIF="gif89a/$SEQ.gif"
# echo "seq $SEQ -> $GIF" | tee -a WS/log # echo "seq $SEQ -> $GIF" | tee -a WS/log

View File

@@ -41,8 +41,8 @@ FILMNAME="$2"
# echo "Encoding $SRCDIR to $FILMNAME" | tee -a WS/log # echo "Encoding $SRCDIR to $FILMNAME" | tee -a WS/log
ffmpeg -nostdin \ ffmpeg -nostdin \
-y -r 30 -f image2 -i frames/${SRCDIR}/%05d.png \ -y -r 30 -f image2 -i frames/${SRCDIR}/%05d.png \
-metadata artist='--[ tTh ]--' \ -metadata artist='--[ tTh des Bourtoulots ]--' \
-metadata title='-- HexaCone --' \ -metadata title='--[ la famille HexaCone ]--' \
-c:v libx264 \ -c:v libx264 \
-pix_fmt yuv420p \ -pix_fmt yuv420p \
-tune film \ -tune film \

View File

@@ -8,7 +8,7 @@ IDX=0
SPOOL="frames/Spool" SPOOL="frames/Spool"
SEQNAME="none" SEQNAME="none"
TMP="WS/tmp.png" TMP="WS/tmp.png"
FONTE="Helvetica-Bold" FONTE="FreeSerif-Bold"
source tools/fonctions.sh source tools/fonctions.sh
@@ -39,13 +39,13 @@ tools/plot-timing.sh $1
local NBRE=78 local NBRE=78
convert "WS/negatif.png" \ convert "WS/negatif.png" \
-gravity north \ -gravity center \
-font $FONTE \ -font $FONTE \
-pointsize 100 \ -pointsize 139 \
-kerning 8 \ -kerning 8 \
-fill $TEXTCOL \ -fill $TEXTCOL \
-strokewidth 2 -stroke $STROKOL \ -strokewidth 3 -stroke $STROKOL \
-annotate +0+530 "$1" \ -annotate +0+0 "$1" \
${INTER} ${INTER}
for foo in $(seq 0 $NBRE) for foo in $(seq 0 $NBRE)
@@ -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
@@ -91,7 +91,7 @@ do
-pointsize 140 \ -pointsize 140 \
-kerning 6 \ -kerning 6 \
-fill $TEXTCOL \ -fill $TEXTCOL \
-strokewidth 5 -stroke $STROKOL \ -strokewidth 3 -stroke $STROKOL \
-annotate +0+${Ypos} "La famille\nHexaCone" \ -annotate +0+${Ypos} "La famille\nHexaCone" \
${TMP} ${TMP}
# identify ${TMP} # identify ${TMP}
@@ -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

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

View File

@@ -34,8 +34,7 @@ do
# echo $imgA $imgB # echo $imgA $imgB
printf "%8d" $frame printf "%8d" $frame
composite $imgA $imgB \ composite $imgA $imgB \
-blend 50% \ -blend 25% \
-blur 1x1 \
$imgC $imgC
done done

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 = 47 - (9.50 * Cos_01(NormClock));
#declare LatY = -4 + ( 2.12 * NormClock); #declare LatY = -4 + ( 2.12 * NormClock);
camera { camera {
@@ -38,5 +39,5 @@ camera {
// focal_point <2, 1, 12> // focal_point <2, 1, 12>
// aperture 0.046 // aperture 0.046
// blur_samples 30 // blur_samples 30
angle 45 + (63*NormClock) angle 45 + (65*NormClock)
} }

View File

@@ -16,13 +16,25 @@ 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 Loc_cam = <DX_cam, 1.0, DZ_cam> + Pos_RedB_2; #declare DY_cam = 1.0;
#declare DZ_cam = -5.4 * sin(CK);
#declare DY_lat = 2.10 + NormClock;
#else
#declare DX_cam = -4.9 * sin(CK);
#declare DY_cam = 9.9 + (5*NormClock);
#declare DZ_cam = -2.6 * cos(CK);
#declare DY_lat = 0;
#end
#declare Loc_cam = <DX_cam, DY_cam, 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, DY_lat, 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

@@ -25,6 +25,7 @@ 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 }
#elseif (R < 0.64) texture { T_Beton_2 }
#else texture { T_Beton_1 } #else texture { T_Beton_1 }
#end #end
} }
@@ -263,7 +264,7 @@ difference {
#local R = rand(Rng1); #local R = rand(Rng1);
// #debug concat("Random = ", str(R, 6, 4), "\n") // #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 } #elseif ( R < 0.56 ) texture { T_Beton_1 }
#else texture { T_Beton_2 } #else texture { T_Beton_2 }
#end // if #end // if