From 0b04ffd35922a56aa66c052a4b3ab5e650cbd012 Mon Sep 17 00:00:00 2001 From: Tonton Th Date: Thu, 13 Nov 2025 02:15:11 +0100 Subject: [PATCH] a lot of little changes --- bubblecut.pov | 4 ++- carto.pov | 4 +-- circular.pov | 10 ++++---- contexte.inc | 34 ++++++++++++-------------- dynamic.inc | 12 +++++---- essai.pov | 66 +++++++++++++++++++++++++++++--------------------- gadgets.inc | 62 +++++++++++++++++++++++------------------------ globals.inc | 16 +++++++++--- groundbase.inc | 2 +- hexacone.pov | 3 ++- hexawood.inc | 11 +++++++-- hexawood.pov | 2 +- passage.pov | 6 ++--- scene.pov | 2 +- splined.pov | 2 +- survol.pov | 8 +++--- xperiment.inc | 32 ++++++++++++------------ 17 files changed, 152 insertions(+), 124 deletions(-) diff --git a/bubblecut.pov b/bubblecut.pov index e0979f7..8890984 100644 --- a/bubblecut.pov +++ b/bubblecut.pov @@ -17,7 +17,7 @@ // ======================================================= -#declare POS_Cutoff = <-24, 0, -7>; +#declare POS_Cutoff = <-20, 0, -7>; #local TY = 1.55; @@ -32,8 +32,10 @@ difference { translate y*TY + POS_Cutoff } +/* sphere { Position, 0.020 translate y*TY + POS_Cutoff texture { T_WIP_alert } } +*/ /* this one is for debugging */ // object { OpenBox translate y*TY + POS_Cutoff } diff --git a/carto.pov b/carto.pov index a2d6f28..5e08b84 100644 --- a/carto.pov +++ b/carto.pov @@ -27,13 +27,11 @@ // --------------------------------------------------------- -// --------------------------------------------------------- - object { Repere scale 10 translate y*7 } object { Le_Decor } camera { - location <45, 179+(42*NormClock), 18-(21*NormClock)> + location <45, 179+(51*NormClock), 18-(21*NormClock)> look_at <0, 1.18, 0.17 + (2.9*NormClock)> angle 50 } diff --git a/circular.pov b/circular.pov index 994c10c..558f698 100644 --- a/circular.pov +++ b/circular.pov @@ -21,16 +21,16 @@ object { Le_Decor } // ======================================================= -#declare R_circ = R_circular; -#declare CK = NormClock * 3.141592654; +#declare R_circ = R_circular + 0.07; +#declare CK = 1.23 * Cos_010(NormClock * 3.141592654); #declare CamX = R_circ * cos(CK); #declare CamY = 3.08 + abs(sin(CK/4.00)); #declare CamZ = R_circ * sin(CK); -#declare AV = 0.06; -#declare LatX = R_circ * 0.98 * cos(CK + AV); -#declare LatY = 3; +#declare AV = 0.070; +#declare LatX = R_circ * 0.96 * cos(CK + AV); +#declare LatY = 2; #declare LatZ = R_circ * 0.97 * sin(CK + AV); camera { diff --git a/contexte.inc b/contexte.inc index 0483b78..6a40842 100644 --- a/contexte.inc +++ b/contexte.inc @@ -174,13 +174,13 @@ union { object { HexaBalls texture { Lightning1 scale 0.44 } rotate - translate <2, 1.11*Cos_010(NormClock), 4> + translate <2, 1.21*Cos_010(NormClock), 4> } object { HexaBalls texture { Lightning2 scale 0.56 } rotate <-clock, clock*0.33333, clock*3> - translate <4, 1.11*Cos_010(NormClock), -3> + translate <4, 1.41*Cos_010(NormClock), -3> } } } @@ -294,15 +294,15 @@ union { object { Chose () translate < 20, 0, -32> } /* a l'exterieur du 'circular' */ - #for (foo, 0, 359, 20) + #for (foo, 0, 359, 18) #local CK = radians(foo + (5*rand(Rng1))); - #local DX = 77 * sin(CK); - #local DZ = 81 * cos(CK); + #local DX = 66 * sin(CK); + #local DZ = 64 * cos(CK); // #local Texte = str(CK, 5, 3); // #debug concat ("Les Choses, CK = ", Texte, "\n") - object { Chose () translate < DX, 0, DZ> } + object { Chose () translate < DX, 0, DZ> } // XXX #end } } @@ -371,15 +371,7 @@ sky_sphere { // } /* ======================================================= */ - - /* XXX XXX */ - light_source { - <-4, 54, -27> - colour Gray40 - parallel - point_at 0 - } - +/* ======================================================= */ /* * Et on rassemble tous les éléments... */ @@ -398,12 +390,16 @@ union { object { Les_HexaPoles } object { Horloge rotate y*27 translate < 3, 0, -30> } object { Les_Choses } + object { Les_Arches (1) rotate y*59 translate <-22, 0, -20> } + object { Les_Arches (2) rotate y*156 translate <-34, 0, -26> } - object { Les_Arches rotate y*59 translate <-32, 0, 20> } - object { Les_Arches rotate y*156 translate <-34, 0, -26> } + object { Les_Cahutes () translate <22, 0, -9> } - object { Les_Cahutes () translate <32, 0, -9> } - object { Les_Cahutes () rotate y*7 translate <61, 0, -55> } + /* les trucs dans le Y négatif */ + object { OpenBox(2, 0.08) rotate <5, 7, -12+(24*NormClock)> + translate <-22, 4, -79> } + object { Les_Cahutes () rotate y*7 translate <35, 0, -84> } + object { Les_Cahutes () rotate y*7 translate <34, 0, -76> } } } /* ------------------------------------------------------------ */ diff --git a/dynamic.inc b/dynamic.inc index f33a7ab..c78ce86 100644 --- a/dynamic.inc +++ b/dynamic.inc @@ -5,19 +5,21 @@ // ======================================================= -// on va tenter de placer un truc qui bouge -// sur le rail circulaire +// on va tenter de placer quelques trucs +// qui bougent sur le rail circulaire -#local CK = NormClock * 5.750; // radians +#for (foo, 0, 5) +#local CK = (NormClock+(foo*0.019)) * 4.750; // radians #declare Xpos = R_circular * sin(CK); #declare Zpos = R_circular * cos(CK); #declare AR = degrees(CK); object { - Wagonnet_0 (4) + Wagonnet_0 (2.4) rotate y*AR - translate + translate } +#end // for // object { Les_Bibelots rotate y*clock translate UnderHoles[2] } diff --git a/essai.pov b/essai.pov index 30663c0..18dd5e3 100644 --- a/essai.pov +++ b/essai.pov @@ -27,10 +27,10 @@ #declare Un_Wagonnet = object { -#local R = 2; +#local R = 3.2; -object { Wagonnet_0 (3) - rotate y*clock +object { Wagonnet_0 (R) + rotate y*clock*2 } } @@ -39,15 +39,13 @@ object { Wagonnet_0 (3) /* nouveau du 7 octobre 2025 */ #macro Une_Boule () sphere { - 0, 0.1111 + (rand(Rng1) * 0.20) + 0, 0.15 + (rand(Rng1) * 0.07) #local R = rand(Rng1); - #if (R < 0.333) - texture { C_Texture } - #elseif (R < 0.666) - texture { M_Texture } - #else - texture { Y_Texture } - #end + #if (R < 0.333) texture { C_Texture } + #elseif (R < 0.666) texture { M_Texture } + #else texture { Y_Texture } + #end + finish { specular 0.6 } } #end // macro @@ -57,8 +55,8 @@ sphere { #declare Les_Boules = object { union { - #for (A, 0, 24, 1) - #local CK = (NormClock*60.00) + (A*0.07); + #for (A, 0, 32, 1) + #local CK = (NormClock*55.00) + (A*0.08); object { Une_Boule () #local TX = 1.6 * sin(CK); #local TY = 1.4 * cos(sin(CK)); @@ -76,10 +74,12 @@ union { */ #declare Obj_BasicTexture = object { -#local R = 0.333; +#local R = 0.369; +#local H = 1.2; merge { - cylinder { 0, y, R } - sphere { 0, R scale <1, 0.20, 1> translate y } + cylinder { 0, y*H, R } + sphere { 0, R scale <1, 0.50, 1> translate y*H } + box { <-0.19, 0, -0.17>, } } } @@ -88,11 +88,11 @@ merge { #local TR = 2.20; union { object { Obj_BasicTexture texture { R_Texture } - translate } + translate } object { Obj_BasicTexture texture { G_Texture } - translate <0, 0, 0> } + translate <0, 0, -1> } object { Obj_BasicTexture texture { B_Texture } - translate <0, 0, TR> } + translate <0, 0, TR/2> } object { Obj_BasicTexture texture { Y_Texture } translate < TR, 0, TR> } @@ -100,6 +100,7 @@ union { translate <-TR, 0, TR> } object { Obj_BasicTexture texture { C_Texture } translate <-TR, 0, -TR> } + object { Repere scale 1.5 translate y*2.5 } } } // ======================================================= @@ -107,8 +108,9 @@ union { #declare Des_Choses = object { union { - object { Chose () translate -<-1.7, 0, 0.8> } - object { Chose () translate -< 1.5, 0, 1.2> rotate -y*clock } + object { Chose () translate -<-1.7, 0, 0.8> } + object { Chose () translate -< 1.5, 0, 1.2> rotate -y*clock } + object { Chose () translate -< 1.1, 0, -1.2> rotate y*clock } } } // ======================================================= @@ -137,27 +139,37 @@ object { Gyros } #declare Selector = mod(int(clock/60)+19, 8); #debug concat("Selector = ", str(Selector, 6, 0), "\n") +#declare AngleCam = 17 - 3*Cos_01(NormClock); + #switch (Selector) #case (0) - object { OpenBox translate y*2.1 } + union { + object { OpenBox(1, 0.03) } + object { OpenBox(0.55, 0.03) + translate <0.4*rand(Rnd2), NormClock*0.74,cos(NormClock)> } + translate y*2.1 + } #break #case (1) - object { Les_Arches rotate -y*(clock*0.666) } + object { Les_Arches (1.57) rotate -y*(clock*0.666) } + #declare AngleCam = 22; #break #case (2) - object { HexaWood rotate -y*(clock*0.38) translate y } + object { HexaPole translate y } #break #case (3) object { Des_Choses } #break #case (4) - object { HexaBenz () scale 2 translate 2.7*y rotate -y*clock } + object { HexaCone () scale 2 translate 2.7*y rotate -y*clock } #break #case (5) object { Les_Boules translate y*0.8 } #break #case (6) - object { Un_Wagonnet translate y } + object { Un_Wagonnet translate < 1, 1, 0> } + object { Un_Wagonnet translate y+NormClock } + object { Un_Wagonnet translate <-1, 1, 0> } #break #case (7) #local Pos = <0, 0, 0>; @@ -191,5 +203,5 @@ camera { #end location look_at <0, 1.6, 0> - angle 17 - 3*Cos_01(NormClock) + angle AngleCam } diff --git a/gadgets.inc b/gadgets.inc index 2def5dc..5091b2d 100644 --- a/gadgets.inc +++ b/gadgets.inc @@ -14,7 +14,7 @@ merge { cylinder { 0, y/2, 0.07 } - cylinder { 0, y/6, 0.33 } + cylinder { 0, y/8, 0.37 } #local R = rand(Rng1); #if ( R < 0.52) texture { T_Beton_1 } @@ -30,22 +30,23 @@ merge { #macro Chose_le_corps () // = object merge { difference { - cone { -1.2*y, 0.81, 0.2*y, 1.12 } + cone { -1.2*y, 0.81, 0.2*y, 1.07 } sphere { 0.2*y 0.73 } } #local CK = NormClock * (9.876+rand(Rng1)); #for (Foo, 0, 7) - #local C2X = 3.4 * sin(CK+rand(Rng1)) * sin(CK*3); - #local C2Z = 2.3 * (sin(-CK+rand(Rng1)) * cos(CK*(5+rand(Rng1)))); + #local CK2 = CK + Foo; + #local C2X = 2.4 * sin(CK2+rand(Rng1)) * sin(CK*3); + #local C2Z = 2.3 * (sin(-CK2+rand(Rng1)) * cos(CK*(rand(Rng1)))); #local R = 0.06+(0.04*Cos_010(NormClock)); #local H = 4.2; cylinder { 0, , R } sphere { , R } #end - #if (rand(Rng1) < 0.52) - texture { tPlasticOrange } - #else - texture { tPlasticGreen } + #local R = rand(Rng1); + #if (R < 0.33) texture { tPlasticOrange } + #elseif (R < 0.66) texture { tPlasticBlue } + #else texture { tPlasticGreen } #end // if scale <0.62, 0.5, 0.61> @@ -94,15 +95,17 @@ prism { #else texture { T_Beton_2 } #end // if + + scale 0.666 } #end // macro // ------------------------------------------------------ ## #macro HexaPole_tubes () -#local R = 0.06; -#local E = 0.725; -#local H = H_cone*3; +#local R = 0.04; +#local E = 0.58; +#local H = H_cone*1.8; union { #for (A, 0, 359, 60) #local Xp = E * cos(radians(A)); @@ -111,13 +114,13 @@ union { #local H2 = H + rand(Rng1) + rand(Rng1); cylinder { 0, y*H2, R } sphere { 0, R*2 scale <1, 0.666, 1> } - sphere { 0, R*2 scale <1, 0.555, 1> translate y*H2 } + sphere { 0, R*2 scale <1, 1.555, 1> translate y*H2 } #local Ra = rand(Rng1); #if (Ra < 0.25) texture { T_Chrome_1A } #elseif (Ra < 0.50) texture { T_Chrome_4D } - #elseif (Ra < 0.85) + #elseif (Ra < 0.75) texture { T_Brass_2C } #else texture { Soft_Silver } @@ -141,37 +144,34 @@ union { #macro HexaPole () union { object { Base_hexapole () scale <0.24, 0.2, 0.24> } - object { HexaPole_tubes () translate y*0.25 } + object { HexaPole_tubes () translate y*0.20 } rotate y*(53*rand(Rng1)) } #end // macro // ======================================================= -#declare OpenBox = object -{ +#macro OpenBox (D, R) union { - #local R = 0.021; /* les verticales */ - cylinder { <-1, -1, -1>, <-1, 1, -1>, R } - cylinder { < 1, -1, -1>, < 1, 1, -1>, R } - cylinder { <-1, -1, 1>, <-1, 1, 1>, R } - cylinder { < 1, -1, 1>, < 1, 1, 1>, R } + cylinder { <-D, -D, -D>, <-D, D, -D>, R } + cylinder { < D, -D, -D>, < D, D, -D>, R } + cylinder { <-D, -D, D>, <-D, D, D>, R } + cylinder { < D, -D, D>, < D, D, D>, R } /* en bas */ - cylinder { < 1, -1, 1>, <-1, -1, 1>, R } - cylinder { < 1, -1, -1>, <-1, -1, -1>, R } - cylinder { <-1, -1, 1>, <-1, -1, -1>, R } - cylinder { < 1, -1, 1>, < 1, -1, -1>, R } + cylinder { < D, -D, D>, <-D, -D, D>, R } + cylinder { < D, -D, -D>, <-D, -D, -D>, R } + cylinder { <-D, -D, D>, <-D, -D, -D>, R } + cylinder { < D, -D, D>, < D, -D, -D>, R } /* en haut */ - cylinder { < 1, 1, 1>, <-1, 1, 1>, R } - cylinder { < 1, 1, -1>, <-1, 1, -1>, R } - cylinder { <-1, 1, 1>, <-1, 1, -1>, R } - cylinder { < 1, 1, 1>, < 1, 1, -1>, R } + cylinder { < D, D, D>, <-D, D, D>, R } + cylinder { < D, D, -D>, <-D, D, -D>, R } + cylinder { <-D, D, D>, <-D, D, -D>, R } + cylinder { < D, D, D>, < D, D, -D>, R } - #undef R texture { Soft_Silver scale 6.50 } } -} +#end // ======================================================= /* * first written macro for testing the generation of diff --git a/globals.inc b/globals.inc index aaa6ccf..ff8df58 100644 --- a/globals.inc +++ b/globals.inc @@ -11,7 +11,7 @@ global_settings { #include "stones.inc" #include "woods.inc" -#declare Rng1 = seed(999); +#declare Rng1 = seed(51); #declare foo = rand(Rng1); #declare Rng2 = seed(now*24*60*60); #declare bar = rand(Rng2); @@ -83,7 +83,7 @@ finish { roughness 1.00 } #declare T_Beton_2 = texture { -pigment { color <0.7, 0.6, 0.5> } +pigment { color <0.7, 0.6, 0.4> } normal { dents 0.25 scale 3 } finish { roughness 1.00 } } @@ -100,7 +100,17 @@ finish { roughness 1.00 } #declare tPlasticGreen = texture { - pigment{rgb <0.50, 2.000, 0.0>} + pigment{rgb <0.20, 1.600, 0.0>} + finish { + ambient 0.1 + diffuse 0.6 + specular 0.3 + } +} + +#declare tPlasticBlue = texture +{ + pigment{rgb <0.50, 0, 2.0>} finish { ambient 0.1 diffuse 0.6 diff --git a/groundbase.inc b/groundbase.inc index 60f5de1..ed79d75 100644 --- a/groundbase.inc +++ b/groundbase.inc @@ -45,7 +45,7 @@ texture { T_Beton_2 } #local Texte = str(clock, 3, 0); #debug concat("Texte du compteur ", Texte, "\n\n") text { - ttf "datas/ComicMono.ttf" Texte 0.1, 0 + ttf "datas/ComicMono-Bold.ttf" Texte 0.1, 0 texture { T_WIP_alert } } } diff --git a/hexacone.pov b/hexacone.pov index 7021922..ee1a527 100644 --- a/hexacone.pov +++ b/hexacone.pov @@ -28,7 +28,8 @@ object { Le_Decor } camera { location Loc_cam - look_at Pos_RedB_1 + <0.02, 1.16, 0> + #local H = 1.16 + (NormClock*0.20); + look_at Pos_RedB_1 + <0.02, H, 0> // focal_point <0.37, 0.90, 0> // aperture 0.046 // blur_samples 30 diff --git a/hexawood.inc b/hexawood.inc index 2cc741d..1e3e634 100644 --- a/hexawood.inc +++ b/hexawood.inc @@ -30,7 +30,7 @@ union { texture { T_Wood32 rotate 37 scale 1.30 } // texture { WIP_color } #else - texture { T_Wood23 rotate x*87 scale 1.23 } + texture { T_Wood23 rotate x*87 scale 1.33 } // texture { T_WIP_alert } #end // rotate -z*foo @@ -69,7 +69,7 @@ difference { cylinder { -y, y, 0.05 translate } #end translate y*0.10 - texture { T_Wood17 scale 0.82 } + texture { T_Wood17 rotate <10, 20, 30> scale 0.82 } } #end @@ -104,6 +104,12 @@ union { } } +#declare HW_Anneau0 = object +{ +torus { Hc_rad*0.30, 0.03 scale <1, 1.45, 1> + texture { tPlasticBlue } translate y*0.32 } +} + #declare HexaWood = object { union { @@ -113,6 +119,7 @@ union { light_source { 0.20*y rgb <0, 0.20, 0.95> } #end object { HW_Cones () translate y*0.15 } + object { HW_Anneau0 } } } diff --git a/hexawood.pov b/hexawood.pov index 6508516..bac904c 100644 --- a/hexawood.pov +++ b/hexawood.pov @@ -24,7 +24,7 @@ object { Le_Decor } #declare P1 = <-25, 0.4, (SzSol/2)+4>; -#declare Pos = Interpolate(P1, P_hexawood, 0.95); +#declare Pos = Interpolate(P1, NormClock, 0.95); #declare Pos2 = ; // object { Repere translate Pos } diff --git a/passage.pov b/passage.pov index 2a56a15..976d739 100644 --- a/passage.pov +++ b/passage.pov @@ -18,12 +18,12 @@ #include "dynamic.inc" #declare PosX = 3.95; -#declare PosY = 2.80 + (NormClock*0.28); +#declare PosY = 3.80 + (NormClock*0.299); #declare PosZ = (NormClock-0.5) * 44.27; object { HexaCone () translate } -object { HexaCone () translate } -object { HexaBenz () translate } +object { HexaCone () translate } +object { HexaBenz () translate } object { Le_Decor } diff --git a/scene.pov b/scene.pov index 1950904..f634ea1 100644 --- a/scene.pov +++ b/scene.pov @@ -25,7 +25,7 @@ object { Le_Decor } #declare CamX = Dcam * cos(radians(CK)); #declare CamZ = Dcam * 1.20 * sin(radians(CK)); -#declare LatZ = 2.45 + (0.8 * Cos_010(NormClock)); +#declare LatZ = 2.45 + (0.9 * Cos_010(NormClock)); camera { location diff --git a/splined.pov b/splined.pov index 11495a6..4c1abb9 100644 --- a/splined.pov +++ b/splined.pov @@ -87,7 +87,7 @@ union { // ======================================================= -#declare Flag = (mod(clock+33,120) < 40); +#declare Flag = (mod(clock,120) < 40); #if ( Flag ) object { AllTheSpline scale 10 translate y*2 } diff --git a/survol.pov b/survol.pov index 409456e..d570542 100644 --- a/survol.pov +++ b/survol.pov @@ -19,13 +19,13 @@ object { Le_Decor } -// object { Repere scale 2 translate y*2 } +object { Repere scale 2 translate y*2 } // ======================================================= -#declare Debut = <-3, 87, 161> ; -#declare Fin = < 2, 91, 21> ; -#declare Pos = Cos_01(NormClock); +#declare Debut = <-3, 89, 181> ; +#declare Fin = < 2, 91, -10> ; +#declare Pos = sqrt(NormClock+0.04); #declare PosCam = Interpolate(Debut, Fin, Pos); #declare LatCam = PosCam + <-1, -20, -(3+(NormClock+11))>; diff --git a/xperiment.inc b/xperiment.inc index cceeef6..83a24b0 100644 --- a/xperiment.inc +++ b/xperiment.inc @@ -9,29 +9,30 @@ object { /* le corps */ merge { #local L2 = Longueur / 2; - #local R = 0.55; + #local R = 0.25; cylinder { , <-L2, 0, 0>, R } sphere { <0, 0, 0>, R scale <3, 1, 1> translate x*L2 } + sphere { <-L2, 0, 0>, R } /* le kiosque (est-ce un sous-marin ?) */ - sphere { <-L2, 0, 0>, R } merge { - cylinder { <0, 0, 0>, <0, L2, 0>, R/4 } + #local H2 = L2 * 0.60; + cylinder { <0, 0, 0>, <0, H2, 0>, R/4 } sphere { <0, 0, 0>, R/4 - scale <1, 0.4, 1> translate y*L2 + scale <1, 0.5, 1> translate y*H2 } - scale <2, 1, 1> translate x*L2*0.70 + scale <2.5, 1, 1> translate x*L2*0.75 } #local R = rand(Rng1); #if (R < 0.333) - texture { WIP_color } + texture { Soft_Silver } #elseif (R < 0.666) texture { GoldDark } #else - texture { Flashy scale 17 } + texture { Lightning1 rotate z*90 scale 0.11 } #end } } @@ -43,12 +44,12 @@ object { */ #macro Une_Arche (Val) object { -#debug concat(" Arche, val = ", str(Val, 6, 4), "\n") +// #debug concat(" Arche, val = ", str(Val, 6, 4), "\n") merge { #local Ha = 2; // mettre une base de la colonne - cylinder { <-1, 0, 0>, <-1, 0.20, 0> Val*1.29 } - cylinder { < 1, 0, 0>, < 1, 0.20, 0> Val*1.27 } + cylinder { <-1, 0, 0>, <-1, 0.20, 0> Val*1.49 } + cylinder { < 1, 0, 0>, < 1, 0.20, 0> Val*1.41 } cylinder { <-1, 0, 0>, <-1, Ha, 0>, Val } cylinder { < 1, 0, 0>, < 1, Ha, 0>, Val } @@ -72,16 +73,15 @@ merge { #elseif (R < 0.75) texture { T_Stone32 scale 5+rand(Rng1) } #else - texture { T_Stone36 scale 6+rand(Rng1) } + texture { T_Stone36 scale 3+rand(Rng1) } #end } } #end -#declare Les_Arches = object -{ +#macro Les_Arches (EK) union { - #local E = 1.333 + (rand(Rng1) * 0.50); + #local E = EK + (rand(Rng1) * 0.50); object { Une_Arche (0.20) } object { Une_Arche (0.16) translate -z*E } object { Une_Arche (0.16) translate z*E } @@ -90,7 +90,7 @@ union { object { Une_Arche (0.08) translate -z*E*3 } object { Une_Arche (0.08) translate z*E*3 } } -} +#end // macro // ============================================================== /* @@ -111,7 +111,7 @@ union { difference { #local KX = 0.60; #local KH = 1.80 + rand(Rng1) ; - #debug concat(" Cahute_0, KH = ", str(KH, 6, 4), "\n") + // #debug concat(" Cahute_0, KH = ", str(KH, 6, 4), "\n") #local KZ = KX + (0.24*rand(Rng1)); box { <-KX, 0, -KZ>, }