From c82f6f4de5251993b71ede6cecac9f277912d8f9 Mon Sep 17 00:00:00 2001 From: Tonton Th Date: Tue, 22 Apr 2025 00:49:18 +0200 Subject: [PATCH] le commit en chocolat --- bubblecut.pov | 14 ++++----- carto.pov | 2 +- contexte.inc | 77 +++++++++++++++++++++++++------------------------- cutoff.pov | 24 +++++++++++----- dynamic.inc | 25 ++++++++-------- escadrille.pov | 8 +++--- essai.pov | 29 ++++++------------- gadgets.inc | 61 ++++++++++++++++++++++++++++++++------- globals.inc | 2 +- hexabenz.inc | 28 ++++++++++-------- hexacone.pov | 4 +-- hexawood.pov | 2 +- orbite.pov | 4 +-- passage.pov | 2 +- scene.pov | 10 +++---- survol.pov | 8 +++--- topview.pov | 2 +- trident.inc | 6 ++-- 18 files changed, 176 insertions(+), 132 deletions(-) diff --git a/bubblecut.pov b/bubblecut.pov index fe2c281..dfd4683 100644 --- a/bubblecut.pov +++ b/bubblecut.pov @@ -19,18 +19,18 @@ #declare POS_Cutoff = <-24, 0, -7>; -#local TY = 1.5; +#local TY = 1.55; -#declare Pos = <0.70, -0.70, 0.45>; -#declare Rad = 0.40 + (1.52*NormClock); +#declare Pos = <0.50, -0.70, 0.75>; +#declare Rad = 0.40 + (1.*NormClock); difference { object { HexaBenz () } sphere { Pos, Rad } translate y*TY + POS_Cutoff } -// sphere { Pos, 0.10 translate y*TY + POS_Cutoff } -// object { Repere scale 2 translate y*2.8 + POS_Cutoff } +sphere { Pos, 0.025 translate y*TY + POS_Cutoff texture { T_WIP_alert } } +// object { Repere translate y*2.8 + POS_Cutoff } /* this one is for debugging */ object { OpenBox translate y*TY + POS_Cutoff } @@ -47,12 +47,12 @@ object { Le_Decor } // ======================================================= -#local CamX = -25.4 + (2.29*Cos_01(NormClock)); +#local CamX = -27.4 + (3.29*Cos_01(NormClock)); #local CamY = 2.1 - (0.24*sqrt(NormClock)); #local CamZ = -0.85 + (2.02*NormClock); camera { location look_at <0, 1.5, 0> + POS_Cutoff - angle 39 - 5*Cos_01(NormClock) + angle 35 - 5*Cos_01(NormClock) } diff --git a/carto.pov b/carto.pov index 12a27be..13cb8b1 100644 --- a/carto.pov +++ b/carto.pov @@ -32,7 +32,7 @@ object { Le_Decor } camera { location <45, 126, 18> - look_at <0, 1.18, 0.17 + (1.9*NormClock)> + look_at <0, 1.18, 0.17 + (2.9*NormClock)> angle 49 } diff --git a/contexte.inc b/contexte.inc index 9abe1da..c6ad325 100644 --- a/contexte.inc +++ b/contexte.inc @@ -8,16 +8,18 @@ #include "groundbase.inc" +#include "gadgets.inc" + /* ======================================================= */ /* * essai du 12 mars 2025 */ -#declare RedB_0_X = 18; -#declare RedB_0_Z = 28; +#declare RedB_0_X = 19; +#declare RedB_0_Z = 29; #declare RedB_1_X = -24; -#declare RedB_1_Z = 4; +#declare RedB_1_Z = 7; #declare Pos_RedB_0 = ; #declare Pos_RedB_1 = ; @@ -26,9 +28,9 @@ difference { #local R = 2.46; cylinder { 0, y*0.40, R } - cylinder { 0, y*0.36, R*0.98 } - cone { y*0.37, R*0.80, y*0.42, R*0.83 } - #for (Foo, 20, 339, 10) + 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) #local Dx = R * sin(radians(Foo)); #local Dz = R * cos(radians(Foo)); cone { 0, 0.01, y*0.41, 0.10 translate } @@ -48,11 +50,15 @@ union { box { <-1, 0, -1>, <1, 1.94, 1> } translate y*(H_gyro+H_gylampe+0.04) } - #if (rand(Rng1) < 0.5) + #local R = rand(Rng1); + #if (R < 0.33333) texture { T_Stone25 scale 1+rand(Rng1) } + #elseif (R < 0.66666) + texture { T_Stone15 scale 1+rand(Rng1) } #else texture { T_Stone6 } #end + #undef R } #end // macro @@ -105,7 +111,22 @@ union { } #end /* ======================================================= */ +/* 11 avril 2025, je pose un grand cercle d'hexapoles + */ +#declare Les_HexaPoles = object +{ +union { + #for (Ang, 0, 359, 15) + #local E = (SzSol * 1.40) + (6*rand(Rng1)); + #local Ra = radians(Ang); + #local Xp = E * cos(Ra); + #local Zp = E * sin(Ra); + object { HexaPole () translate } + #end + } +} +/* ======================================================= */ #declare Rhxba = 0.30; #declare R2hxba = Rhxba * 0.48; @@ -172,9 +193,9 @@ blob { */ #fopen Holes "WS/holes.log" write #for (Idx, 0, 5) - #local Angle = (Idx + 0.17) * 1.090; - #local Px = sin(Angle) * (SzSol * 1.21); - #local Pz = cos(Angle) * (SzSol * 1.23); + #local Angle = (Idx + 0.19) * 1.090; + #local Px = sin(Angle) * (SzSol * 0.97); + #local Pz = cos(Angle) * (SzSol * 1.04); #declare UnderHoles[Idx] = ; #write (Holes, Idx, " ", Angle, " ", UnderHoles[Idx], "\n") #end @@ -191,7 +212,7 @@ difference { cylinder { -y*5, y*5, 3.4 translate UnderHoles[Foo] } #end } - texture { T_Planete_A scale 0.3333 } + texture { T_Planete_A scale 0.42 } /* texture { pigment { color Gray20 } @@ -215,31 +236,6 @@ union { /* ======================================================= */ -#declare OpenBox = object -{ -union { - #local R = 0.010; - /* 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 } - /* 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 } - - /* 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 } - - #undef R - texture { WIP_color } - } -} /* ======================================================= */ /* @@ -267,7 +263,7 @@ union { object { Quad_lampe translate <-T, H, T> } object { Quad_lampe translate < T, H, T> } } -rotate -12 * y +rotate -19 * y } /* ======================================================= */ @@ -349,11 +345,14 @@ sky_sphere { union { object { Underground } object { La_GroundBase } - object { RedBase_0 (T_Beton_1) translate } - object { RedBase_0 (T_Beton_2) translate } + object { RedBase_0 (T_Beton_1) + translate } + object { RedBase_0 (T_Beton_2) + translate } // object { Les_Lumieres } object { QuadriLight } object { Les_GyroPhares () } + object { Les_HexaPoles } } } /* ------------------------------------------------------------ */ diff --git a/cutoff.pov b/cutoff.pov index 8f50d40..0b96f80 100644 --- a/cutoff.pov +++ b/cutoff.pov @@ -17,30 +17,40 @@ // ======================================================= +#declare POS_Cutoff = <-24, 0, -7>; + +#local TY = 1.5; + #declare Kbox = (2.03*NormClock); difference { object { HexaCone () } box { -1, 1 translate z*Kbox } - translate y*1.5 + Pos_RedB_1 + translate y*TY + POS_Cutoff } -// object { Repere translate y*1.5 + Pos_RedB_1 } +// object { Repere scale 2 translate y*2.6 + POS_Cutoff } /* this one is for debugging */ -// object { OpenBox translate <0, 1.5, Kbox> } +object { OpenBox translate y*TY + POS_Cutoff } // ======================================================= +light_source { + <-24, 0.4, -1> + colour Orange + parallel + point_at y*TY + POS_Cutoff + } object { Le_Decor } // ======================================================= -#local CamX = -33.4 + (2.89*Cos_01(NormClock)); -#local CamY = 2.5 + (0.24*sqrt(NormClock)); -#local CamZ = 5.85 + (2.42*NormClock); +#local CamX = -25.4 + (2.19*Cos_01(NormClock)); +#local CamY = 1.6 - (0.24*sqrt(NormClock)); +#local CamZ = -0.85 + (2.02*NormClock); camera { location - look_at <0, 1.5, 0> + Pos_RedB_1 + look_at <0, 1.5, 0> + POS_Cutoff angle 39 - 5*Cos_01(NormClock) } diff --git a/dynamic.inc b/dynamic.inc index 1154a87..27bc293 100644 --- a/dynamic.inc +++ b/dynamic.inc @@ -24,8 +24,8 @@ object { BiBenz rotate -y*(clock*0.19) translate Pos_RedB_0 } { #local K = 1.27; union { - object { HexaCone () rotate y*90 translate <-K, 1.7, 1> } - object { HexaCone () translate < K, 1.9, 1> } + object { HexaCone () rotate y*90 translate <-K, 1.7, 0> } + object { HexaCone () translate < K, 1.9, 0> } } } object { BiCone rotate -y*(Cos_010(NormClock)*777) translate Pos_RedB_1 } @@ -43,17 +43,16 @@ object { HexaCone () rotate y*((12*NormClock)+80) translate P } * le vaisseau "trident" passe a travers les * trous de l'underground */ - -// #fopen Trid "WS/tridents.log" write +#fopen Trid "WS/tridents.log" write #for (Foo, 0, 5) - #declare Dy = -3+(11*NormClock); + #declare Dy = rand(Rng1)-3+(11*NormClock); #declare Tr = UnderHoles[Foo] + <0, Dy, 0>; -// #write (Trid, Foo, " ", NormClock, " ", Dy, " ", -// UnderHoles[Foo], " ", Tr, "\n") - object { Trident_A () rotate y*((rand(Rng1)-NormClock)*77) - translate Tr } + #declare Ry = ((rand(Rng1)-NormClock)*77); + #write (Trid, Foo, " ", NormClock, " ", Dy, " ", + Ry, " ", Tr, "\n") + object { Trident_A () rotate y*Ry translate Tr } #end -// #fclose Trid +#fclose Trid /* * echange hexacone et hexabenz @@ -78,12 +77,12 @@ object { HexaBenz () /* * passage d'un hexawood près de la base */ -#declare A = <-21, 0.4, (SzSol/2)+4>; -#declare B = < 24, 0.5, (SzSol/2)+1>; +#declare A = <-25, 0.4, (SzSol/2)+4>; +#declare B = < 29, 0.5, (SzSol/2)+1>; #declare P = Interpolate(A, B, NormClock); #local K = NormClock*36; #local R = 16.64 * cos(K); -#local H = 0.48 * pow(sin(K), 3); +#local H = 0.52 * pow(sin(K), 3); #declare P_hexawood = P + <0, 0.26+H, 0>; object { HexaWood rotate z*R translate P_hexawood } diff --git a/escadrille.pov b/escadrille.pov index 9b96897..d38e593 100644 --- a/escadrille.pov +++ b/escadrille.pov @@ -33,7 +33,7 @@ #if ( (abs(posX)>1.2) & (abs(posZ)>1.2) ) - #if (rand(Rng1) < 0.505) + #if (rand(Rng1) < 0.555) object { HexaCone () rotate translate } #else @@ -54,9 +54,9 @@ object { Le_Decor } // object { Repere scale 5 translate y } -#local CamX = -8.7 + (6.6*Cos_01(NormClock)); -#local CamY = 2.95 + (18.64*Cos_01(NormClock)); -#local CamZ = 16.86 + (12.9*Cos_01(NormClock)); +#local CamX = -8.7 + ( 6.6 * Cos_01(NormClock)); +#local CamY = 2.95 + (22.64 * Cos_01(NormClock)); +#local CamZ = 16.86 + (12.9 * Cos_01(NormClock)); camera { location diff --git a/essai.pov b/essai.pov index 9dcd937..ac22599 100644 --- a/essai.pov +++ b/essai.pov @@ -18,20 +18,18 @@ // ======================================================= // #include "dynamic.inc" /* ======================================================= */ - -// ------------------------------------------------------ ## #declare Horloge = object { #local Texte = str(NormClock, 6, 4); #debug concat("Texte horloge ", Texte, "\n\n") text { - ttf "datas/Rebel-Typographer.ttf" Texte 0.1, 0 + ttf "datas/DSEG7Classic-Regular.ttf" Texte 0.1, 0 texture { T_WIP_alert } } scale 3.00 -rotate -90*x -translate <-4.5,-0.21, 0> +rotate 90*x +translate <-4.5, 0.02, 0> } // ======================================================= @@ -73,16 +71,7 @@ union { } // ------------------------------------------------------ ## - object { Gyros } - -/* - light_source { - <-8, 7, 19> - colour Gray60 - parallel - point_at 0 - } -*/ +object { Gyros } #declare Selector = mod(int(clock/32), 6); #debug concat("Selector = ", str(Selector, 6, 0), "\n") @@ -93,11 +82,12 @@ union { #debug " Cabane+Compteur !!!\n" #break #case (1) - object { QuadriPole } - #debug " Quadripole !!!\n" + object { HexaPole } + #debug " Hexapole !!!\n" #break #case (2) - object { Tridents } + object { Tridents translate y*2 } + object { Cabane_Compteur scale 2 rotate y*clock } #debug " Deux Tridents !!!\n" #break #case (3) @@ -121,7 +111,6 @@ plane { } object { Repere translate y*0.6 } -// object { RedBase_0 (T_Planete_B) } // ======================================================= @@ -137,5 +126,5 @@ object { Repere translate y*0.6 } camera { location look_at <0, 1.4, 0> - angle 20 - 3*Cos_01(NormClock) + angle 26 - 3*Cos_01(NormClock) } diff --git a/gadgets.inc b/gadgets.inc index 0086f0f..fa1adf4 100644 --- a/gadgets.inc +++ b/gadgets.inc @@ -6,21 +6,62 @@ #version 3.7; // ======================================================= -#declare QuadriPole = object -{ -#local R = 0.02; -#local E = 0.25; -#local H = H_cone*2; +#macro HexaPole () +#local R = 0.06; +#local E = 0.61; +#local H = H_cone*4; union { - cylinder { 0, y*H, R translate -x*E } - cylinder { 0, y*H, R translate x*E } - cylinder { 0, y*H, R translate -z*E } - cylinder { 0, y*H, R translate z*E } + #for (A, 0, 359, 60) + #local Xp = E * cos(radians(A)); + #local Zp = E * sin(radians(A)); + #local Ha = rand(Rng1); + union { + cylinder { 0, y*H, R } + sphere { 0, R*2 scale <1, 0.666, 1> } + sphere { 0, R*2 scale <1, 0.666, 1> translate y*H } + #if (Ha < 0.30) + texture { T_Chrome_1A } + #elseif (Ha < 0.60) + texture { T_Chrome_4D } + #elseif (Ha < 0.90) + texture { T_Brass_2C } + #else + texture { Soft_Silver } + #end + translate + } + #end } -texture { WIP_color } + #undef E #undef H #undef R +#end +// ======================================================= +#declare OpenBox = object +{ +union { + #local R = 0.010; + /* 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 } + /* 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 } + + /* 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 } + + #undef R + texture { Soft_Silver scale 6.50 } + } } // ======================================================= /* diff --git a/globals.inc b/globals.inc index 6768eae..f717f13 100644 --- a/globals.inc +++ b/globals.inc @@ -33,7 +33,7 @@ global_settings { #declare H_cone = 0.97; #declare R_gyro = 0.08; -#declare H_gyro = 2.10; +#declare H_gyro = 1.80; #declare H_gylampe = 0.25; #declare H_QuadriLight = 34; diff --git a/hexabenz.inc b/hexabenz.inc index 321d079..c760b25 100644 --- a/hexabenz.inc +++ b/hexabenz.inc @@ -8,9 +8,15 @@ union { #local RA = R_basecone; #local RB = 0.001; - cone { 0, RA, y*0.89, 0.0001 } - sphere { 0, RA*1.098 scale <1, 0.58, 3.03> - translate -0.02*y } + difference { + cone { 0, RA, y*0.89, 0.0001 } + cone { 0, RA, y*0.89, 0.0001 translate -0.014*y } + } + difference { + sphere { 0, RA*1.098 scale <1, 0.58, 3.03> } + sphere { 0, RA*1.096 scale <1, 0.58, 3.03> } + translate -0.02*y + } } // } #end @@ -60,8 +66,8 @@ merge { #for (foo, 0, 360, 30) #local Tx = E * sin(radians(foo)); #local Ty = E * cos(radians(foo)); - #local Dza = z * 0.20; - #local Dzb = z * 0.90; + #local Dza = z * 0.25; + #local Dzb = z * 0.95; cylinder { -Dza, Dzb, R translate } sphere { -Dza, R*1.8 translate } sphere { Dzb, R*1.8 translate } @@ -74,8 +80,6 @@ merge { } #end -// XXX #declare Benz_Fuseau = object -// XXX { #macro Benz_Fuseau () difference { sphere { 0, R_Tube*0.39 } @@ -91,7 +95,6 @@ scale <1, 1, 4.4> #end #end // end macro -// XXX } #declare Benz_Fuseau_Flash = object { @@ -125,13 +128,16 @@ translate z*L_Tube*1.18 #declare Benz_Cylindre = object { +#local E_tube = 0.02; +#local R_int = R_Tube - E_tube; difference { union { cylinder { z*L_Tube*1.6, -z*L_Tube, R_Tube } /* les deux bouts du cylindre creux */ - torus { R_Tube, 0.012 + #local R2 = (R_Tube + R_int) / 2; + torus { R2, E_tube scale <1, 4, 1> rotate x*90 translate z*L_Tube*1.6 } - torus { R_Tube, 0.012 + torus { R2, E_tube scale <1, 4, 1> rotate x*90 translate -z*L_Tube } /* cette sphere devrait devenir @@ -139,7 +145,7 @@ difference { object { Forme_Cockpit translate y*R_Tube*0.97} } - cylinder { z*4, -z*4, R_Tube*0.95 } + cylinder { z*4, -z*4, R_int } } texture { Soft_Silver scale 6.0 } } diff --git a/hexacone.pov b/hexacone.pov index 843e7dd..3c7cc10 100644 --- a/hexacone.pov +++ b/hexacone.pov @@ -24,11 +24,11 @@ object { Le_Decor } // object { Repere scale 2 } -#declare Loc_cam = <2, 2, -1> + (Pos_RedB_0 * 1.263); +#declare Loc_cam = <2, 2, 1> + (Pos_RedB_1 * 1.563); camera { location Loc_cam - look_at Pos_RedB_0 + <0.12, 1.16, 0> + look_at Pos_RedB_1 + <0.02, 1.16, 0> // focal_point <0.37, 0.90, 0> // aperture 0.046 // blur_samples 30 diff --git a/hexawood.pov b/hexawood.pov index f21fa63..e819873 100644 --- a/hexawood.pov +++ b/hexawood.pov @@ -23,7 +23,7 @@ object { Le_Decor } // object { Repere translate <10, 1, 10> } camera { - location <40, 2, 15> + location <39, 2, 14> look_at <-20, 1.7, 25.6> angle 26 + NormClock } diff --git a/orbite.pov b/orbite.pov index 3167790..30232f8 100644 --- a/orbite.pov +++ b/orbite.pov @@ -59,13 +59,13 @@ union { #declare PosY = 0; #declare PosZ = RO * cos(CK); object { HexaBenz () - rotate -y*CK*62.3 translate + rotate -y*CK*82.3 translate } #declare PosX = RO * sin(CK+2.12); #declare PosY = 0; #declare PosZ = RO * cos(CK+2.23); object { HexaCone () - rotate y*CK*79.22 translate + rotate y*CK*99.22 translate } object { Planete rotate (-clock*0.21)*y } diff --git a/passage.pov b/passage.pov index eb7461f..f5c08c4 100644 --- a/passage.pov +++ b/passage.pov @@ -56,6 +56,6 @@ camera { // focal_point <0, 1, 0> // aperture 0.046 // blur_samples 30 - angle 34 + angle 32 } diff --git a/scene.pov b/scene.pov index 96eed68..bf853b9 100644 --- a/scene.pov +++ b/scene.pov @@ -19,12 +19,12 @@ object { Le_Decor } -#declare CK = 144 + (clock * 0.27); -#declare Dcam = 3.95; -#declare CamX = Dcam * sin(radians(CK)); -#declare CamZ = Dcam * 1.20 * cos(radians(CK)); +#declare CK = 144 + (clock * 0.27); +#declare Dcam = 3.75; +#declare CamX = Dcam * cos(radians(CK)); +#declare CamZ = Dcam * 1.20 * sin(radians(CK)); -#declare Lat = <0.03, 1.58, 0.17>; +#declare Lat = <0.03, 2.45, 0.17>; camera { location look_at Lat diff --git a/survol.pov b/survol.pov index 9bbc077..8c6f2f3 100644 --- a/survol.pov +++ b/survol.pov @@ -19,16 +19,16 @@ object { Le_Decor } -object { Repere scale 2 translate y*2 } +// object { Repere scale 2 translate y*2 } // ======================================================= -#declare Debut = <-3, 87, 54> ; -#declare Fin = < 2, 91, 8> ; +#declare Debut = <-3, 87, 94> ; +#declare Fin = < 2, 91, 21> ; #declare Pos = Cos_01(NormClock); #declare PosCam = Interpolate(Debut, Fin, Pos); -#declare LatCam = PosCam + <-1, -20, -(NormClock+10)>; +#declare LatCam = PosCam + <-1, -20, -(3+(NormClock+11))>; camera { location PosCam diff --git a/topview.pov b/topview.pov index 4a05a60..f79ba19 100644 --- a/topview.pov +++ b/topview.pov @@ -39,7 +39,7 @@ object { HexaWood translate P } object { Le_Decor } -#declare CamY = 31 + (12.34 * Cos_01(NormClock)); +#declare CamY = 32 + (12.36 * Cos_01(NormClock)); #declare LatY = -3 + ( 1.12 * NormClock); camera { diff --git a/trident.inc b/trident.inc index 621dc37..4e51ba1 100644 --- a/trident.inc +++ b/trident.inc @@ -15,7 +15,7 @@ difference { #if (Foo < 0.25) texture { T_Brass_2C } #elseif (Foo < 0.50) - texture { T_Planete_B } + texture { T_Chrome_2C } #elseif (Foo < 0.75) texture { T_Chrome_3A } #else @@ -44,9 +44,9 @@ merge { cylinder { <0, -L, 0>, <0, L, 0>, 0.065 } sphere { 0, 0.065 scale <1, 6, 1> translate y*L } #if (rand(Rng1) < 0.50) - texture { Lightning2 } + texture { T_Chrome_1C } #else - texture { New_Penny } + texture { T_Brass_5E } #end } #undef L