diff --git a/all.inc b/all.inc index 978acd7..e311c3d 100644 --- a/all.inc +++ b/all.inc @@ -15,7 +15,7 @@ #include "hexastar.inc" // les machins avec des bugs -// #include "hexastar.inc" +#include "architecture.inc" // les constructions en chantier #include "xperiment.inc" diff --git a/architecture.inc b/architecture.inc index 7bdf380..b7d0f37 100644 --- a/architecture.inc +++ b/architecture.inc @@ -6,25 +6,48 @@ */ // =========================================================== -#local Sz = 0.3; +#declare SzC = 0.3; #macro Base_Col_A () merge { - box { <-Sz, 0, -Sz>, } - #local B = Sz * 0.7; - box { <-B, 0, -B>, } + box { <-SzC, 0, -SzC>, } + #local B = SzC * 0.7; + box { <-B, 0, -B>, } + #local R = rand(Rng1); + #if (R < 0.33) + texture { T_Stone25 } + #else + texture { T_Stone26 } + #end } #end // ----------------------------------------------------------- #macro Haut_Col_A () -object { - box { <-1, 0, -1>, <1, 0.333, 1> } +difference { + #local S = SzC * 0.87; + box { <-S, 0, -S>, } + #local E = SzC + 1; + #local R = S * 0.42; + cylinder { <-E, 0, S>, , R } + cylinder { <-E, 0, -S>, , R } + #local R = rand(Rng1); + #if (R < 0.33) + texture { T_Stone27 } + #else + texture { T_Stone28 } + #end } #end // ----------------------------------------------------------- #macro Fut_Col_A (H) object { -cylinder { 0, H*y, 0.42 } -} + cylinder { 0, H*y, 0.15 } + #local R = rand(Rng1); + #if (R < 0.43) + texture { T_Stone29 } + #else + texture { T_Stone34 scale 3 } + #end + } #end // ----------------------------------------------------------- #macro Colonne_A (H) @@ -35,4 +58,49 @@ union { } #end // =========================================================== +// bon, on a un pilier/colonne donc de quoi poser +// dessus un linteau pour avoir un genre de portique +// pour remplacer les arches de l'approche. +#macro Linteau_A (Lg, Epp) +merge { + #local L = Lg + 0.42; + #local K = 0.28; + box { <-L, 0, -K>, } + 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 } + #else + texture { T_Stone34 scale 3 } + #end + } +#end // macro +// ----------------------------------------------------------- +#macro Linteau_B (Lg, Epp) +merge { + #local L = Lg + 0.20; + #local K = 0.36; + box { <-L, 0, -K>, } + cylinder { <0, Epp, -K*0.9>, <0, Epp, K*0.9>, K } + texture { T_WIP_rasta } + } +#end // macro + // =========================================================== +#macro Portique_A () +union { + #local Larg = 2.8; + #local Haut = 3.4; + object { Colonne_A (Haut) translate -x*Larg } + object { Colonne_A (Haut) translate x*Larg } + #local R = rand(Rng1); + #if (R < 0.80) + object { Linteau_A (Larg,0.26) translate y*(Haut+0.20) } + #else + object { Linteau_B (Larg,0.28) translate y*(Haut+0.20) } + #end + } +#end // macro +// =========================================================== + + diff --git a/around.pov b/around.pov index 63aa4b2..41d4c54 100644 --- a/around.pov +++ b/around.pov @@ -16,16 +16,16 @@ object { Le_Decor } // ======================================================= -#declare R_around = 125; -#declare CK = 1.9 + (3.141592654 * NormClock); +#declare R_around = 128; +#declare CK = 2.9 + (3.141592654 * NormClock); #declare CamX = R_around * cos(CK); -#declare CamY = 12.777; +#declare CamY = 15.777 + (4*Cos_010(NormClock)); #declare CamZ = R_around * sin(CK); camera { location look_at <0, 2, 0> right - angle 44 + angle 45 } diff --git a/circular.pov b/circular.pov index 07137b5..6f95483 100644 --- a/circular.pov +++ b/circular.pov @@ -17,7 +17,7 @@ object { Le_Decor } // ======================================================= #declare R_circ = R_circular + 0.07; -#declare CK = 1.9 + (1.43 * Cos_01(NormClock)); +#declare CK = 2.9 + (1.51 * Cos_01(NormClock)); #declare CamX = R_circ * cos(CK); #declare CamY = 3.08 + abs(sin(CK/4.00)); diff --git a/contexte.inc b/contexte.inc index 331d797..cf9a322 100644 --- a/contexte.inc +++ b/contexte.inc @@ -4,9 +4,18 @@ /* voir aussi le fichier 'globals.inc' */ +/* ======================================================= */ +// #debug "+++++++++++++++++++++ debut contexte\n" /* ======================================================= */ -#debug "+++++++++++++++++++++ debut contexte\n" +#macro Trois_Portiques (Dist) +union { + object { Portique_A () } + object { Portique_A () translate z*5 } + object { Portique_A () translate z*10 } + // XXX scale 1.85 + } +#end // macro trois portiques /* ======================================================= */ /* @@ -37,7 +46,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.16) + #if (rand(Rng1) > 0.17) #local Dx = R * sin(radians(Foo)); #local Dz = R * cos(radians(Foo)); cone { 0, 0.01, y*0.41, 0.10 translate } @@ -58,8 +67,8 @@ union { translate y*(H_gyro+H_gylampe+0.04) } #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) } + #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 } #end #undef R @@ -386,14 +395,15 @@ union { object { Les_Cahutes () translate <2, 0, -40> } /* --------- les trucs dans le Y négatif */ - object { Trois_Arches (1.4) scale 2.7 translate <0, 0, -131> } + // object { Trois_Arches (1.4) scale 2.4 translate <0, 0, -131> } + object { Trois_Portiques (1.4) translate <0, 0, -111> } object { OpenBox(1.5, 0.06) translate <-19, 1.49, -88> } - object { OpenBox(1.5, 0.06) translate <-19, 1.52, -104> } - object { OpenBox(1.5, 0.06) translate <-19, 1.52, -144> } + object { OpenBox(1.5, 0.06) translate <-21, 1.52, -104> } + object { OpenBox(1.5, 0.06) translate <-20, 1.52, -144> } #for (Foo, 0, 5) - object { Les_Cahutes () translate <29, 0, -(77+Foo*11)> } + object { Les_Cahutes () translate <27, 0, -(77+Foo*11)> } #end // for /* --------- les trucs dans le Y positif */ diff --git a/cutoff.pov b/cutoff.pov index 72560e3..ad85ade 100644 --- a/cutoff.pov +++ b/cutoff.pov @@ -18,7 +18,7 @@ #declare Kbox = (2.03*NormClock); difference { - object { HexaCone () } + object { HexaCone () rotate <3-(6*NormClock), 5, -3> } box { -1, 1 translate z*Kbox } translate y*TY + POS_Cutoff } diff --git a/escadrille.pov b/escadrille.pov index 57939a3..790a636 100644 --- a/escadrille.pov +++ b/escadrille.pov @@ -52,18 +52,16 @@ object { Le_Decor } -// object { Repere scale 5 translate y } - -#local CamX = -8.7 + ( 6.9 * Cos_01(NormClock)); -#local CamY = 0.42 + (17.36 * Cos_01(NormClock)); -#local CamZ = 122 - (21.9 * Cos_01(NormClock)); +#local CamX = 8.7 + ( 6.9 * Cos_01(NormClock)); +#local CamY = 0.42 + (18.36 * Cos_01(NormClock)); +#local CamZ = 122 - (22.9 * Cos_01(NormClock)); #local LatY = (Y_mean / Y_count) - (0.5*NormClock); -#debug concat("escadrille: Lat Y ", str(LatY, 7, 3),"\n") +// #debug concat("escadrille: Lat Y ", str(LatY, 7, 3),"\n") camera { location look_at <0.0, LatY, 0> right - angle 56 - (24 * NormClock) + angle 56 - (26 * NormClock) } diff --git a/essai.pov b/essai.pov index 56258a4..b5f6224 100644 --- a/essai.pov +++ b/essai.pov @@ -11,16 +11,6 @@ #declare NO_DYNAMIC = 1; #include "all.inc" -// ======================================================= -#include "architecture.inc" - -// ======================================================= -#declare LeGris = texture -{ -/* moi j'dis qu'il est temps de définir un "gris de base" */ -pigment { color Gray70 } -finish { phong 0.33 ambient 0.33 } -} // ======================================================= // nouveau du 3 janvier 2026 #local Horloge2 = object @@ -40,7 +30,6 @@ union { scale 0.8 translate y*2.35 } - // ======================================================= /* * new Thu Dec 18 01:14:19 AM UTC 2025 @@ -107,39 +96,6 @@ union { } } -// ======================================================= -/* nouveau du 7 octobre 2025 */ -#macro Une_Boule () -sphere { - 0, 0.18 + (rand(Rng1) * 0.06) - #local R = rand(Rng1); - #if (R < 0.333) texture { C_Texture } - #elseif (R < 0.666) texture { M_Texture } - #else texture { Y_Texture } - #end - finish { phong 0.7 specular 0.3 } - } -#end // macro - -/* TODO - * trouver une meilleure méthode de placement - */ -#declare Les_Boules = object -{ -union { - #for (A, 0, 64, 1) - #local CK = (NormClock*55.00) + (A*0.28); - object { Une_Boule () - #local TX = 3.2 * sin(CK); - #local TY = 0.4 * cos(sin(CK)); - #local TZ = 3.0 * cos(1-CK); - translate - } - object { Repere scale 2 } - #end // for - } -} - // ======================================================= /* * nouveau du 25 octobre 2025 @@ -211,7 +167,7 @@ finish { phong 0.23 ambient 0.50 } #declare T_WIP_1 = texture { pigment { color <0.36, 0.6, 0.79> } -normal { dents 2.94 scale 0.5} +normal { dents 2.94 scale 0.5 } finish { specular 0.40 ambient 0.69 } } @@ -256,47 +212,48 @@ union { object { Chose () translate < 2.2, 0, 2.32> } object { Chose () translate <-2.9, 0, 3.91> } object { Chose () translate < 2.9, 0, -4.07> } - object { Colonne_A (2) translate <-3.1, 0, -3> } object { Chose () translate <-4.5, 0, -4> } object { Repere translate 0.05*y } } } // ======================================================= -#declare Gyros = object +#declare GyroTrucs = object { -// #debug " Les gyros !!!\n" union { #for (I, 0, 359, 30) #declare E = 12 + (3*rand(Rng1)); #declare Dx = E * sin(radians(I)); #declare Dz = E * cos(radians(I)); - // XXX object { GyroPhare () translate } - object { Colonne_A (3.2) translate } - #end + #local R = rand(Rng1); + #if (R > 0.52) + object { GyroPhare () translate } + #elseif (R > 0.36) + object { Colonne_A (3.8) + rotate y*(90*rand(Rng1)) + translate } + #else + object { Colonne_A (2.8) + rotate y*(90*rand(Rng1)) + translate } + #end + #end // for } } -object { Gyros } +object { GyroTrucs } // ========================================================## -#local Fleche = object +#declare Architecture = object { union { - cylinder { -5*x, 5*x, 0.09 } - cone { 5*x, 0.27, 6.66*x, 0.00007 } - } -texture { LeGris } -} - -// ------------------------------------------------------ ## - -#declare La_Patrouille = object -{ -union { - object { Patrouille } - object { Fleche translate y } + 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 { Fleche translate y } } } // ------------------------------------------------------ ## @@ -322,8 +279,7 @@ union { object { Des_Choses } #break #case (1) - object { La_Patrouille rotate -y*(clock*0.666) - translate y*2.5 } + object { Architecture rotate -y*(clock*0.666) } #local AngleCam = 31.0; #break #case (2) @@ -357,8 +313,6 @@ plane { texture { Ground_Texture } } -// object { Repere translate y*1.0 } - // ======================================================= #local CamX = -2.7 + (1.8*Cos_010(NormClock)); @@ -370,8 +324,6 @@ plane { #local CamY = CamY * K * 0.61; #local CamZ = CamZ * K; - - camera { location look_at <0, 1.6, 0> diff --git a/gadgets.inc b/gadgets.inc index 4f17bd0..968c446 100644 --- a/gadgets.inc +++ b/gadgets.inc @@ -8,14 +8,37 @@ #declare Repere = object { union { - #local R = 0.01555555; - cylinder { 0, <1, 0, 0>, R pigment { color Red } } - cylinder { 0, <0, 1, 0>, R pigment { color Green } } - cylinder { 0, <0, 0, 1>, R pigment { color Blue } } + #local R = 0.015; + #local R2 = R * 2.33; + #local LC = 1.15; + merge { + cylinder { 0, <1, 0, 0>, R } + cone { <1, 0, 0>, R2, , 0 } + texture { R_Texture } + } + merge { + cylinder { 0, <0, 1, 0>, R } + cone { <0, 1, 0>, R2, <0, LC, 0>, 0 } + texture { G_Texture } + } + merge { + cylinder { 0, <0, 0, 1>, R } + cone { <0, 0, 1>, R2, <0, 0, LC>, 0 } + texture { B_Texture } + } } } -/* ======================================================= */ -#declare R_C = 0.35; +#declare Fleche = object +{ +union { + cylinder { -5*x, 5*x, 0.09 } + cone { 5*x, 0.27, 6.66*x, 0.00007 } + } +texture { LeGris } +} +// ------------------------------------------------------ ## + +#declare R_C = 0.335; /* ce truc mérite un nom plus parlant ! */ #macro Chose_le_pied () diff --git a/globals.inc b/globals.inc index 02f7739..2d72524 100644 --- a/globals.inc +++ b/globals.inc @@ -46,6 +46,13 @@ global_settings { * Some textures... */ +#declare LeGris = texture +{ +/* moi j'dis qu'il est temps de définir un "gris de base" */ +pigment { color Gray70 } +finish { phong 0.33 ambient 0.33 } +} + #declare T_WIP_color = texture { #local V = (sin(clock*0.122) / 2) + 0.5; diff --git a/groundbase.inc b/groundbase.inc index bf89ab4..471af24 100644 --- a/groundbase.inc +++ b/groundbase.inc @@ -47,7 +47,8 @@ texture { T_Beton_2 } text { ttf "datas/ComicMono-Bold.ttf" Texte 0.1, 0 // texture { T_WIP_alert } - texture { T_WIP_bluewave rotate x*clock scale 0.75 } + texture { T_WIP_bluewave rotate + scale 0.78 } } } #declare Cabane_Compteur = object diff --git a/hexacone.pov b/hexacone.pov index 9f699ea..7c780c8 100644 --- a/hexacone.pov +++ b/hexacone.pov @@ -6,7 +6,7 @@ #include "globals.inc" -#declare DEBUG_LEVEL = 1; +// #declare DEBUG_LEVEL = 1; #declare NO_DYNAMIC = 0; #include "all.inc" @@ -20,7 +20,7 @@ object { Le_Decor } camera { location Loc_cam - #local H = 1.16 + (NormClock*0.34); + #local H = 1.16 + (NormClock*0.36); look_at Pos_RedB_1 + <0.02, H, 0> right // focal_point <0.37, 0.90, 0> diff --git a/hexastar.inc b/hexastar.inc index 903af6a..6d5eee1 100644 --- a/hexastar.inc +++ b/hexastar.inc @@ -27,8 +27,7 @@ union { /* * element central --- À REFAIRE EN MACRO ! */ -#declare HS_element_central = object -{ +#macro HS_element_central () union { torus { HS_radius*0.73, 0.0180 } #local L = 0.0028; @@ -36,16 +35,16 @@ union { cylinder { -y*L, y*L, R } sphere { 0, R translate -y*L } sphere { 0, R translate y*L } - } -scale <1, 25.10, 1> -rotate z*90 -#local R = rand(Rng1); -#if ( R < 0.33 ) texture { Y_Texture } -#elseif ( R < 0.66 ) texture { T_Gold_1A } -#else texture { Aluminum } -#end -} + scale <1, 24.10, 1> + rotate z*90 + #local R = rand(Rng1); + #if ( R < 0.17 ) texture { Y_Texture } + #elseif ( R < 0.66 ) texture { T_Gold_1A } + #else texture { Aluminum } + #end + } +#end /* ------------------------------------------------------------ */ /* nouveau 14 janvier 2026 */ #macro HS_element_queue () @@ -55,8 +54,8 @@ union { 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 { C_Texture } - #elseif ( R < 0.50 ) texture { M_Texture } + #if ( R < 0.35 ) texture { Rust } + #elseif ( R < 0.50 ) texture { T_Gold_5A } #elseif ( R < 0.80 ) texture { Aluminum } #else texture { T_Gold_3C } #end @@ -68,7 +67,7 @@ union { // UNE ANTENNE ? /* ============================================================ */ -/* On regroupe les six élements */ +/* On regroupe les N*six élements */ #declare HS_les_elements = object { union { @@ -82,7 +81,7 @@ union { translate <0, Ty, Tz> } #end // end for - object { HS_element_central } + object { HS_element_central () } } } /* ============================================================ */ diff --git a/hexastar.pov b/hexastar.pov index 85b0217..64fb71e 100644 --- a/hexastar.pov +++ b/hexastar.pov @@ -28,6 +28,6 @@ camera { // focal_point <0.37, 0.0, 0> // aperture 0.046 // blur_samples 30 - angle 70 - 11 * Cos_01(NormClock) + angle 65 - 11 * Cos_01(NormClock) } diff --git a/hexawood.inc b/hexawood.inc index 02dbf0a..d0b8257 100644 --- a/hexawood.inc +++ b/hexawood.inc @@ -131,12 +131,12 @@ merge { #local DZ = Hc_rad*0.35 * cos(radians(Foo+30)); merge { cylinder { 0, 0.05*y, 0.006 } - cone { 0.05*y, 0.006, 0.08*y, 0.012 } + cone { 0.03*y, 0.006, 0.08*y, 0.012 } + sphere { 0.08*y, 0.013 } translate } #end } -#local R = rand(Rng1); texture { T_WIP_color } } diff --git a/hexawood.pov b/hexawood.pov index 2bf70ec..846275d 100644 --- a/hexawood.pov +++ b/hexawood.pov @@ -25,6 +25,6 @@ camera { location LOC look_at LAT right - angle 18 + 2.71*NormClock + angle 18 + 2.72*NormClock } diff --git a/orbite.pov b/orbite.pov index cc74d58..b2748b9 100644 --- a/orbite.pov +++ b/orbite.pov @@ -51,7 +51,7 @@ union { } // ======================================================= -#local RO = 4.95; +#local RO = 5.29; #local CK = NormClock * 13.37; #declare PosX = RO * sin(CK); @@ -67,9 +67,17 @@ object { HexaCone () rotate y*CK*99.22 translate } -#declare PosX = RO * sin(CK+3.14); +#declare PosX = RO * 1.5 * sin(CK+3.14); #declare PosY = 0; #declare PosZ = RO * cos(CK+3.23); +object { Trident_A () + rotate x*clock + rotate y*CK*99.22 translate + } + +#declare PosX = RO * sin(CK+5.14); +#declare PosY = 0; +#declare PosZ = RO * cos(CK+5.14); object { HexaStar rotate y*CK*99.22 translate } @@ -79,7 +87,7 @@ light_source { <23, 8, 15>, rgb <0.77, 0.79, 0.80> } // ------------------------------------------------------------- camera { - location <8+NormClock, -1.0+(8.6*NormClock), 11.59> + location <9+NormClock, 1.60+(8.6*NormClock), 11.59> look_at <0.0, 0.0, 0> right #if (0) diff --git a/passage.pov b/passage.pov index a6ad736..f440755 100644 --- a/passage.pov +++ b/passage.pov @@ -17,7 +17,7 @@ object { HexaCone () translate } /* XXX this two object in dynamic.inc ??? */ -object { HexaCone () translate } +object { HexaBenz () translate } object { HexaStar rotate y*90 translate } object { Le_Decor } diff --git a/remote.pov b/remote.pov index dd38921..77dec15 100644 --- a/remote.pov +++ b/remote.pov @@ -33,8 +33,8 @@ object { Le_Decor } // object { Repere scale 3 translate } -#local DistCam = 430 + (12 * NormClock); -#local CK = -1.101 - (0.051 * NormClock); +#local DistCam = 440 + (12 * NormClock); +#local CK = -1.101 - (0.042 * NormClock); #declare CamX = DistCam * sin(CK); #declare CamY = 28; #declare CamZ = DistCam * cos(CK); @@ -46,5 +46,5 @@ camera { // focal_point <2, 1, 12> // aperture 0.046 // blur_samples 30 - angle 4.0 + angle 3.6 } diff --git a/survol.pov b/survol.pov index 5f5294d..2c2f3c7 100644 --- a/survol.pov +++ b/survol.pov @@ -15,8 +15,8 @@ object { Le_Decor } // XXX instrumenter la caméra serait un GROS plus !!! // ======================================================= -#declare Debut = <-14, 89, 284> ; -#declare Fin = < 19, 81, -3> ; +#declare Debut = <-33, 89, 289> ; +#declare Fin = < 36, 81, -2> ; #declare Pos = sqrt(NormClock); #declare PosCam = Interpolate(Debut, Fin, Pos); diff --git a/trident.inc b/trident.inc index 94887bf..ec74727 100644 --- a/trident.inc +++ b/trident.inc @@ -78,8 +78,8 @@ union { // ------------------------------------------------------ #macro Trid_A_tail () union { - #for (A, 0, 360, 120) - #local RY = A + 270*rand(Rng1); + #for (A, 0, 359, 120) + #local RY = A + 27*rand(Rng1); object { Trid_A_ailette () rotate RY*y } #end // for } diff --git a/xperiment.inc b/xperiment.inc index 31883c7..a7c1549 100644 --- a/xperiment.inc +++ b/xperiment.inc @@ -85,6 +85,38 @@ union { } #end // macro /* =============================================================== */ +/* nouveau du 7 octobre 2025 */ +#macro Une_Boule () +sphere { + 0, 0.18 + (rand(Rng1) * 0.06) + #local R = rand(Rng1); + #if (R < 0.333) texture { C_Texture } + #elseif (R < 0.666) texture { M_Texture } + #else texture { Y_Texture } + #end + finish { phong 0.7 specular 0.3 } + } +#end // macro + +/* TODO + * trouver une meilleure méthode de placement + */ +#declare Les_Boules = object +{ +union { + #for (A, 0, 64, 1) + #local CK = (NormClock*55.00) + (A*0.28); + object { Une_Boule () + #local TX = 3.2 * sin(CK); + #local TY = 0.4 * cos(sin(CK)); + #local TZ = 3.0 * cos(1-CK); + translate + } + object { Repere scale 2 } + #end // for + } +} +/* =============================================================== */ /* * nouveau du 25 octobre 2025 */