From 606536c3f30510d981788ddaf5b2ddb25e1001e5 Mon Sep 17 00:00:00 2001 From: Tonton Th Date: Sat, 14 Feb 2026 13:35:54 +0100 Subject: [PATCH] welcome here, hexa-patrol --- Makefile | 6 +- TODO.md | 1 + architecture.inc | 6 +- around.pov | 4 +- carto.pov | 20 ++++--- circular.pov | 4 +- contexte.inc | 60 ++++++++++--------- dynamic.inc | 22 +++---- essai.pov | 150 +++++++++++++++++------------------------------ gadgets.inc | 26 ++++++-- globals.inc | 2 +- hexastar.inc | 17 +++--- orbite.pov | 6 +- remote.pov | 8 +-- scene.pov | 2 +- survol.pov | 2 +- topview.pov | 19 ++---- xperiment.inc | 42 ++++++++----- 18 files changed, 198 insertions(+), 199 deletions(-) diff --git a/Makefile b/Makefile index 5e56ded..25afacd 100644 --- a/Makefile +++ b/Makefile @@ -21,9 +21,13 @@ PNG: essai.png scene.png topview.png passage.png \ hexacone.png remote.png survol.png cutoff.png \ carto.png hexawood.png bubblecut.png \ circular.png panoramic.png splined.png \ - trident.png approche.png hexastar.png + trident.png approche.png hexastar.png \ + patrouille.png echo "make PNG ck=$(CK) done" >> WS/log +patrouille.png: patrouille.pov Makefile $(POVDEP) + povray $(POVOPT) $(DIMS) -K$(CK) -i$< -o$@ + around.png: around.pov Makefile $(POVDEP) povray $(POVOPT) $(DIMS) -K$(CK) -i$< -o$@ diff --git a/TODO.md b/TODO.md index 6fbc9a3..6284baf 100644 --- a/TODO.md +++ b/TODO.md @@ -19,6 +19,7 @@ - Songer à un cadriciel pour la piste son. - Trouver un compositeur et les musiciens. +- Étudier à fond la documentation de `sox` ## ... en bref ... diff --git a/architecture.inc b/architecture.inc index b7d0f37..24541b5 100644 --- a/architecture.inc +++ b/architecture.inc @@ -69,9 +69,9 @@ merge { cylinder { <0, Epp, -K*0.9>, <0, Epp, K*0.9>, K } #local R = rand(Rng1); #if (R < 0.63) - texture { T_Grnt6 scale 4 } + texture { T_Grnt6 scale 4 } #else - texture { T_Stone34 scale 3 } + texture { T_Stone34 scale 3+rand(Rng2) } #end } #end // macro @@ -82,7 +82,7 @@ merge { #local K = 0.36; box { <-L, 0, -K>, } cylinder { <0, Epp, -K*0.9>, <0, Epp, K*0.9>, K } - texture { T_WIP_rasta } + texture { T_WIP_dents rotate y*(rand(Rng1)*77) } } #end // macro diff --git a/around.pov b/around.pov index 41d4c54..93a93fd 100644 --- a/around.pov +++ b/around.pov @@ -21,11 +21,11 @@ object { Le_Decor } #declare CamX = R_around * cos(CK); #declare CamY = 15.777 + (4*Cos_010(NormClock)); -#declare CamZ = R_around * sin(CK); +#declare CamZ = R_around * 1.5 * sin(CK); camera { location look_at <0, 2, 0> right - angle 45 + angle 44 } diff --git a/carto.pov b/carto.pov index d181caa..27c8634 100644 --- a/carto.pov +++ b/carto.pov @@ -13,22 +13,24 @@ #include "all.inc" // --------------------------------------------------------- +object { Repere scale 20 translate y*20 } // --------------------------------------------------------- // dessiner une grille - -#for (Foo, -140, 140, 10) - #local H = 0.17; - cylinder { <-150, H, Foo>, <150, H, Foo>, 0.06 } - cylinder { , , 0.06 } -#end +union { + #for (Foo, -140, 140, 10) + #local H = 0.07; + #local Ra = 0.05; + cylinder { <-150, H, Foo>, <150, H, Foo>, Ra } + cylinder { , , Ra } + #end + pigment { color Black } + } // --------------------------------------------------------- - -object { Repere scale 20 translate y*20 } object { Le_Decor } camera { - location <45, 179+(76*NormClock), 18-(17*NormClock)> + location <45, 149+(99*NormClock), 18-(12*NormClock)> look_at <0, 1.18, 0.17 + (2.4*NormClock)> right angle 50 diff --git a/circular.pov b/circular.pov index 6f95483..1cff9ac 100644 --- a/circular.pov +++ b/circular.pov @@ -26,12 +26,12 @@ object { Le_Decor } #declare AV = 0.070; #declare LatX = R_circ * 0.96 * cos(CK + AV); #declare LatY = 2.65; -#declare LatZ = R_circ * 0.97 * sin(CK + AV); +#declare LatZ = R_circ * 0.95 * sin(CK + AV); camera { location look_at right - angle 60 + angle 64 } diff --git a/contexte.inc b/contexte.inc index 0a37dfd..9b8864b 100644 --- a/contexte.inc +++ b/contexte.inc @@ -11,8 +11,8 @@ #macro Trois_Portiques (Dist) union { object { Portique_A () } - object { Portique_A () scale <1, 1.15, 1> translate z*5 } - object { Portique_A () translate z*10 } + object { Portique_A () scale <1, 1.2, 1> translate z*11 } + object { Portique_A () rotate y*11 translate z*22 } // XXX scale 1.85 } #end // macro trois portiques @@ -22,17 +22,13 @@ union { * essai du 12 mars 2025 */ -#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 = -24; #declare RedB_1_Z = 8; -#declare RedB_2_X = 36; -#declare RedB_2_Z = -21; +#declare RedB_2_X = 36; #declare RedB_2_Z = -21; -#declare RedB_3_X = 42; -#declare RedB_3_Z = -5; +#declare RedB_3_X = 42; #declare RedB_3_Z = -5; #declare Pos_RedB_0 = ; #declare Pos_RedB_1 = ; @@ -69,7 +65,7 @@ union { #local R = rand(Rng1); #if (R < 0.33) texture { T_Stone25 scale 1+rand(Rng1) } #elseif (R < 0.66) texture { T_Stone15 scale 1+rand(Rng1) } - #else texture { T_Stone6 } + #else texture { T_Stone6 scale 1+rand(Rng1) } #end #undef R } @@ -112,7 +108,7 @@ union { #macro Les_GyroPhares () union { - #local E = SzSol * 0.455; + #local E = SzSol * 0.471; #for (Idx, 0, 359, 60) #local Ang = radians(Idx+9.33); #local Dx = E * sin(Ang); @@ -125,11 +121,10 @@ union { /* ======================================================= */ /* 11 avril 2025, je pose un grand cercle d'hexapoles * 9 octobre 2025, je rajoute un rail circulaire - + * les navettes qui circulent sont dans 'dynamic.inc' */ #declare Les_HexaPoles = object { - union { #for (Ang, 0, 359, 6) #local De = 3.6 + (0.5*rand(Rng1)); @@ -233,11 +228,12 @@ blob { #for (Idx, 0, 5) #local Angle = (Idx + 0.19) * 1.09; // magic numbers ? - #local Px = sin(Angle) * (SzSol * 0.98); - #local Pz = cos(Angle) * (SzSol * 1.02); - + #local Kr = 6 - (rand(Rng1)*3); + #local Px = Kr + sin(Angle) * (SzSol * 0.98); + #local Kr = 6 - (rand(Rng1)*3); + #local Pz = Kr + cos(Angle) * (SzSol * 1.02); #ifdef (DEBUG_LEVEL) - #write (Trid, "Def ", Idx, " ", NormClock, " ", Px, " ", Pz, "\n") + #write (Trid, "Def_", Idx, " ", NormClock, " ", Px, " ", Pz, "\n") #end // put the coords in the array. #declare UnderHoles[Idx] = ; @@ -261,13 +257,21 @@ difference { } } -/* 10 fev 2026, on place des bordures autour des trous */ -/* -> xperiment.inc */ -#for (foo, 0, 5) - #local YHB = (0.08 + (0.5*rand(Rng1)) * y); - object { HoleBorder (1.14) translate YHB + UnderHoles[foo] } -#end - +/* 10 fev 2026, on place des bordures autour des trous */ +/* voir aussi -> xperiment.inc */ +#declare Les_Bordures = object +{ +union { + #for (foo, 0, 5) + // #local YHB = (0.08 + (0.5*rand(Rng1)) * y); + #if (rand(Rng1) < 0.5) + object { HoleBorder_A (1.04) translate UnderHoles[foo] } + #else + object { HoleBorder_B (1.06) translate UnderHoles[foo] } + #end // if + #end // for + } +} /* ======================================================= */ /* * nouvel éclairage du 10 février 2025 @@ -302,7 +306,7 @@ rotate -19 * y union { /* a l'interieur du 'circular' */ object { Chose () translate <-25, 0, -31> } - object { Chose () translate < 20, 0, -32> } + object { Chose () translate < 20, 0, -36> } /* a l'exterieur du 'circular' */ #for (foo, 0, 359, 18) #local CK = radians(foo + (9*rand(Rng1))); @@ -376,6 +380,7 @@ sky_sphere { { union { object { Underground } + object { Les_Bordures } #include "groundbase.inc" object { La_GroundBase } @@ -393,7 +398,8 @@ union { object { QuadriLight } object { Les_GyroPhares () } object { Les_HexaPoles } - object { Horloge rotate y*27 translate < 3, 0, -30> } + object { HorlogeDouble rotate y*(27*NormClock) + translate < 3, 0, -30> } object { Les_Choses } object { Les_Arches (1.9) rotate y*132 translate <-34, 0, -26> } diff --git a/dynamic.inc b/dynamic.inc index 7e02b78..08ec9f5 100644 --- a/dynamic.inc +++ b/dynamic.inc @@ -5,25 +5,25 @@ // rajout d'une patrouille en vol // 2 janvier 2026 -#local CK = clock / 150; // en radians -#local RD = 63; // rayon deplacement -#local Xp = RD * sin(CK); -#local Zp = RD * cos(CK); object { - object { Patrouille } - rotate y*degrees(CK) - translate - translate <-30, 0, 0> - } + #local CK = clock / 210; // en radians + #local RD = 63; // rayon deplacement + #local Xp = RD * sin(CK); + #local Zp = RD * cos(CK); + #declare Loc_Patrouille = ; + object { Patrouille } + rotate y*degrees(CK) + translate Loc_Patrouille + } // ======================================================= // on va tenter de placer quelques trucs // qui bougent sur le rail circulaire #for (foo, 0, 5) -#local CK = (NormClock+(foo*0.0200)) * 4.02; // radians +#local CK = (NormClock+(foo*0.0200)) * 4.05; // radians #declare Xpos = R_circular * sin(CK); #declare Zpos = R_circular * cos(CK); #declare AR = degrees(CK); @@ -62,7 +62,7 @@ object { BiBenz rotate -y*(clock*0.26) translate Pos_RedB_0 } #local K = 1.27; union { object { HexaCone () rotate y*90 translate <-K, 1.7, 0> } - object { HexaCone () rotate <4, 1, 7> translate < K, 1.9, 0> } + object { HexaCone () rotate <9, 1, 7> translate < K, 1.9, 0> } } } object { BiCone rotate -y*(Cos_010(NormClock)*65.38) translate Pos_RedB_1 } diff --git a/essai.pov b/essai.pov index 713747c..25e1177 100644 --- a/essai.pov +++ b/essai.pov @@ -5,7 +5,7 @@ #version 3.7; -#declare DEBUG_LEVEL = 1; // un nouveau test ? +// #declare DEBUG_LEVEL = 1; // un nouveau test ? #include "globals.inc" #declare NO_DYNAMIC = 1; @@ -16,24 +16,27 @@ -* __________________________ */ // ======================================================= -// nouveau du 3 janvier 2026 -#local Horloge2 = object -{ -object { Horloge scale <1, 0.24, 1> rotate -x*90 - translate x*0.45 } -} -#declare HorlogeDouble = object -{ -union { - box { <-3.20, -0.08, -0.07>, <3.20, 1.61, 0.07> - texture { LeGris } } - #local EC = 0.22; - object { Horloge2 rotate y*180 translate z*EC } - object { Horloge2 translate -z*EC } +// nouveau du 10 février 2026 +#macro Anemone_A (E, H) +union { + #for (foo, 0, 5) + #local A = radians(foo*60); + #local DX = E * sin(A); + #local DZ = E * cos(A); + cone { y*(H/8), 0.20, , 0.001 + #local Rv = 0.7 + (0.2*rand(Rng1)); + #local Gv = 0.6 + (0.2*rand(Rng1)); + #local Bv = 0.6 + (0.3*rand(Rng1)); + texture { + pigment { rgb } + finish { phong 0.51 reflection 0.05 } + } + } + sphere { 0, 0.45 texture { T_WIP_color } } + #end // for } -scale 0.8 -translate y*2.35 -} +#end // macro + // ======================================================= /* * new Thu Dec 18 01:14:19 AM UTC 2025 @@ -122,78 +125,25 @@ merge { // ------------------------------------------------------- -#declare BasicTextures = object -{ -#local TR = 2.20; -union { - object { Obj_BasicTexture texture { R_Texture } - translate } - object { Obj_BasicTexture texture { G_Texture } - translate <0, 0, -1> } - object { Obj_BasicTexture texture { B_Texture } - translate <0, 0, TR/2> } - - object { Obj_BasicTexture texture { Y_Texture } - translate < TR, 0, TR> } - object { Obj_BasicTexture texture { M_Texture } - translate <-TR, 0, TR> } - object { Obj_BasicTexture texture { C_Texture } - translate <-TR, 0, -TR> } - object { Repere scale 1.5 translate y*2.5 } - } -} - -// ------------------------------------------------------- -/* - * Après lecture de la doc (et une bonne 8.6), j'ai - * décidé de me lancer dans la création de textures - */ - -#declare T_WIP_R = texture -{ -pigment { color Red } -finish { phong 0.42 ambient 0.50 } -} - -#declare T_WIP_G = texture -{ -pigment { color Green } -finish { phong 0.23 ambient 0.30 } -} - -#declare T_WIP_B = texture -{ -pigment { color Blue } -finish { phong 0.23 ambient 0.50 } -} - -// deuxieme lot ---------------------- -#declare T_WIP_1 = texture -{ -pigment { color <0.36, 0.6, 0.79> } -normal { dents 2.94 scale 0.5 } -finish { specular 0.40 ambient 0.69 } -} - // ------------------------------------------------------- // the place to try new textures #declare ProtoTextures = object { -#local TX = 2.35; +#local TX = 2.55; #local TZ = 2.95; -#local Kro = 32 + (NormClock * 17); +#local Kro = 32 + (NormClock * 37); union { - object { Obj_BasicTexture texture { T_WIP_R } + object { Obj_BasicTexture texture { R_Texture } rotate y * (rand(Rng1)*Kro) translate } - object { Obj_BasicTexture texture { T_WIP_G } + object { Obj_BasicTexture texture { G_Texture } rotate y * (rand(Rng1)*Kro) translate } - object { Obj_BasicTexture texture { T_WIP_B } + object { Obj_BasicTexture texture { B_Texture } rotate y * (rand(Rng1)*Kro) translate } - object { Obj_BasicTexture texture { T_WIP_1 } + object { Obj_BasicTexture texture { T_WIP_dents } rotate y * (rand(Rng1)*Kro) translate <-TX, 0, TZ> } object { Obj_BasicTexture texture { T_WIP_rasta } @@ -252,11 +202,11 @@ object { GyroTrucs } #declare Architecture = object { union { - object { Portique_A () translate z*4 } - object { Portique_A () scale 2 translate z*2 } - object { Portique_A () scale 1.5 } - object { Portique_A () scale 2 translate -z*2 } - object { Portique_A () translate -z*4 } + object { Portique_A () translate z*6.5 } + object { Portique_A () scale 2 translate z*2 } + object { Portique_A () scale 1.8 } + object { Portique_A () scale 2 translate -z*3 } + object { Portique_A () rotate y*9 translate -z*6.5 } // object { Fleche translate y } } } @@ -265,18 +215,18 @@ union { #debug " !!! ACTION !!!\n" light_source { - <-18, 54, -7> - colour Gray50 + <-19, 44, -7> + colour Gray40 parallel point_at 0 } // ------------------------------------------------------ ## -#declare Selector = mod(int(clock/80), 8); +#declare Selector = int(clock/57); #debug concat("Selector = ", str(Selector, 6, 0), "\n") -#declare AngleCam = 17 - 3*Cos_01(NormClock); +#declare AngleCam = 27 - 3*Cos_01(NormClock); #switch (Selector) #case (0) @@ -287,27 +237,35 @@ union { #local AngleCam = 31.0; #break #case (2) - object { Le_ConeStack () translate y*0.20 } + object { HoleBorder_A (2.12) translate y } #break #case (3) - object { HorlogeDouble rotate -y*(5*clock) } - // object { Repere translate y*1 } + object { HorlogeDouble scale 2 rotate -y*(6*clock) } + object { Repere translate y*1 } #break #case (4) object { Trident_A () scale 1.8 - rotate <35, 0, 12> translate 2.2*y + rotate <35, 0, 12> translate 2.6*y rotate -y*(clock*2) } #break #case (5) - object { Les_Boules translate y*0.8 } + 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 translate y*3 } + 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*clock translate 0 } + object { ProtoTextures rotate -y*(55*Cos_01(NormClock)) } #break #end // switch selector @@ -320,17 +278,19 @@ plane { // ======================================================= #local CamX = -2.7 + (1.8*Cos_010(NormClock)); -#local CamY = 0.61 + (1.1*exp(NormClock)); +#local CamY = 0.61 + (0.9*exp(NormClock)); #local CamZ = -5.777 + (1.2*Cos_01(NormClock)); #local K = 8.6; #local CamX = CamX * K; -#local CamY = CamY * K * 0.61; +#local CamY = CamY * K * 0.41; #local CamZ = CamZ * K; camera { + orthographic location look_at <0, 1.6, 0> + right angle AngleCam } diff --git a/gadgets.inc b/gadgets.inc index 39cf26d..0a65dbe 100644 --- a/gadgets.inc +++ b/gadgets.inc @@ -119,13 +119,31 @@ union { text { // ttf "datas/DSEG7Classic-Regular.ttf" Texte 0.1, 0 ttf "datas/ComicMono-Bold.ttf" Texte 0.1, 0 - texture { tPlasticPrune } + texture { tPlasticBlue } } -scale 2.10 +scale 1.96 rotate 90*x -translate <-4.5, 0.043, 0> +translate <-4.5, 0.046, 0> +} +// ======================================================= +// nouveau du 3 janvier 2026 +#local Horloge2 = object +{ +object { Horloge scale <1, 0.28, 1> rotate -x*90 + translate <0.442, 0.14, 0> } +} +#declare HorlogeDouble = object +{ +union { + box { <-3.20, 0.0, -0.07>, <3.20, 1.64, 0.07> + texture { LeGris } } + #local EC = 0.19; + object { Horloge2 rotate y*180 translate z*EC } + object { Horloge2 translate -z*EC } + } +scale 0.51 +translate y*1.35 } - // ======================================================= /* * need more work ! diff --git a/globals.inc b/globals.inc index db7250c..38d38ac 100644 --- a/globals.inc +++ b/globals.inc @@ -123,7 +123,7 @@ finish { roughness 1.00 } #declare tPlasticBlue = texture { - pigment{rgb <0.50, 0, 2.0>} + pigment{rgb <0.20, 0, 2.0>} finish { ambient 0.1 diffuse 0.6 diff --git a/hexastar.inc b/hexastar.inc index 833eae6..45eca86 100644 --- a/hexastar.inc +++ b/hexastar.inc @@ -12,10 +12,10 @@ #macro HS_element_pointe () union { - #local R_a = HS_radius * 0.33333; + #local R_a = HS_radius * 0.369; #local Small = 0.00001; cone { <-1.34, 0, 0>, Small, <-0.6, 0, 0>, R_a } - sphere { 0, R_a scale <0.3, 1, 1> translate <-0.6, 0, 0> } + sphere { 0, R_a scale <0.42, 1, 1> translate <-0.6, 0, 0> } #local R = rand(Rng1); #if ( R < 0.45 ) texture { GoldDark } #elseif ( R < 0.60 ) texture { Aluminum } @@ -35,9 +35,9 @@ union { // le noyau central #local L = 0.0028; #local R = 0.0577; - cylinder { -y*L, y*L, R } - sphere { 0, R translate -y*L } - sphere { 0, R translate y*L } + cylinder { -y*L, y*L, R } + sphere { 0, R translate y*L } + sphere { 0, R scale <1, 0.20, 1>translate -y*L } // les ailettes intérieures #for (foo, 0, 5) @@ -59,12 +59,13 @@ union { /* nouveau 14 janvier 2026 */ #macro HS_element_queue () union { - #local R_a = HS_radius * 0.2222; + #local R_a = HS_radius * 0.228; #local Small = 0.001; cone { < 0.44, 0, 0>, Small, < 0.88, 0, 0>, R_a } sphere { 0, R_a scale <0.7, 1, 1> translate <0.88, 0, 0> } #local R = rand(Rng1); - #if ( R < 0.35 ) texture { Rust rotate y*(rand(Rng1)*133)} + #if ( R < 0.35 ) texture { Rust scale 3.33 + rotate y*(rand(Rng1)*273) } #elseif ( R < 0.50 ) texture { T_Gold_5A } #elseif ( R < 0.80 ) texture { Aluminum } #else texture { T_Gold_3C } @@ -89,7 +90,7 @@ union { object { HS_element_pointe () translate <0, Ty*1.16, Tz*1.16> } object { HS_element_queue () - translate <0, Ty, Tz> } + translate <0, Ty*0.80, Tz> } } #end // end for object { HS_element_central () } diff --git a/orbite.pov b/orbite.pov index b2748b9..7eaae72 100644 --- a/orbite.pov +++ b/orbite.pov @@ -51,7 +51,7 @@ union { } // ======================================================= -#local RO = 5.29; +#local RO = 5.39; #local CK = NormClock * 13.37; #declare PosX = RO * sin(CK); @@ -71,7 +71,7 @@ object { HexaCone () #declare PosY = 0; #declare PosZ = RO * cos(CK+3.23); object { Trident_A () - rotate x*clock + rotate rotate y*CK*99.22 translate } @@ -83,7 +83,7 @@ object { HexaStar } object { Planete rotate (-clock*0.31)*y } -light_source { <23, 8, 15>, rgb <0.77, 0.79, 0.80> } +light_source { <23, 10, 15>, rgb <0.77, 0.79, 0.80> } // ------------------------------------------------------------- camera { diff --git a/remote.pov b/remote.pov index 77dec15..ed71fb4 100644 --- a/remote.pov +++ b/remote.pov @@ -33,10 +33,10 @@ object { Le_Decor } // object { Repere scale 3 translate } -#local DistCam = 440 + (12 * NormClock); -#local CK = -1.101 - (0.042 * NormClock); +#local DistCam = 460 + (16 * NormClock); +#local CK = -1.71 - (0.039 * NormClock); #declare CamX = DistCam * sin(CK); -#declare CamY = 28; +#declare CamY = 28 + NormClock; #declare CamZ = DistCam * cos(CK); camera { @@ -46,5 +46,5 @@ camera { // focal_point <2, 1, 12> // aperture 0.046 // blur_samples 30 - angle 3.6 + angle 3.5 } diff --git a/scene.pov b/scene.pov index d3f8b34..d912503 100644 --- a/scene.pov +++ b/scene.pov @@ -17,7 +17,7 @@ object { Le_Decor } #declare CK = 144 + (clock * 0.27); #declare Dcam = 3.75; -#declare CamX = Dcam * cos(radians(CK)); +#declare CamX = Dcam * cos(radians(CK+0.9)); #declare CamZ = Dcam * 1.20 * sin(radians(CK)); #declare LatZ = 2.45 + (0.9 * Cos_010(NormClock)); diff --git a/survol.pov b/survol.pov index 2c2f3c7..136249f 100644 --- a/survol.pov +++ b/survol.pov @@ -20,7 +20,7 @@ object { Le_Decor } #declare Pos = sqrt(NormClock); #declare PosCam = Interpolate(Debut, Fin, Pos); -#declare LatX = 0.414 * sin(NormClock*6.1); +#declare LatX = 0.614 * sin(NormClock*9.7); #declare LatZ = -(150 + (7*NormClock)); #declare LatCam = PosCam + ; diff --git a/topview.pov b/topview.pov index 0c927d6..dfea69a 100644 --- a/topview.pov +++ b/topview.pov @@ -10,24 +10,17 @@ #declare NO_DYNAMIC = 0; #include "all.inc" - -/* XXX -#declare TrX = 1.84 * sqrt(NormClock); -#declare TrY = 0.90 + (3.5 * Cos_01(NormClock)); -#declare TrZ = 9.999 * sqrt(NormClock); -#declare TrH = ; -#declare RrY = 97 * sqrt(NormClock); -object { HexaCone () rotate y*RrY translate TrH } -*/ - +/* + * why this two moving hexathings are not in "dynamic.inc" ? + */ object { HexaCone () rotate z*9.1 translate <7, 3+NormClock, -8> } object { HexaBenz () translate <-9+NormClock, 2, -6> } /* * nouveau 11 fevrier 2025 */ -#declare A = <-24, -0.9, (SzSol/2)+9>; -#declare B = < 33, -0.7, (SzSol/2)+7>; +#declare A = <-29, -0.5, (SzSol/2)+9>; +#declare B = < 36, -0.7, (SzSol/2)+7>; #declare P = Interpolate(A, B, NormClock); object { HexaWood translate P } @@ -40,7 +33,7 @@ object { Le_Decor } camera { location <-3.60, CamY, 10.09> - look_at <0, LatY, 0> + look_at <0.6, LatY, 0> right // focal_point <2, 1, 12> // aperture 0.046 diff --git a/xperiment.inc b/xperiment.inc index 78c066f..2e487e6 100644 --- a/xperiment.inc +++ b/xperiment.inc @@ -13,12 +13,13 @@ difference { #local RA = V * R_hole * 1.004; #local RB = V * R_hole * 0.996; - cylinder { 0, y*0.42, RA } + #local HB_H = 0.53; + cylinder { 0, y*HB_H, RA } cylinder { -y, y*2, RB } - #for (foo, 0, 179, 6) + #for (foo, 0, 179, 4) cylinder { - <-20, 0, 0>, < 20, 0, 0>, 0.07 - scale <1, 2, 1> translate y*0.21 + <-20, 0, 0>, < 20, 0, 0>, 0.075 + scale <1, 2.2, 1> translate y*(HB_H/2) rotate y*foo } #end // for @@ -29,17 +30,30 @@ difference { } #end /* --------------------------------------------------------------- */ + #macro HoleBorder_B (V) union { - #local Ra = R_hole * 1.02; - #local Rb = 0.04; - torus { Ra, Rb texture { tPlasticBlue } - translate y*0.50 } - torus { Ra, Rb texture { T_WIP_color } - translate y*0.80 } - torus { Ra, Rb texture { T_WIP_dents } - translate y*1.10 } + #local Ra = V * R_hole * 1.02; + #local Rb = 0.028; + #local KY = 0.21; + torus { Ra, Rb texture { T_Beton_2 } translate y*KY } + torus { Ra, Rb texture { T_WIP_color } translate y*(KY*2) } + torus { Ra, Rb texture { T_WIP_dents } translate y*(KY*3) } + + #for (foo, 0, 359.99, 15) + #local Dx = Ra * sin(radians(foo)); + #local Dz = Ra * cos(radians(foo)); + cylinder { 0, y*(3.2*KY), Rb*0.72 + #local R = rand(Rng1); + #if (R < 0.67) texture { tPlasticPrune } + #else texture { tPlasticGreen } + #end // if R + translate + } + + #end // for } + #end /* =============================================================== */ /* @@ -48,8 +62,8 @@ union { #declare Patrouille = object { union { - #local EX = 2.4; - #local EZ = 2.1 + (0.5*sin(NormClock*2)); + #local EX = 1.9; + #local EZ = 2.0 + (0.5*sin(NormClock*2)); object { Trident_A () rotate x*87 } object { HexaBenz () translate <-EX, 0, -EZ> } object { HexaCone () translate < EX, -0.4, -EZ> }