diff --git a/architecture.inc b/architecture.inc index c750d04..36f93c9 100644 --- a/architecture.inc +++ b/architecture.inc @@ -82,7 +82,10 @@ merge { #local K = 0.36; box { <-L, 0, -K>, } cylinder { <0, Epp, -K*0.9>, <0, Epp, K*0.9>, K } - texture { T_WIP_dents rotate y*(rand(Rng1)*77) } + #local R = rand(Rng1); + #if (R < 0.63) texture { T_Crack3 } // XXX + #else texture { T_Grnt19a } + #end } #end // macro diff --git a/bubblecut.pov b/bubblecut.pov index 30871fa..17afeab 100644 --- a/bubblecut.pov +++ b/bubblecut.pov @@ -7,7 +7,7 @@ #include "globals.inc" -#declare NO_DYNAMIC = 1; +#declare NO_DYNAMIC = 0; #include "all.inc" // ======================================================= diff --git a/contexte.inc b/contexte.inc index 51dcd79..fedaa6c 100644 --- a/contexte.inc +++ b/contexte.inc @@ -24,7 +24,7 @@ union { #declare RedB_0_X = 19; #declare RedB_0_Z = 29; -#declare RedB_1_X = -24; #declare RedB_1_Z = 8; +#declare RedB_1_X = -34; #declare RedB_1_Z = 11; // XXX #declare RedB_2_X = 36; #declare RedB_2_Z = -21; #declare RedB_2_X = 2; #declare RedB_2_Z = -40; @@ -109,7 +109,7 @@ union { #macro Les_GyroPhares () union { - #local E = SzSol * 0.471; + #local E = SzSol * 0.496; #for (Idx, 0, 359, 60) #local Ang = radians(Idx+9.33); #local Dx = E * sin(Ang); @@ -290,9 +290,9 @@ union { object { Chose () translate < 20, 0, -36> } /* a l'exterieur du 'circular' */ #for (foo, 0, 359, 18) - #local CK = radians(foo + (9*rand(Rng1))); - #local DX = 76 * sin(CK); - #local DZ = 74 * cos(CK); + #local CK = radians(foo + (8*rand(Rng1))); + #local DX = 71 * sin(CK); + #local DZ = 67 * cos(CK); object { Chose () translate < DX, 0, DZ> } // XXX #end } @@ -345,7 +345,7 @@ sky_sphere { [ 0.9 color rgb <.5, .5, .47> ] [ 1.0 color Gray20 ] } - turbulence 3.14159 + 0.84 * Cos_010(NormClock) + turbulence 2.222 + 0.84 * Cos_010(NormClock) scale 1.600 // translate -1 } @@ -382,10 +382,10 @@ union { object { HorlogeDouble rotate y*(104*NormClock) translate < 8, 0, -30> } object { Les_Choses } - object { Les_Arches (1.9) rotate y*132 translate <-34, 0, -26> } + object { Les_Arches (1.9) rotate y*112 translate <-34, 0, -26> } // XXX object { Les_Cahutes () rotate y*17 translate <2, 0, -40> } - object { Les_Cahutes () rotate y*17 translate <37, 0, -20> } + object { Les_Cahutes () rotate y*17 translate <39, 0, -20> } /* --------- les trucs dans le Y négatif */ // object { Trois_Arches (1.4) scale 2.4 translate <0, 0, -131> } @@ -400,7 +400,6 @@ union { #end // for /* --------- les trucs dans le Y positif */ -// object { OpenBox(1.6, 0.11) translate <-3, 3.58, 112> } object { Blob_Boxed scale 4 translate <-3, 3.58, 112> } object { Blob_Boxed scale 4 rotate y*45 translate <3, 6.7, 161> } diff --git a/escadrille.pov b/escadrille.pov index 2fbf0b8..00355c5 100644 --- a/escadrille.pov +++ b/escadrille.pov @@ -63,5 +63,5 @@ camera { location look_at <0.0, LatY, 0> right - angle 54 - (31 * NormClock) + angle 54 - (35 * NormClock) } diff --git a/essai.pov b/essai.pov index 0639b52..bd59ca4 100644 --- a/essai.pov +++ b/essai.pov @@ -16,27 +16,58 @@ -* __________________________ */ // ======================================================= +// nouveau du 25 février 2026 + +#macro Un_Autre_Cube (Ratio) +difference { + #local D = 1.000000; + box { <-D, -D, -D>, } + #local V = Ratio * D; + #local M = D * 1.1; + box { <-M, -V, -V>, } + box { <-V, -M, -V>, } + box { <-V, -V, -M>, } + texture { Flashy scale 4 } + } +#end +// ======================================================= // 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 A = (NormClock*3) + (0.5*radians(foo*60)); + #local DX = (E+rand(Rng1)) * sin(A); + #local DZ = (E+rand(Rng1)) * cos(A); + cone { + y*(H/(5+rand(Rng1))), 0.01, , 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)); + #local Gv = 0.6 + (0.3*rand(Rng1)); + #local Bv = 0.6 + (0.4*rand(Rng1)); texture { - pigment { rgb } - finish { phong 0.51 reflection 0.05 } + pigment { rgb } + normal { dents 6.66 scale 0.03+(0.12*rand(Rng1)) } + finish { phong 0.51 reflection 0.08 } } } - sphere { 0, 0.45 texture { T_WIP_color } } + sphere { 0, 0.45 scale <1, 0.717, 1> texture { T_WIP_color } } #end // for } #end // macro +#declare Des_Anemones = object +{ +union { + object { Anemone_A (3.00-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> } + } +} // ======================================================= /* * new Thu Dec 18 01:14:19 AM UTC 2025 @@ -45,11 +76,10 @@ union { */ #macro Le_ConeStack () -#ifdef (DEBUG_LEVEL) -#debug "Cone Stack : DEBUG_LEVEL activated\n" -#fopen Log "WS/log.essai" write -#end // debug level - + #ifdef (DEBUG_LEVEL) + #debug "Cone Stack : DEBUG_LEVEL activated\n" + #fopen Log "WS/log.essai" write + #end // debug level union { #local Hcs = 0.550; #local Rco = R_basecone * 3.333; @@ -58,11 +88,9 @@ union { #local Dy = Foo * (Hcs + 0.0333); #local Dz = 0.385 * cos(Foo+NormClock); #local DV = ; - -#ifdef (DEBUG_LEVEL) -#write (Log, Foo, " ", DV, "\n") -#end - + #ifdef (DEBUG_LEVEL) + #write (Log, Foo, " ", DV, "\n") + #end union { cone { 0, Rco, <0, Hcs, 0>, 0.001 #if (rand(Rng1) < 0.50) texture { Y_Texture } @@ -78,30 +106,54 @@ union { } #end // for Foo } - -#ifdef (DEBUG_LEVEL) -#fclose Log -#end // debug level + #ifdef (DEBUG_LEVEL) + #fclose Log + #end // debug level #end // macro - // ======================================================= -/* nouveau du 20 octobre 2025 - * Un semblant de wagonnet qui va tourner sur le - * rail circulaire - */ +#macro HexoFlash_body (Ra, He) +merge { + cylinder { 0, y*He, Ra } + sphere { y*He, Ra } + /* XXX + * faire la place pour la lampe + */ -#declare Les_Wagonnets = object -{ -#local L = 2.4; - -union { - object { Wagonnet_0(L) translate <0, 1, 1.9> } - object { Wagonnet_0(L+1) translate <0, 3+NormClock, 0> } - object { Wagonnet_0(L) translate <0, 1, -1.8> } + texture { LeGris } } -} +#end // macro + +#macro HexoFlash_light (Ra, Val) +difference { + sphere { 0, Ra*1.46 } + #local WB = 0.08; + #local H1 = -0.10; + #local H2 = 0.10; + union { + box { <-1, H1, -WB>, <1, H2, WB> } + box { <-WB, H1, -1>, } + } + texture { + #if (rand(Rng1) < 0.70) pigment { color Orange } + #else pigment { color Orange } + #end + finish { emission 0.8 } + } + scale <1, 1.2, 1> + } +#end // macro + +#macro HexoFlash (Ra, He) +union { + #local Ha = 2+rand(Rng1); + #local Hb = Ha * 0.8; + object { HexoFlash_body (Ra, Ha) } + object { HexoFlash_light (Ra, Ha) + translate y*Hb } + } +#end // macro // ======================================================= /* @@ -122,8 +174,24 @@ merge { } } } - -// ------------------------------------------------------- +// ------------------------------------ +#declare Texture_du_Vase = texture +{ +pigment { + gradient y + color_map { + [ 0.000 color Green ] + [ 0.333 color Gray ] + [ 0.500 color Orange ] + [ 0.666 color Gray50 ] + [ 1.000 color Green ] + } + turbulence 1.24 // piturb :) + scale <1, 0.25, 1> + rotate <10, 0, 4> + } +finish { phong 0.25 } +} // ------------------------------------------------------- // the place to try new textures @@ -131,12 +199,12 @@ merge { { #local TX = 2.55; #local TZ = 2.95; -#local Kro = 32 + (NormClock * 37); +#local Kro = 32 + (NormClock * 77); union { object { Obj_BasicTexture texture { R_Texture } rotate y * (rand(Rng1)*Kro) translate } - object { Obj_BasicTexture texture { G_Texture } + object { Obj_BasicTexture texture { Texture_du_Vase } rotate y * (rand(Rng1)*Kro) translate } object { Obj_BasicTexture texture { B_Texture } @@ -160,39 +228,45 @@ union { // ======================================================= /* Les choses, c'est l'espèce de vase avec des tiges qui bougent, je devrais trouver un nom plus parlant. - + - - - - - Mieux, on garde la chose mais on en dérive le vase */ +// ------------------------------------ + #macro Vase_le_corps_a () intersection { box { <-5, -5, -5>, <5, 0, 5> } difference { sphere { 0, 0.34 } sphere { 0, 0.30 } - scale <1, 1.64, 1> + scale <1, 1.60, 1> } + #local R = rand(Rng1); + #if (R < 0.75) + texture { Texture_du_Vase rotate y*(clock*3) } + #else texture { T_WIP_redwave scale 0.15 + 0.333*rand(Rng1) rotate <75*rand(Rng1), 75*rand(Rng1), 75*rand(Rng1)> } + #end } #end // ------------------------------------ +// des poignées sur le haut du vase +// XXX pas vraiment au point ! #macro Vase_le_corps_b () union { #for (foo, 0, 359.999, 60) - #local Dx = 0.35 * sin(radians(foo)); - #local Dz = 0.35 * cos(radians(foo)); - torus { 0.09, 0.016 - rotate z*30 rotate y*(foo-90) + #local Dx = 0.33 * sin(radians(foo)); + #local Dz = 0.32 * cos(radians(foo)); + torus { 0.025, 0.015 scale <1, 1.2, 4> + rotate z*42 rotate y*(foo-90) translate - #local R = rand(Rng1); - #if (R < 0.50) texture { Y_Texture } - #else texture { M_Texture } - #end // end if } // torus #end // end for (foo + texture { G_Texture } } #end // end macro @@ -202,6 +276,7 @@ union { union { object { Vase_le_corps_a () } object { Vase_le_corps_b () } + // this 'translate' must be computed ? translate y*0.95 } #end @@ -210,8 +285,10 @@ union { #macro Vase_le_pied () union { - cylinder { 0, y*0.80, 0.07 texture { T_WIP_dents scale 0.2 } } - cylinder { 0, y*0.08, 0.20 texture { T_WIP_dents scale 0.4 } } + cylinder { 0, y*0.80, 0.08 } + cylinder { 0, y*0.08, 0.20 } + sphere { 0, 0.20 scale <1, 0.15, 1> translate y*0.08 } + texture { T_WIP_dents scale 0.15 } } #end // ------------------------------------ @@ -229,24 +306,22 @@ union { #local C2Z = (R_C + 0.051) * (sin(-CK2+rand(Rng1)) * cos(CK*(rand(Rng1)))); #local Rt = 0.02+(0.02*Cos_010(NormClock))-0.03*rand(Rng1); - #local H = 0.38 + 0.55*rand(Rng1); + #local H = 0.38 + 0.65*rand(Rng1); union { cylinder { 0, , Rt } sphere { , Rt } #local R = rand(Rng1); #if (R < 0.25) texture { tPlasticOrange } #elseif (R < 0.50) texture { tPlasticBlue } - #elseif (R < 0.75) texture { tPlasticPrune } + #elseif (R < 0.65) texture { tPlasticPrune } #else texture { tPlasticGreen } #end // if } #end // for translate y*0.87 } -// #debug "== Fin chose les tiges\n" +// #debug "== Fin Vase les tiges\n" #end // macro - - // ------------------------------------ // ------------------------------------ @@ -259,38 +334,38 @@ union { #end // macro // ------------------------------------ - // ======================================================= #declare Des_Choses = object { union { - object { Vase () scale 2 translate < 2.2, 0, 2.32> } + object { Vase () scale 2 translate < 2.2, 0, 2.52> } object { Vase () scale 1.4 translate <-2.9, 0, 3.91> } - object { Vase () scale 2 translate < 2.9, 0, -4.07> } + object { Chose () scale 2 translate < 2.9, 0, -4.07> } object { Vase () translate <-4.5, 0, -4> } object { Repere translate 0.15*y } } } // ======================================================= - +// ======================================================= #declare GyroTrucs = object { union { - #for (I, 0, 359, 30) + #for (I, 0, 359, 20) #declare E = 12 + (3*rand(Rng1)); #declare Dx = E * sin(radians(I)); #declare Dz = E * cos(radians(I)); #local R = rand(Rng1); - #if (R > 0.52) + #if (R > 0.82) object { GyroPhare () translate } - #elseif (R > 0.36) - object { Colonne_A (3.8) - rotate y*(90*rand(Rng1)) + #elseif (R > 0.65) + object { Obj_BasicTexture + texture { T_WIP_redwave } + scale 0.75 + rotate y * (5*(.5-rand(Rng1))*clock) translate } #else - object { Colonne_A (2.8) - rotate y*(90*rand(Rng1)) + object { HexoFlash (0.16, 2.01) translate } #end #end // for @@ -305,9 +380,9 @@ object { GyroTrucs } { union { 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 () scale 1.6 translate z*2 } + object { Portique_A () scale 1.2 } + object { Portique_A () scale 1.4 translate -z*3 } object { Portique_A () rotate y*9 translate -z*6.5 } // object { Fleche translate y } } @@ -317,8 +392,8 @@ union { #debug " !!! ACTION !!!\n" #local Rv = 0.5 + (0.1*sin(clock*0.113)); - #local Gv = 0.11; - #local Bv = 0.2 * abs(sin(clock*0.014)); + #local Gv = 0.21; + #local Bv = 0.25 * abs(sin(clock*0.014)); light_source { <-32, 40, -7> colour @@ -328,7 +403,7 @@ union { // ------------------------------------------------------ ## -#declare Selector = int(clock/57); +#declare Selector = int(clock/90); #debug concat("Selector = ", str(Selector, 6, 0), "\n") #declare AngleCam = 27 - 3*Cos_01(NormClock); @@ -339,39 +414,20 @@ union { #local AngleCam = 17; #break #case (1) - object { Architecture rotate -y*(clock*0.666) } - #local AngleCam = 31.0; + object { Des_Anemones } + object { Repere translate y*0.08 } #break #case (2) object { HoleBorder_B (2.222) } + object { ProtoTextures } #break #case (3) object { HorlogeDouble scale 2 rotate -y*(6*clock) } - object { Repere translate y*1 } + // object { Repere translate y*1 } #break #case (4) - object { Blob_Boxed - scale 4.000 - rotate <7, 0, 12> translate 3.7*y - } - #break - #case (5) - 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 rotate y*(clock*1.5) translate y*3.5 } - #break - #case (7) - #local Pos = <0.5-NormClock, 0, 0>; - object { ProtoTextures rotate -y*(55*Cos_01(NormClock)) } + object { Un_Autre_Cube (0.666) rotate y*42 translate <3, 1.8, 0> } + object { Un_Autre_Cube (0.888) translate <0, 1.8, 2> } #break #end // switch selector diff --git a/gadgets.inc b/gadgets.inc index ef8abdd..cd5febe 100644 --- a/gadgets.inc +++ b/gadgets.inc @@ -172,7 +172,7 @@ union { object { Horloge2 translate -z*EC } } scale 0.42 -translate y*0.666 +translate y*0.50 } // ======================================================= /* @@ -203,7 +203,7 @@ prism { #macro HexaPole_tubes () #local R = 0.033; #local E = 0.49; -#local H = H_cone*0.705; +#local H = H_cone*0.666; union { #for (A, 0, 359, 60) #local Xp = E * cos(radians(A)); @@ -283,7 +283,7 @@ union { { union { object { OpenBox(0.5, 0.01) } - object { HexaBlob rotate } + object { HexaBlob rotate } } } // ======================================================= diff --git a/globals.inc b/globals.inc index 0032233..9f48e94 100644 --- a/globals.inc +++ b/globals.inc @@ -11,7 +11,7 @@ global_settings { #include "stones.inc" #include "woods.inc" -#declare Rng1 = seed(1221); +#declare Rng1 = seed(314); #declare foo = rand(Rng1); #declare Rng2 = seed(now*24*60*60); #declare bar = rand(Rng2); @@ -77,7 +77,7 @@ finish { phong 0.70 reflection 0.05 } #declare T_Planete_B = texture { pigment { rgb <0.42, 0.50, 0.70> } -normal { dents 0.14 scale 0.5} +normal { dents 0.18 scale 0.5} finish { metallic 0.50 reflection 0.33 } } /* ------------------------------------------------------------ */ diff --git a/groundbase.inc b/groundbase.inc index c882a44..b7b9cb2 100644 --- a/groundbase.inc +++ b/groundbase.inc @@ -48,7 +48,7 @@ text { ttf "datas/ComicMono-Bold.ttf" Texte 0.1, 0 // texture { T_WIP_alert } texture { T_WIP_bluewave rotate - scale 0.79 } + scale 0.59 } } } #declare Cabane_Compteur = object diff --git a/hexawood.pov b/hexawood.pov index d1b2f6f..b259cb9 100644 --- a/hexawood.pov +++ b/hexawood.pov @@ -17,7 +17,7 @@ object { Le_Decor } // object { Repere translate <10, 1, 10> } -#declare LOC = <-3.4 - NormClock, 3.35, 31.9-NormClock>; +#declare LOC = <-3.4 - NormClock, 3.85, 31.9-NormClock>; #declare LAT = ; diff --git a/panoramic.pov b/panoramic.pov index f47add2..7ebbc6b 100644 --- a/panoramic.pov +++ b/panoramic.pov @@ -20,6 +20,7 @@ object { Le_Decor } #declare CamX = 1.72; #declare CamY = 7 + (4*Cos_01(NormClock)); +#declare CamZ = -2.5; #declare LatX = 20 * cos(CK*1.08); #declare LatY = 3.0 - sqrt(NormClock); @@ -28,7 +29,7 @@ object { Le_Decor } camera { // orthographic - location + location look_at right angle 65 + (NormClock * 15) diff --git a/tools/linkfarmer.sh b/tools/linkfarmer.sh index 672f0c4..bcf604b 100755 --- a/tools/linkfarmer.sh +++ b/tools/linkfarmer.sh @@ -39,13 +39,13 @@ tools/plot-timing.sh $1 local NBRE=78 convert "WS/negatif.png" \ - -gravity north \ + -gravity center \ -font $FONTE \ - -pointsize 108 \ + -pointsize 118 \ -kerning 8 \ -fill $TEXTCOL \ -strokewidth 3 -stroke $STROKOL \ - -annotate +0+330 "$1" \ + -annotate +0+0 "$1" \ ${INTER} for foo in $(seq 0 $NBRE) diff --git a/tools/mkloop.sh b/tools/mkloop.sh index d21fbbd..cddda83 100755 --- a/tools/mkloop.sh +++ b/tools/mkloop.sh @@ -40,17 +40,19 @@ do fi set -e sqn=$(echo ${SEQNAME} | tr [a-z] [A-Z]) - txt=$(printf "%s %03d" ${sqn} ${frame} | \ - tr '01' 'ol') + txt=$(printf "%03d" ${frame} | tr '01' 'ol') # echo $frame $img $txt convert ${TMPIMG} \ -font Courier-Bold \ - -pointsize 44 \ - -kerning 3 \ - -fill ${TEXTCOL} \ - -strokewidth 2 -stroke $STROKOL \ - -gravity south \ - -annotate +0+5 "$txt" \ + -pointsize 48 \ + -kerning 4 \ + -strokewidth 2 \ + -fill ${TEXTCOL} -stroke ${STROKOL} \ + -gravity south-west \ + -annotate +25+5 "$txt" \ + -fill ${STROKOL} -stroke ${TEXTCOL} \ + -gravity south-east \ + -annotate +25+5 "$sqn" \ ${img} fin=$(date +%s) echo ; sleep 1 diff --git a/trident.pov b/trident.pov index b08bf61..9c0a779 100644 --- a/trident.pov +++ b/trident.pov @@ -18,17 +18,23 @@ object { Le_Decor } #declare CK = 0.8 - (NormClock * 0.71); #if (NormClock < 0.5000) #declare DX_cam = -6.9 * cos(CK); + #declare DY_cam = 1.0; #declare DZ_cam = -5.4 * sin(CK); + + #declare DY_lat = 2.10 + NormClock; #else - #declare DX_cam = -6.9 * sin(CK); - #declare DZ_cam = -5.6 * cos(CK); + #declare DX_cam = -4.9 * sin(CK); + #declare DY_cam = 9.7; + #declare DZ_cam = -2.6 * cos(CK); + + #declare DY_lat = -4; #end -#declare Loc_cam = + Pos_RedB_2; +#declare Loc_cam = + Pos_RedB_2; camera { location Loc_cam - look_at Pos_RedB_2 + <0, 2.05+NormClock, 0> + look_at Pos_RedB_2 + <0, DY_lat, 0> right // focal_point <0.37, 0.0, 0> diff --git a/xperiment.inc b/xperiment.inc index e63ad6c..2c1cb31 100644 --- a/xperiment.inc +++ b/xperiment.inc @@ -264,7 +264,7 @@ difference { #local R = rand(Rng1); // #debug concat("Random = ", str(R, 6, 4), "\n") - #if ( R < 0.23 ) texture { T_Planete_A } + #if ( R < 0.23 ) texture { T_Planete_B } #elseif ( R < 0.56 ) texture { T_Beton_1 } #else texture { T_Beton_2 } #end // if