From 43f58d9ce9aaf121fab8113b90a755e6378777ed Mon Sep 17 00:00:00 2001 From: Tonton Th Date: Sun, 5 Apr 2026 00:27:54 +0200 Subject: [PATCH] Easter Egg commit (big!) --- approche.pov | 4 +-- architecture.inc | 9 +++++ carto.pov | 8 ++--- circular.pov | 4 +-- contexte.inc | 85 ++++++++++++++++++-------------------------- dynamic.inc | 6 ++-- escadrille.pov | 4 +-- essai.pov | 30 ++++++++-------- gadgets.inc | 70 +++++++++++++++++++++++++++++------- globals.inc | 40 ++++++++++----------- groundbase.inc | 8 ++--- hexabenz.inc | 17 ++++----- hexacone.inc | 6 ++-- hexacone.pov | 4 +-- hexaflat.inc | 14 ++++++++ hexaflat.pov | 8 +++++ hexastar.inc | 10 ++---- hexastar.pov | 13 ++++--- hexawood.inc | 4 +-- orbite.pov | 9 ++--- passage.pov | 10 +++--- patrouille.pov | 10 ++---- scene.pov | 4 +-- survol.pov | 8 ++--- tools/config.sh | 4 +-- tools/mkloop.sh | 8 ++--- tools/plot-timing.sh | 4 +-- topview.pov | 6 ++-- trident.inc | 4 +-- xperiment.inc | 16 ++++----- 30 files changed, 241 insertions(+), 186 deletions(-) create mode 100644 hexaflat.inc create mode 100644 hexaflat.pov diff --git a/approche.pov b/approche.pov index d8bb529..522a6d0 100644 --- a/approche.pov +++ b/approche.pov @@ -15,10 +15,10 @@ object { Le_Decor } // ======================================================= -#declare LocX = -0.5 + Cos_010(NormClock); +#declare LocX = -0.5 + (2*Cos_010(NormClock)); #declare LocY = 2.6 - NormClock; #declare LocZ = -200 + (118 * NormClock); -#declare LocCam = ; + #declare LatCam = <0, 0.92+NormClock, 0>; // object { Repere scale 5 translate Interpolate(LocCam, LatCam, 0.50) } diff --git a/architecture.inc b/architecture.inc index 36f93c9..432c02f 100644 --- a/architecture.inc +++ b/architecture.inc @@ -5,6 +5,15 @@ * file created on Sat Jan 31 07:07:28 AM UTC 2026 */ +// =========================================================== +// new: Mon Mar 30 05:39:38 PM UTC 2026 +#macro Jalon_0 (Rad, Hei, Ttu) +merge { + cylinder { 0, Hei*y, Rad } + sphere { 0, Rad*2 scale <1, 0.333, 1> translate Hei*y } + texture { Ttu } + } +#end // =========================================================== #declare SzC = 0.3; #macro Base_Col_A () diff --git a/carto.pov b/carto.pov index 6a45d25..8d18302 100644 --- a/carto.pov +++ b/carto.pov @@ -13,7 +13,7 @@ #include "all.inc" // --------------------------------------------------------- -object { Repere scale 20 translate y*20 } +object { Repere scale 10 translate y*20 } // --------------------------------------------------------- // dessiner une grille union { @@ -23,16 +23,16 @@ union { cylinder { <-150, H, Foo>, <150, H, Foo>, Ra } cylinder { , , Ra } #end - pigment { color Black } + pigment { color Black } } // --------------------------------------------------------- object { Le_Decor } camera { - location <46, 149+(117*NormClock), 18-(12*NormClock)> + location <46, 199+(137*NormClock), 18-(12*NormClock)> look_at <0, 1.18, 0.17 + (2.4*NormClock)> right - angle 50 + angle 35 } diff --git a/circular.pov b/circular.pov index 1cff9ac..53614e2 100644 --- a/circular.pov +++ b/circular.pov @@ -23,10 +23,10 @@ object { Le_Decor } #declare CamY = 3.08 + abs(sin(CK/4.00)); #declare CamZ = R_circ * sin(CK); -#declare AV = 0.070; +#declare AV = 0.065; #declare LatX = R_circ * 0.96 * cos(CK + AV); #declare LatY = 2.65; -#declare LatZ = R_circ * 0.95 * sin(CK + AV); +#declare LatZ = R_circ * 0.97 * sin(CK + AV); camera { location diff --git a/contexte.inc b/contexte.inc index 8bf0c2a..1a07f81 100644 --- a/contexte.inc +++ b/contexte.inc @@ -7,13 +7,28 @@ /* ======================================================= */ // #debug "+++++++++++++++++++++ debut contexte\n" /* ======================================================= */ +#declare Les_Jalons = object +{ +union { + #local EC = SzSol + 111; + /* les coins */ + object { Jalon_0 (0.5, 3, LeGris) translate <-EC, 0, -EC> } + object { Jalon_0 (0.5, 3, LeGris) translate < EC, 0, -EC> } + object { Jalon_0 (0.5, 3, LeGris) translate <-EC, 0, EC> } + object { Jalon_0 (0.5, 3, LeGris) translate < EC, 0, EC> } + /* les milieux des cotés */ + object { Jalon_0 (0.5, 6, LeGris) translate < 0, 0, -EC> } + object { Jalon_0 (0.6, 6, LeGris) translate < 0, 0, EC> } + } +} +/* ======================================================= */ #macro Trois_Portiques (Dist) union { - object { Portique_A () } + object { Portique_A () rotate -y*9 } object { Portique_A () scale <1, 1.2, 1> translate z*11 } - object { Portique_A () rotate y*11 translate z*22 } - // XXX scale 1.85 + object { Portique_A () rotate y*9 translate z*22 } + box { <-4, 0, -2>, <4, 0.03, 24> texture { LeGris } } } #end // macro trois portiques @@ -43,7 +58,7 @@ difference { cylinder { 0, y*0.36, R*0.99 } cone { y*0.37, R*0.80, y*0.425, R*0.83 } #for (Foo, 0, 359, 10) - #if (rand(Rng1) > 0.17) + #if (rand(Rng1) > 0.19) #local Dx = R * sin(radians(Foo)); #local Dz = R * cos(radians(Foo)); cone { 0, 0.01, y*0.41, 0.10 translate } @@ -109,7 +124,7 @@ union { #macro Les_GyroPhares () union { - #local E = SzSol * 0.496; + #local E = SzSol * 0.497; #for (Idx, 0, 359, 60) #local Ang = radians(Idx+9.33); #local Dx = E * sin(Ang); @@ -128,7 +143,7 @@ union { { union { #for (Ang, 0, 359, 6) - #local De = 3.6 + (0.5*rand(Rng1)); + #local De = 2.6 + (0.5*rand(Rng1)); #if (rand(Rng1) < 0.50) #local E = R_circular + De; #else @@ -154,7 +169,7 @@ union { #local Zp = R_circular * sin(Ra); cylinder { 0, 0.33*y, 0.10 translate - texture { T_Planete_A scale 3 } + texture { T_Planete_B scale 3 } } #end } @@ -167,7 +182,7 @@ union { #declare R2hxba = Rhxba * 0.48; merge { sphere { 0, Rhxba } - #local E = Rhxba * 1.260; + #local E = Rhxba * 1.240; sphere { 0, R2hxba translate <-E, 0, 0> } sphere { 0, R2hxba translate < E, 0, 0> } sphere { 0, R2hxba translate < 0, -E, 0> } @@ -262,7 +277,7 @@ union { light_source { 0 color White - fade_distance SzSol * 0.40 + fade_distance SzSol * 0.47 fade_power 1.25 } } @@ -290,47 +305,15 @@ union { object { Chose () translate < 20, 0, -36> } /* a l'exterieur du 'circular' */ #for (foo, 0, 359, 18) - #local CK = radians(foo + (8*rand(Rng1))); - #local DX = 71 * sin(CK); - #local DZ = 67 * cos(CK); + #local CK = radians(foo + (11*rand(Rng1))); + #local DX = 83 * sin(CK); + #local DZ = 79 * cos(CK); object { Chose () translate < DX, 0, DZ> } // XXX #end } } /* ======================================================= */ -/* - * cette partie demande des explications - */ -#declare Les_Lumieres = object -{ -union { - #if (1) - light_source { - <2.3, 5.50, 2.86> color Gray70 - spotlight - radius 19 falloff 10 tightness 8 - point_at <0, 0.95, 0.22222222> - } - #end - - #if (1) - light_source { - <-8, 5.60, 18> - #if ( (clock > 290) & (clock<344) ) - #local Couleur = rgb <0.20, 0.20, 0.90>; - #else - #local Couleur = rgb <0.80, 0.80, 0.70>; - #end - color Couleur - spotlight - radius 12 falloff 10 tightness 5 - point_at <0, 0.95, -0.22> - } - #end - } -} - /* ======================================================= */ /* * why a skysphere can't be an object ? @@ -339,14 +322,14 @@ sky_sphere { pigment { gradient y color_map { - [ 0.2 color Gray20 ] - [ 0.4 color rgb <.5, .45, .43> ] - [ 0.7 color Gray50 ] - [ 0.9 color rgb <.5, .5, .47> ] - [ 1.0 color Gray20 ] + [ 0.2 color Gray20 ] + [ 0.4 color srgb <.5, .45, .43> ] + [ 0.7 color Gray50 ] + [ 0.9 color srgb <.5, .5, .47> ] + [ 1.0 color Gray20 ] } turbulence 2.222 + 0.84 * Cos_010(NormClock) - scale 1.600 + scale 1.666 // translate -1 } #local Kem = 0.09; @@ -363,6 +346,8 @@ union { object { Underground } object { Les_Bordures } + object { Les_Jalons } + #include "groundbase.inc" object { La_GroundBase } diff --git a/dynamic.inc b/dynamic.inc index 8e3eb2c..49f6037 100644 --- a/dynamic.inc +++ b/dynamic.inc @@ -11,7 +11,7 @@ object { #local RD = 63; // rayon deplacement #local Xp = RD * sin(CK); #local Zp = RD * cos(CK); - #declare Loc_Patrouille = ; + #declare Loc_Patrouille = ; object { Patrouille } rotate y*degrees(CK) @@ -23,7 +23,7 @@ object { // qui bougent sur le rail circulaire #for (foo, 0, 5) -#local CK = (NormClock+(foo*0.0200)) * 4.05; // radians +#local CK = (NormClock+(foo*0.0200)) * 3.666; // radians #declare Xpos = R_circular * sin(CK); #declare Zpos = R_circular * cos(CK); #declare AR = degrees(CK); @@ -40,7 +40,7 @@ object { object { Les_Machins rotate -y*clock translate UnderHoles[2] } object { Les_Machins rotate y*clock translate UnderHoles[5] } -// object { Les_HexaBalls rotate y*clock translate UnderHoles[2] } +object { Les_HexaBalls rotate y*(clock*2.9) translate UnderHoles[4] } /// ======================================================= /* diff --git a/escadrille.pov b/escadrille.pov index d1ac4fd..2e91c6f 100644 --- a/escadrille.pov +++ b/escadrille.pov @@ -56,9 +56,9 @@ object { Le_Decor } #local CamY = 0.42 + (18.36 * Cos_01(NormClock)); #local CamZ = 122 - (22.9 * Cos_01(NormClock)); -#local LatX = 3 * NormClock; +#local LatX = 6 * NormClock; #local LatY = (Y_mean / Y_count) - (0.5*NormClock); -#local LatZ = 2.22; +#local LatZ = 4.2; // #debug concat("escadrille: Lat Y ", str(LatY, 7, 3),"\n") camera { diff --git a/essai.pov b/essai.pov index 61d7e91..13f7715 100644 --- a/essai.pov +++ b/essai.pov @@ -353,19 +353,15 @@ union { #declare GyroTrucs = object { union { - #for (I, 0, 359, 20) - #declare E = 12 + (3.5*rand(Rng1)); + #for (I, 0, 359, 15) + #declare E = 14 + (4.2*rand(Rng1)); #declare Dx = E * sin(radians(I)); #declare Dz = E * cos(radians(I)); #local R = rand(Rng1); #if (R > 0.76) object { GyroPhare () translate } - #elseif (R > 0.65) - object { Obj_BasicTexture - texture { T_WIP_redwave } - scale 0.75 - rotate y * (5*(.5-rand(Rng1))*clock) - translate } + #elseif (R > 0.45) + object { HexaPole () translate } #else object { HexoFlash (0.14, 1.85 + (0.444*rand(Rng1)) ) translate } @@ -393,9 +389,10 @@ union { #debug " !!! ACTION !!!\n" + /* FLASHING LIGHT !!! */ #local Rv = 0.5 + (0.1*sin(clock*0.113)); #local Gv = 0.21; - #local Bv = 0.25 * abs(sin(clock*0.014)); + #local Bv = 0.25 * abs(sin(clock*0.019)); light_source { <-32, 40, -7> colour @@ -405,10 +402,10 @@ union { // ------------------------------------------------------ ## -#declare Selector = int(clock/90); +#declare Selector = int(clock/96); #debug concat("Selector = ", str(Selector, 6, 0), "\n") -#declare AngleCam = 27 - 3*Cos_01(NormClock); +#declare AngleCam = 29 - 3*Cos_01(NormClock); #switch (Selector) #case (0) @@ -424,11 +421,12 @@ union { object { ProtoTextures } #break #case (3) - object { Blob_Boxed scale 3 translate y*2 } + object { Blob_Boxed scale 3.159 translate < 0, 2, 0> } + object { Blob_Boxed scale 1.414 translate <-3, 3, 0> } // object { Repere translate y*1 } #break #case (4) - object { Un_Autre_Cube (0.666) rotate y*42 translate <3, 1.8, 0> } + object { Un_Autre_Cube (0.666) rotate x*42 translate <3, 1.8, 0> } object { Un_Autre_Cube (0.888) translate <0, 1.8, 2> } #break @@ -441,9 +439,9 @@ plane { // ======================================================= -#local CamX = -2.7 + (1.8*Cos_010(NormClock)); +#local CamX = -2.9 + (1.8*Cos_010(NormClock)); #local CamY = 0.61 + (0.9*exp(NormClock)); -#local CamZ = -5.777 + (1.2*Cos_01(NormClock)); +#local CamZ = -5.777 + (1.3*Cos_01(NormClock)); #local K = 8.6; #local CamX = CamX * K; @@ -451,7 +449,7 @@ plane { #local CamZ = CamZ * K; camera { - orthographic + // orthographic location look_at <0, 1.5, 0> diff --git a/gadgets.inc b/gadgets.inc index 19cca37..0386ec2 100644 --- a/gadgets.inc +++ b/gadgets.inc @@ -12,17 +12,17 @@ union { #local R2 = R * 2.33; #local LC = 1.15; merge { - cylinder { 0, <1, 0, 0>, R } + cylinder { -0.1*x, <1, 0, 0>, R } cone { <1, 0, 0>, R2, , 0 } texture { R_Texture } } merge { - cylinder { 0, <0, 1, 0>, R } + cylinder { -0.1*y, <0, 1, 0>, R } cone { <0, 1, 0>, R2, <0, LC, 0>, 0 } texture { G_Texture } } merge { - cylinder { 0, <0, 0, 1>, R } + cylinder { -0.1*z, <0, 0, 1>, R } cone { <0, 0, 1>, R2, <0, 0, LC>, 0 } texture { B_Texture } } @@ -143,17 +143,16 @@ texture { T_WIP_bluewave scale 0.21 rotate } #declare Horloge = object { -#local Texte = str(NormClock, 6, 3); +#local Texte = str(NormClock, 5, 2); #debug concat("Texte horloge ", Texte, "\n\n") text { - // ttf "datas/DSEG7Classic-Regular.ttf" Texte 0.1, 0 - ttf "datas/ComicMono-Bold.ttf" Texte 0.1, 0 - texture { tPlasticBlue } + ttf "datas/dotmatrx.ttf" Texte 0.15, 0 + texture { tPlasticGreen } } -scale 1.96 +scale <1.76, 1.70, 1.76> rotate 90*x -translate <-4.5, 0.046, 0> +translate <-4.3, 0.046, 0> } // ---------------------------------------------------------- // nouveau du 3 janvier 2026 @@ -198,12 +197,57 @@ prism { */ } #end // macro +// ------------------------------------------------------ ## +/* nouveau du 31 mars 2026, aux Bourtoulots + * + */ +#macro HexaPole_abatjour (Quux) +union { + #local Raj = 0.333; + torus { Raj, 0.018 translate -y*Quux } + #for (Foo, 0, 359, 18) + #local DX = Raj * sin(radians(Foo)); + #local DZ = Raj * cos(radians(Foo)); + cylinder { -y*Quux, y*Quux, 0.013 translate } + #end // for + torus { Raj, 0.02 translate y*Quux } + rotate y*(clock*0.40*(rand(Rng1)-0.59)) + } +#end // macro + +#macro HexaPole_mat_lampe (Height) +union { + union { + cylinder { 0, y*Height, 0.061 } + #local Val = 0.09+(0.09*rand(Rng1)); + object { HexaPole_abatjour (Val) + translate y*(Height+0.073) } + texture { LeGris } + } + + #local P = y*(Height+0.097); + #if (rand(Rng1) < 0.30) + #local Val = 0.25 + 0.5*rand(Rng1); + light_source { + P rgb <0.80, 0.25+(0.5*rand(Rng1)), 0.99> + fade_distance 3.80 + fade_power 1.55 + } + #else + sphere { + P, 0.080 + texture { C_Texture } + } + #end // if + } +#end // macro + // ------------------------------------------------------ ## #macro HexaPole_tubes () #local R = 0.033; -#local E = 0.49; -#local H = H_cone*0.666; +#local E = 0.51; +#local H = H_cone*0.50; union { #for (A, 0, 359, 60) #local Xp = E * cos(radians(A)); @@ -223,7 +267,6 @@ union { } #end } - #undef E #undef H #undef R @@ -238,7 +281,8 @@ union { union { object { Base_hexapole () scale <0.24, 0.2, 0.24> } object { HexaPole_tubes () translate y*0.15 } - rotate y*(53*rand(Rng1)) + HexaPole_mat_lampe (2.42 + rand(Rng1)) + rotate y*(73*rand(Rng1)) } #end // macro diff --git a/globals.inc b/globals.inc index 242db7b..0eb3749 100644 --- a/globals.inc +++ b/globals.inc @@ -1,7 +1,7 @@ global_settings { assumed_gamma 1.0 - ambient_light rgb <0.48, 0.49, 0.48> + ambient_light rgb <0.28, 0.30, 0.30> max_trace_level 15 } @@ -11,7 +11,7 @@ global_settings { #include "stones.inc" #include "woods.inc" -#declare Rng1 = seed(314); +#declare Rng1 = seed(1515); #declare foo = rand(Rng1); #declare Rng2 = seed(now*24*60*60); #declare bar = rand(Rng2); @@ -37,11 +37,11 @@ global_settings { #declare H_gylampe = 0.25; #declare H_QuadriLight = 42; -#declare E_QuadriLight = SzSol * 1.35; +#declare E_QuadriLight = SzSol * 1.79; #declare R_circular = (SzSol * 1.60); -#declare R_hole = 3.1; // holes in the background +#declare R_hole = 3.14159; // holes in the background /* ------------------------------------------------------------ */ /* @@ -52,7 +52,7 @@ global_settings { { /* moi j'dis qu'il est temps de définir un "gris de base" */ pigment { color Gray70 } -finish { phong 0.33 ambient 0.33 } +finish { phong 0.22 ambient 0.22 diffuse 0.22 } } #declare T_WIP_color = texture @@ -64,20 +64,20 @@ finish { phong 0.23 ambient 0.30 } #declare T_WIP_alert = texture { -pigment { color Red } +pigment { color srgb <0.90, 0.01, 0.02> } finish { ambient 1 specular 0.80 } } #declare T_Planete_A = texture { -pigment { color rgb <0.20, 0.30, 0.10> } +pigment { srgb <0.20, 0.30, 0.10> } normal { dents 0.28 scale 0.5} finish { phong 0.70 reflection 0.05 } } #declare T_Planete_B = texture { -pigment { rgb <0.42, 0.50, 0.70> } -normal { dents 0.18 scale 0.5} +pigment { srgb <0.42, 0.50, 0.70> } +normal { dents 0.38 scale 0.5} finish { metallic 0.50 reflection 0.33 } } /* ------------------------------------------------------------ */ @@ -162,8 +162,8 @@ finish { /* new: 28 octobre 2025 */ #declare Ground_Texture = texture { -pigment { rgb <0.31, 0.33, 0.24> } -normal { dents 0.22 scale 1.666} +pigment { srgb <0.31, 0.33, 0.24> } +normal { dents 0.24 scale 1.666} finish { ambient 0 specular 0.3 metallic roughness 0.33 reflection { 0.21 metallic } @@ -175,18 +175,18 @@ finish { * Textures avec les six teintes "de base" */ #declare R_Texture = texture { - pigment { rgb <1.0, 0.0, 0.0> } finish { ambient 0.33 } } + pigment { srgb <1.0, 0.0, 0.0> } finish { ambient 0.33 } } #declare G_Texture = texture { - pigment { rgb <0.0, 1.0, 0.0> } finish { ambient 0.33 } } + pigment { srgb <0.0, 1.0, 0.0> } finish { ambient 0.33 } } #declare B_Texture = texture { - pigment { rgb <0.0, 0.0, 1.0> } finish { ambient 0.33 } } + pigment { srgb <0.0, 0.0, 1.0> } finish { ambient 0.33 } } #declare Y_Texture = texture { - pigment { rgb <0.8, 0.8, 0.0> } finish { ambient 0.33 } } + pigment { srgb <0.8, 0.8, 0.0> } finish { ambient 0.33 } } #declare M_Texture = texture { - pigment { rgb <0.8, 0.0, 0.8> } finish { ambient 0.33 } } + pigment { srgb <0.8, 0.0, 0.8> } finish { ambient 0.33 } } #declare C_Texture = texture { - pigment { rgb <0.0, 0.8, 0.8> } finish { ambient 0.33 } } + pigment { srgb <0.0, 0.8, 0.8> } finish { ambient 0.33 } } /* ------------------------------------------------------------ */ /* nouvelle texture du début du jour de l'hiver 2025 */ @@ -248,7 +248,7 @@ scale <3, 4, 3> // le 10 fevrier 2026 ----------------- #declare T_WIP_dents = texture { -pigment { color <0.36, 0.6, 0.79> } +pigment { srgb <0.36, 0.6, 0.79> } normal { dents 2.94 scale 0.15 } rotate <12, 34, 56> finish { specular 0.40 ambient 0.59 } @@ -258,8 +258,8 @@ finish { specular 0.40 ambient 0.59 } #declare GoldDark = texture { - pigment{ rgb <0.81, 0.71, 0.23> } - finish{ diffuse 0.5 ambient 0 specular 1 metallic roughness 0.01 + pigment{ srgb <0.81, 0.71, 0.23> } + finish{ diffuse 0.5 ambient 0 specular 1 metallic roughness 0.02 reflection{0.6 metallic} } } // This is a metal. diff --git a/groundbase.inc b/groundbase.inc index b7b9cb2..e9102cc 100644 --- a/groundbase.inc +++ b/groundbase.inc @@ -16,7 +16,7 @@ difference { #local Hc = 0.90; box { <-0.90, 0, 0>, <0.90, Hc, 0.80> } - box { <-0.89, 0.01, -1> <0.89, Hc-0.01, 0.79> } + box { <-0.87, 0.01, -1> <0.87, Hc-0.02, 0.77> } #local Hc = Hc * 0.75; cylinder { <-1, Hc, -0.29>, <1, Hc, 0.29>, 0.09 } #undef Hc @@ -47,7 +47,7 @@ texture { T_Beton_2 } text { ttf "datas/ComicMono-Bold.ttf" Texte 0.1, 0 // texture { T_WIP_alert } - texture { T_WIP_bluewave rotate + texture { T_WIP_bluewave rotate <0, clock, NormClock*720> scale 0.59 } } } @@ -95,10 +95,10 @@ union { #local Dz = 1.0; box { <-Dx, 0, -Dz>, } #local Ha = y*(H_base*3); - cylinder { 0, Ha, 0.08 translate < Dx, 0, -Dz> } - cylinder { 0, Ha, 0.08 translate <-Dx, 0, -Dz> } #local Hb = Ha * 1.17; + cylinder { 0, Ha, 0.08 translate < Dx, 0, -Dz> } cone { Ha, 0.08, Hb, 0.05 translate < Dx, 0, -Dz> } + cylinder { 0, Ha, 0.08 translate <-Dx, 0, -Dz> } cone { Ha, 0.08, Hb, 0.05 translate <-Dx, 0, -Dz> } #undef Ha #undef Hb diff --git a/hexabenz.inc b/hexabenz.inc index 5e2fd34..c917de1 100644 --- a/hexabenz.inc +++ b/hexabenz.inc @@ -109,7 +109,7 @@ union { light_source { 0, rgb fade_distance 0.96 - fade_power 1.95 + fade_power 1.55 } } rotate -z*clock*8 @@ -151,7 +151,7 @@ difference { /* cette sphere devrait devenir un vrai cockpit ? */ object { Forme_Cockpit - translate y*R_Tube*0.97} + translate y*R_Tube*0.975} } cylinder { z*4, -z*4, R_int } } @@ -163,17 +163,18 @@ texture { Soft_Silver scale 6.0 } #macro Benz_Antenne () union { #local RBA = 0.020; - sphere { 0, RBA scale <1, 1, 10> } + sphere { 0, RBA scale <1, 1, 14> } union { #local RBA2 = RBA*0.149; - #local E = 0.018; - cylinder { E*z, <0, 0.20, E>, RBA2 } - cylinder { -E*z, <0, 0.20, E>, RBA2 } - scale <1, 1, 5.555> + #local E = 0.016; + cylinder { E*z, <0, 0.20, E>, RBA2 } + cylinder { E*z, <0, 0.20, 0>, RBA2 } + cylinder { -E*z, <0, 0.20, -E>, RBA2 } + scale <1, 1.5, 5.555> } #if ( mod(clock, 10+3*rand(Rng1)) < (10*rand(Rng1)) ) - texture { tPlasticPrune } + texture { tPlasticBlue } #else texture { tPlasticGreen } #end } diff --git a/hexacone.inc b/hexacone.inc index 9088a60..3ab38c4 100644 --- a/hexacone.inc +++ b/hexacone.inc @@ -50,7 +50,7 @@ union { #local yR = (rand(Rng2)-0.5000) * kR; #local zR = (rand(Rng2)-0.5000) * kR; #local Value = sin( (NormClock * 26.536) + - (3.14*rand(Rng1)) ); + (16.64*rand(Rng1)) ); #if (Value < 0) #local Couleur = rgb ; #else @@ -133,7 +133,7 @@ texture { GoldDark scale 6.50 } { difference { merge { - sphere { 0, 0.0141 scale <1, 1, 4.70> + sphere { 0, 0.0175 scale <1, 1, 4.70> translate <0, 0.26, -0.17> } cone { <0, -0.1, 0>, 0.114, <0, 0.26, -0.17>, 0.0096 scale <0.15, 1, 1> } @@ -154,7 +154,7 @@ union { // --------------------------------------------------------- #declare DTa = 0.278; -#declare DTb = 0.030; +#declare DTb = 0.032; // XXX #declare HexaCone_head = object // XXX { diff --git a/hexacone.pov b/hexacone.pov index 4acff15..42664a9 100644 --- a/hexacone.pov +++ b/hexacone.pov @@ -16,11 +16,11 @@ object { Le_Decor } // object { Repere scale 2 } -#declare Loc_cam = <2, 2.7-NormClock, 1> + (Pos_RedB_1 * 1.308); +#declare Loc_cam = <2, 2.7-NormClock, -1> + (Pos_RedB_1 * 1.308); camera { location Loc_cam - #local H = 1.16 + (NormClock*0.39); + #local H = 1.16 + (NormClock*0.42); look_at Pos_RedB_1 + <0.02, H, 0> right // focal_point <0.37, 0.90, 0> diff --git a/hexaflat.inc b/hexaflat.inc new file mode 100644 index 0000000..fa60251 --- /dev/null +++ b/hexaflat.inc @@ -0,0 +1,14 @@ + /*********************************************************/ + /* _ __ _ _ */ + /* | |__ ___ __ __ __ _ / _| | | __ _ | |_ */ + /* | '_ \ / _ \ \ \/ / / _` | | |_ | | / _` | | __| */ + /* | | | | | __/ > < | (_| | | _| | | | (_| | | |_ */ + /* |_| |_| \___| /_/\_\ \__,_| |_| |_| \__,_| \__| */ + /* */ + /* new of the March 28, 2026 */ + /*********************************************************/ + +/* ======================================================= */ + +/* ======================================================= */ + diff --git a/hexaflat.pov b/hexaflat.pov new file mode 100644 index 0000000..3c1f881 --- /dev/null +++ b/hexaflat.pov @@ -0,0 +1,8 @@ + /*********************************************************/ + /* _ __ _ _ */ + /* | |__ ___ __ __ __ _ / _| | | __ _ | |_ */ + /* | '_ \ / _ \ \ \/ / / _` | | |_ | | / _` | | __| */ + /* | | | | | __/ > < | (_| | | _| | | | (_| | | |_ */ + /* |_| |_| \___| /_/\_\ \__,_| |_| |_| \__,_| \__| */ + /* */ + /*********************************************************/ diff --git a/hexastar.inc b/hexastar.inc index 45eca86..1f7d0fd 100644 --- a/hexastar.inc +++ b/hexastar.inc @@ -41,7 +41,7 @@ union { // les ailettes intérieures #for (foo, 0, 5) - cylinder { 0, x*HSCR, R*0.15 rotate y*foo*60 } + cylinder { 0, x*HSCR, R*0.25 rotate y*foo*60 } #end // traitement final @@ -49,8 +49,8 @@ union { rotate z*90 #local R = rand(Rng1); - #if ( R < 0.17 ) texture { Y_Texture } - #elseif ( R < 0.66 ) texture { T_Gold_1A } + #if ( R < 0.17 ) texture { T_Gold_3C } + #elseif ( R < 0.56 ) texture { T_Gold_1A } #else texture { Aluminum } #end } @@ -72,10 +72,6 @@ union { #end } #end // macro -/* ------------------------------------------------------------ */ -/* nouveau XXX janvier 2026 */ - - // UNE ANTENNE ? /* ============================================================ */ /* On regroupe les N*six élements */ diff --git a/hexastar.pov b/hexastar.pov index 64fb71e..93a3317 100644 --- a/hexastar.pov +++ b/hexastar.pov @@ -14,11 +14,14 @@ object { Le_Decor } -#declare CK = 2.03 - (NormClock * 2.72); -#declare DX_cam = 6.1 * cos(CK); -#declare DZ_cam = 5.2 * sin(CK); -#declare Loc_cam = + Pos_RedB_3; -#declare Lat_cam = <0, 1.95, 0> + Pos_RedB_3; +#declare CK = 2.03 - (NormClock * 2.77); +#declare DX_cam = 6.11 * cos(CK); +#declare DY_cam = 2.00 + sin(CK+1.111); +#declare DZ_cam = 5.19 * sin(CK); + +#declare Loc_cam = + Pos_RedB_3; +#declare Lat_cam = <0, 1.95, -0.5 + NormClock> + Pos_RedB_3; + camera { location Loc_cam look_at Lat_cam diff --git a/hexawood.inc b/hexawood.inc index d0b8257..21b3b3f 100644 --- a/hexawood.inc +++ b/hexawood.inc @@ -31,7 +31,7 @@ union { #if ( rand(Rng1) < 0.5 ) texture { T_Wood32 rotate 37 scale 1.30 } #else - texture { T_Wood23 rotate x*87 scale 1.33 } + texture { T_Wood23 rotate x*87 scale 1.13 } #end // rotate -z*foo translate @@ -68,7 +68,7 @@ difference { cylinder { -y, y, 0.07 translate } #end #local R = rand(Rng1); - #if (R<0.20) + #if (R<0.30) texture { T_Wood17 rotate <10, 20, 30> scale 0.82 } #else texture { T_Wood15 rotate <17, 28, 39> scale 1.42 } diff --git a/orbite.pov b/orbite.pov index ec0c77a..42d75a4 100644 --- a/orbite.pov +++ b/orbite.pov @@ -51,7 +51,7 @@ union { } // ======================================================= -#local RO = 5.39; +#local RO = 5.43; #local CK = NormClock * 13.37; #declare PosX = RO * sin(CK); @@ -60,6 +60,7 @@ union { object { HexaBenz () rotate -y*CK*82.3 translate } + #declare PosX = RO * sin(CK+2.12); #declare PosY = 0; #declare PosZ = RO * cos(CK+2.23); @@ -71,7 +72,7 @@ object { HexaCone () #declare PosY = 0; #declare PosZ = RO * cos(CK+3.23); object { Trident_A () - rotate + rotate rotate y*CK*99.22 translate } @@ -87,7 +88,7 @@ light_source { <23, 10, 15>, rgb <0.77, 0.79, 0.80> } // ------------------------------------------------------------- camera { - location <9+NormClock, 1.60+(11*NormClock), 11.59> + location <9+NormClock, 1.60+(17*NormClock), 11.59> look_at <0.0, 0.0, 0> right #if (0) @@ -95,6 +96,6 @@ camera { aperture 0.046 blur_samples 30 #end - angle 61 - (5*NormClock) + angle 61 - (7*NormClock) } diff --git a/passage.pov b/passage.pov index f440755..9ef2eb5 100644 --- a/passage.pov +++ b/passage.pov @@ -11,7 +11,7 @@ #include "all.inc" #declare PosX = 3.95; -#declare PosY = 3.80 + (NormClock*0.299); +#declare PosY = 3.60 + (NormClock*0.299); #declare PosZ = (NormClock-0.5) * 45.27; object { HexaCone () translate } @@ -23,22 +23,22 @@ object { HexaStar rotate y*90 translate } object { Le_Decor } -#if ( (clock < 181) ) +#if ( (clock < 161) ) light_source { <3, 0.30, -8> color Blue spotlight - radius .044 + radius .0666 falloff 2 tightness 3 point_at } #end -#if ( (clock > 230) & (clock < 340) ) +#if ( (clock > 230) & (clock < 440) ) light_source { <2, 0.30, -2> color Green spotlight - radius .044 + radius .0666 falloff 2 tightness 3 point_at diff --git a/patrouille.pov b/patrouille.pov index 95b05b0..ead337d 100644 --- a/patrouille.pov +++ b/patrouille.pov @@ -18,21 +18,15 @@ object { Le_Decor } /* =============================================================== */ #declare CamX = 90 - (4 * NormClock); -#declare CamY = 176; +#declare CamY = 188; #declare CamZ = 170 - (33 * NormClock); -/* XXX to be verified ! -#declare LatX = Loc_Patrouille.x; -#declare LatY = Loc_Patrouille.y; -#declare LatZ = Loc_Patrouille.z; - */ - camera { location look_at Loc_Patrouille right - angle 13 + angle 13.3333333 } /* =============================================================== */ diff --git a/scene.pov b/scene.pov index 6110e61..72202e7 100644 --- a/scene.pov +++ b/scene.pov @@ -21,10 +21,10 @@ object { Le_Decor } #declare CamX = Dcam * cos(radians(CK+0.9)); #declare CamZ = Dcam * 1.20 * sin(radians(CK)); -#declare LatY = 2.45 + (1.47 * Cos_010(NormClock)); +#declare LatY = 2.25 + (1.51 * Cos_010(NormClock)); camera { - location + location look_at <0.03, LatY, 0.17> right // focal_point Lat diff --git a/survol.pov b/survol.pov index 8ebc9a5..a8a5176 100644 --- a/survol.pov +++ b/survol.pov @@ -15,12 +15,12 @@ object { Le_Decor } // XXX instrumenter la caméra serait un GROS plus !!! // ======================================================= -#declare Debut = <-33, 92, 289> ; -#declare Fin = < 36, 83, -2> ; -#declare Pos = sqrt(NormClock); +#declare Debut = <-33, 92, 296> ; +#declare Fin = < 36, 83, -4> ; +#declare Pos = Cos_01(NormClock); #declare PosCam = Interpolate(Debut, Fin, Pos); -#declare LatX = 0.614 * sin(NormClock*13.37); +#declare LatX = 1.664 * sin(NormClock*13.37); #declare LatZ = -(150 + (7*NormClock)); #declare LatCam = PosCam + ; diff --git a/tools/config.sh b/tools/config.sh index 8cd024e..f0aa867 100644 --- a/tools/config.sh +++ b/tools/config.sh @@ -1,10 +1,10 @@ # size of the video -Img_Width=1024 +Img_Width=1152 Img_Height=720 # for imagemagick TEXTCOL="Yellow" STROKOL="Green" -NBFRAMES=450 +NBFRAMES=480 diff --git a/tools/mkloop.sh b/tools/mkloop.sh index 605efae..f8d6d1b 100755 --- a/tools/mkloop.sh +++ b/tools/mkloop.sh @@ -43,15 +43,15 @@ do txt=$(printf "%03d" ${frame} | tr '01' 'ol') # echo $frame $img $txt convert ${TMPIMG} \ - -font Courier-Bold \ - -pointsize 48 \ + -font Courier-Regular \ + -pointsize 46 \ -kerning 4 \ -strokewidth 1 \ -fill ${STROKOL} -stroke ${TEXTCOL} \ -gravity south-west \ - -annotate +25+5 "$txt" \ - -gravity south-east \ -annotate +25+5 "$sqn" \ + -gravity south-east \ + -annotate +25+5 "$txt" \ ${img} fin=$(date +%s) echo ; sleep 1 diff --git a/tools/plot-timing.sh b/tools/plot-timing.sh index ea951b9..7053821 100755 --- a/tools/plot-timing.sh +++ b/tools/plot-timing.sh @@ -19,7 +19,7 @@ fi count=$( grep $sequence WS/mp4.timing | wc -l ) echo "$count samples for $sequence" -grep $sequence WS/mp4.timing | tail -4000 | awk \ +grep $sequence WS/mp4.timing | tail -3000 | awk \ -v nbframes=$NBFRAMES \ ' \ BEGIN { \ @@ -59,7 +59,7 @@ gnuplot << __EOC__ set term png size $Img_Width,$Img_Height set output "timing.png" set grid - set xrange [:450] + set xrange [0:${NBFRAMES}] set yrange [0:] set title "Séquence '${sequence}'" set xlabel "numéro de la trame" diff --git a/topview.pov b/topview.pov index de63c65..265267d 100644 --- a/topview.pov +++ b/topview.pov @@ -29,11 +29,13 @@ object { HexaWood translate P } object { Le_Decor } -#declare CamY = 47 - (9.50 * Cos_01(NormClock)); +#declare CamY = 47 - (9.70 * Cos_01(NormClock)); +#declare CamZ = 10.70 + (2*NormClock); + #declare LatY = -4 + ( 2.12 * NormClock); camera { - location <-3.60, CamY, 10.09> + location <-3.60, CamY, CamZ> look_at <0.6, LatY, 0> right // focal_point <2, 1, 12> diff --git a/trident.inc b/trident.inc index 7e8b717..2b3cca3 100644 --- a/trident.inc +++ b/trident.inc @@ -12,7 +12,7 @@ #declare Trid_cone = object { merge { - cone { 0, R_basecone, y*0.89, 0.0001 } + cone { 0, R_basecone, y*0.84, 0.0001 } sphere { 0, R_basecone } } } @@ -20,7 +20,7 @@ merge { #macro Trid_A_cone () difference { object { Trid_cone } - object { Trid_cone translate -y*0.06 } + object { Trid_cone translate -y*0.08 } #local Foo = rand(Rng1); #if (Foo < 0.25) texture { T_Brass_2C } #elseif (Foo < 0.50) texture { tPlasticOrange } diff --git a/xperiment.inc b/xperiment.inc index 2c1cb31..d28804e 100644 --- a/xperiment.inc +++ b/xperiment.inc @@ -63,7 +63,7 @@ union { #declare Patrouille = object { union { - #local EX = 1.9; + #local EX = 1.9 + (0.3*cos(NormClock*5)); #local EZ = 2.0 + (0.5*sin(NormClock*2)); object { Trident_A () rotate x*87 } object { HexaBenz () translate <-EX, 0, -EZ> } @@ -81,11 +81,11 @@ merge { sphere { 0, 0.06 } #local R = rand(Rng1); #if (R < 0.25) - texture { T_Chrome_3A } + texture { R_Texture } #elseif (R < 0.50) - texture { T_Chrome_2B } + texture { Y_Texture } #elseif (R < 0.75) - texture { T_Chrome_3C } + texture { G_Texture } #else texture { T_Chrome_3D } #end // IF @@ -129,7 +129,7 @@ union { object { Corps_Wagonnet_0 (Longueur) } #for (Foo, 0, 5) #local DX = 0.35 - (Foo*0.24); - #local RP = -30 + (60 * rand(Rng1)); + #local RP = -30 + (80 * rand(Rng1)); object { Pointe_Wagonnet_0 () translate rotate x*RP } #end @@ -264,10 +264,10 @@ difference { #local R = rand(Rng1); // #debug concat("Random = ", str(R, 6, 4), "\n") - #if ( R < 0.23 ) texture { T_Planete_B } + #if ( R < 0.27 ) texture { T_Planete_B } #elseif ( R < 0.56 ) texture { T_Beton_1 } - #else texture { T_Beton_2 } - #end // if + #else texture { T_Planete_A } + #end // if R rotate y * (207 * rand(Rng1)) }