From cd65855f2c7f4e3f9daf1a8fcf00149eb9dc8e63 Mon Sep 17 00:00:00 2001 From: Tonton Th Date: Fri, 14 Feb 2025 19:47:29 +0100 Subject: [PATCH] release of the official "full-v2" video --- Makefile | 1 + README.md | 2 ++ contexte.inc | 10 ++++------ cutoff.pov | 6 +++--- escadrille.pov | 4 ++-- essai.pov | 12 ++++++------ globals.inc | 19 +++++++++++++++++++ hexabenz.inc | 8 ++++++-- hexawood.inc | 41 +++++++++++++++++++++++++++-------------- orbite.pov | 17 +++++++++-------- remote.pov | 17 ++++++++++++++--- survol.pov | 26 ++++++++++++++++++++------ tools/encode.sh | 5 +++-- tools/fonctions.sh | 6 +++--- tools/linkfarmer.sh | 6 ++++-- tools/mkloop.sh | 4 ++-- tools/plot-timing.sh | 2 +- topview.pov | 13 +++++++++++-- 18 files changed, 137 insertions(+), 62 deletions(-) diff --git a/Makefile b/Makefile index 0e0d434..fb95f78 100644 --- a/Makefile +++ b/Makefile @@ -11,6 +11,7 @@ CK=230 PNG: essai.png scene.png topview.png passage.png \ orbite.png hexabenz.png escadrille.png \ hexacone.png remote.png survol.png cutoff.png + echo "PNG ck=$(CK) done" >> WS/log topview.png: topview.pov Makefile $(POVDEP) diff --git a/README.md b/README.md index a07e659..5e7ff5a 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,8 @@ et vous pouvez suivre son évolution par l'intermédiaire de [Mastodon](https://mastodon.tetaneutral.net/@tth) avec le croisimot `#hexacone`. +Quelques images sont disponibles sur mon serveur +de [cuisine](http://maison.tth.netlib.re/p/hexacone.html). ## Prérequis diff --git a/contexte.inc b/contexte.inc index 14b7fcc..8ee0884 100644 --- a/contexte.inc +++ b/contexte.inc @@ -5,12 +5,10 @@ /* voir aussi le fichier 'globals.inc' */ /* ======================================================= */ -/* - * Inserer ici le SDL de la cabane - */ -// ======================================================= /* * nouveau debut fevrier 2025 - we love raytracing + * + * une cabane pour faire riche. */ /* @@ -366,7 +364,7 @@ sky_sphere { [ 0.8 color White ] [ 1.0 color Gray10 ] } - turbulence 3.14159 + 0.78 * Cos_010(NormClock) + turbulence 3.14159 + 0.74 * Cos_010(NormClock) scale 1.804 // translate -1 } @@ -385,7 +383,7 @@ union { object { Le_Sol } object { Underground } object { La_GroundBase } - object { Les_Bibelots } + // object { Les_Bibelots } object { Les_Lumieres } object { Les_GyroPhares () } } diff --git a/cutoff.pov b/cutoff.pov index b5bd99d..85b9d69 100644 --- a/cutoff.pov +++ b/cutoff.pov @@ -33,10 +33,10 @@ object { Le_Decor } // ======================================================= -#local CamX = -1.7 + (1.1*Cos_01(NormClock)); +#local CamX = -2.7 + (1.4*Cos_01(NormClock)); #local CamY = 2.58 + (0.034*sqrt(NormClock)); camera { - location + location look_at <0, 1.6, 0> - angle 38 - 5*Cos_01(NormClock) + angle 39 - 5*Cos_01(NormClock) } diff --git a/escadrille.pov b/escadrille.pov index a69d3b3..35fb71a 100644 --- a/escadrille.pov +++ b/escadrille.pov @@ -18,7 +18,7 @@ #for (idZ, 0, 4) #local posX = (idX * 4.56) - 9.5 + (rand(Rng1)-0.5); - #local posY = 2.6 + (1.2*(rand(Rng1)-0.5)); + #local posY = 2.9 + (1.2*(rand(Rng1)-0.5)); #local posZ = (idZ * 4.24) - 7.9; #local Rx = (rand(Rng1) - 0.5) * 8; #local Ry = (rand(Rng1) - 0.5) * 14; @@ -47,6 +47,6 @@ object { Le_Decor } camera { location - look_at <0.0, -0.3, 0> + look_at <0.0, 0.5, 0> angle 60 - (3.97 * NormClock) } diff --git a/essai.pov b/essai.pov index c34b81a..62b5fcb 100644 --- a/essai.pov +++ b/essai.pov @@ -33,7 +33,7 @@ light_source { #declare QuadriLight = object { #local T = E_QuadriLight; -#local H = H_QuadriLight; +#local H = H_QuadriLight * 2; // #local H = 5; union { @@ -46,8 +46,8 @@ union { // ======================================================= // object { OpenBox translate y*1.30 } -#local RX = -19 + (20*sin(NormClock*9.81) + 8*sin(NormClock*23)); -#local RZ = 30 - (14*Cos_010(NormClock)); +#local RX = -11 + (10*sin(NormClock*9.81) + 3*sin(NormClock*23)); +#local RZ = 26 - (14*Cos_010(NormClock)); object { HexaWood rotate translate y*0.777 } // object { QuadriPole translate <-3, 0, 2> } @@ -65,9 +65,9 @@ object { QuadriLight } #local CamX = -2.7 + (3.8*Cos_010(NormClock)); #local CamY = 0.81 + (4*sqrt(NormClock)); -#local CamZ = 2.7 - (0.8*Cos_010(NormClock)); +#local CamZ = 6.9 - (0.8*Cos_010(NormClock)); camera { - location - look_at <0, 0.79, 0> + location + look_at <0, 0.92, 0> angle 32 + 4*Cos_01(NormClock) } diff --git a/globals.inc b/globals.inc index 3a84cf8..925de4a 100644 --- a/globals.inc +++ b/globals.inc @@ -47,6 +47,25 @@ global_settings { pigment { color Cyan*0.60 } finish { phong 0.01 } } + +#declare T_WIP_alert = texture +{ +pigment { color Red } +finish { specular 0.90 } +} + +#declare T_Planete_A = texture +{ +pigment { color rgb <0.20, 0.30, 0.10> } +normal { dents 0.38 scale 0.5} +finish { phong 0.80 reflection 0.05 } +} +#declare T_Planete_B = texture +{ +pigment { rgb <0.40, 0.50, 0.70> } +finish { metallic 0.50 reflection 0.55 } +} + /* ------------------------------------------------------------ */ /* * Usefull macros diff --git a/hexabenz.inc b/hexabenz.inc index 67c002e..0aa5450 100644 --- a/hexabenz.inc +++ b/hexabenz.inc @@ -32,8 +32,12 @@ union { translate } torus { E, E*0.05 - scale <1, 2, 1> rotate x*90 - texture { WIP_color } + scale <1, 2.4, 1> rotate x*90 + #if ( rand(Rng1) < 0.5 ) + texture { T_Planete_A } + #else + texture { T_Planete_B } + #end } #end // end for } diff --git a/hexawood.inc b/hexawood.inc index 4211909..45e5d81 100644 --- a/hexawood.inc +++ b/hexawood.inc @@ -3,6 +3,10 @@ */ // ======================================================= +#declare Hc_ep = 0.42; // epaisseur chassis +#declare Hc_rad = 0.70; // rayon du chassis +#declare Hc_elo = 1.85; // elongation sur x + // ------------------------------------------------------- #macro HW_Un_Cone () @@ -17,9 +21,9 @@ merge { #macro HW_Cones () union { #for (foo, 0, 360, 60) - #local E = 0.58; - #local Tx = 1.414 * E * sin(radians(foo)); - #local Tz = E * cos(radians(foo)); + #local E = Hc_rad * 0.85; + #local Tx = Hc_elo * E * sin(radians(foo)); + #local Tz = E * cos(radians(foo)); object { HW_Un_Cone () #if ( rand(Rng1) < 0.5 ) @@ -30,7 +34,7 @@ union { // texture { T_WIP_alert } #end // rotate -z*foo - translate + translate } #end // end for } @@ -39,35 +43,42 @@ union { #macro HW_Chassis () difference { - #local El = 1.414; + #local El = Hc_elo; merge { - torus { 0.70, 0.20 translate y*0.20 } - cylinder { 0, y*0.40, 0.70 } + torus { Hc_rad, 0.20 translate y*0.20 } + cylinder { 0, y*0.40, Hc_rad } scale } + + /* trou pour mettre une lampe */ cylinder { -1*y, 0.12*y, 0.08 } + torus { Hc_rad*0.30, 0.18 scale <1, 1.45, 1> + translate y*0.39 } + #for (foo, 0, 360, 60) - #local E = 0.58; + #local E = Hc_rad * 0.85; #local Tx = El * E * sin(radians(foo)); #local Tz = E * cos(radians(foo)); sphere { 0, 0.17 translate } #end #for (foo, 0, 360, 60) - #local E = 0.84; + #local E = Hc_rad * 1.14; #local Tx = El * E * sin(radians(foo+30)); #local Tz = E * cos(radians(foo+30)); cylinder { -y, y, 0.05 translate } #end translate y*0.10 - texture { T_Wood17 scale 0.92 } + texture { T_Wood17 scale 0.82 } + } #end #macro HW_une_patte () merge { + sphere { 0, 0.02 scale <1, 0.24, 1> translate 0.30*y } cylinder { 0, 0.30*y, 0.02 } - sphere { 0, 0.07 scale <1, 0.27, 1> } + sphere { 0, 0.07 scale <1, 0.29, 1> } } #if ( rand(Rng1) < 0.3 ) texture { Tinny_Brass } @@ -79,8 +90,8 @@ merge { #declare HW_les_pattes = object { union { - #local E = 0.84; - #local El = 1.414; + #local E = Hc_rad * 1.14; + #local El = Hc_elo; #for (foo, 0, 360, 60) #local Tx = El * E * sin(radians(foo+30)); #local Tz = E * cos(radians(foo+30)); @@ -94,7 +105,9 @@ union { union { object { HW_Chassis () } object { HW_les_pattes } - light_source { 0.20*y rgb <0, 0.20, 0.95> } + #if (mod(clock, 10) < 6) + light_source { 0.20*y rgb <0, 0.20, 0.95> } + #end object { HW_Cones () translate y*0.15 } } } diff --git a/orbite.pov b/orbite.pov index 3759f98..e74a192 100644 --- a/orbite.pov +++ b/orbite.pov @@ -11,13 +11,13 @@ #include "hexabenz.inc" // ======================================================= -#declare R_planete = 1.22; +#declare R_planete = 1.45; #declare Croute = object { #local R1 = R_planete * 1.05; #local R2 = R_planete * 1.03; -#local HC = R_planete * 0.11; +#local HC = R_planete * 0.12; #local BN = R_planete * 3; difference { @@ -29,7 +29,8 @@ difference { } texture { pigment { color rgb <0.20, 0.30, 0.10> } - finish { reflection 0.15 } + normal { dents 0.38 scale 0.5} + finish { phong 0.80 reflection 0.05 } } } @@ -38,7 +39,7 @@ texture { sphere { 0, R_planete } texture { pigment { rgb <0.40, 0.50, 0.70> } - finish { reflection 0.15 } + finish { metallic 0.50 reflection 0.55 } } } @@ -58,22 +59,22 @@ union { #declare PosY = 0; #declare PosZ = RO * cos(CK); object { HexaBenz () - rotate -y*CK*12.333 translate + rotate -y*CK*42.3 translate } #declare PosX = RO * sin(CK+2.12); #declare PosY = 0; #declare PosZ = RO * cos(CK+2.23); object { HexaCone () - rotate y*CK*14.222 translate + rotate y*CK*49.22 translate } object { Planete rotate (-clock*0.21)*y } light_source { <19, 6, 15>, rgb <0.77, 0.79, 0.80> } camera { - location <3, 1.50, 10.59> + location <3, -1.0+(2*NormClock), 10.59> look_at <0.0, 0.0, 0> - focal_point <0.07, 0.0, 0> + focal_point <0.0, 0.0, 0> aperture 0.046 blur_samples 30 angle 62 diff --git a/remote.pov b/remote.pov index e78d31a..1bb30ed 100644 --- a/remote.pov +++ b/remote.pov @@ -14,6 +14,7 @@ #include "contexte.inc" #include "elements.inc" #include "hexabenz.inc" +#include "hexawood.inc" object { Le_Decor } @@ -23,10 +24,20 @@ object { Le_Decor } object { HexaCone () rotate y*((6*NormClock)+80) translate P } // object { HexaCone () rotate z*9.1 translate <5, 3, -8> } -object { HexaBenz () translate <-4, 2, -5> } +object { HexaBenz () rotate y*(clock/9) translate <-4, 2, -5> } -// light_source { <-16, 17, -24>, rgb <0.51, 0.65, 0.40> } -// object { Repere scale 2 } +// --------------------------------------------------------- + +#declare A = <-21, -0.9, SzSol+9>; +#declare B = < 33, -0.7, SzSol+7>; +#declare P = Interpolate(A, B, NormClock); +object { HexaWood translate P } + +// cylinder { A, B, 0.10 pigment { color Cyan } } + +// --------------------------------------------------------- + +// object { Repere scale 3 translate y } #local DistCam = 239; #local CK = 0.70 * NormClock; diff --git a/survol.pov b/survol.pov index 4caa3ed..111dc9c 100644 --- a/survol.pov +++ b/survol.pov @@ -10,13 +10,27 @@ #include "contexte.inc" #include "elements.inc" #include "hexabenz.inc" +#include "hexawood.inc" // ======================================================= -#declare A = <-SzSol, 16, -8>; -#declare B = ; +/* + * on fait passer un hexatruc + */ +#declare A = <-SzSol, 16, 8>; +#declare B = < SzSol+4, 18, 7>; #declare P = Interpolate(A, B, NormClock); -object { HexaCone () rotate y*((6*NormClock)+80) translate P } +object { HexaCone () rotate y*((12*NormClock)+80) translate P } + + +/* + * nouveau 11 fevrier 2025 + */ +#declare A = <-21, -0.9, (SzSol/2)+1>; +#declare B = < 24, 0.7, (SzSol/2)+9>; +#declare P = Interpolate(B, A, NormClock); +object { HexaWood translate P } + object { Le_Decor } @@ -24,8 +38,8 @@ object { Le_Decor } // ======================================================= -#declare Debut = <-3, 42, 47> ; -#declare Fin = < 2, 45, 7> ; +#declare Debut = <-3, 47, 47> ; +#declare Fin = < 2, 43, 7> ; #declare Pos = Cos_01(NormClock); #declare PosCam = Interpolate(Debut, Fin, Pos); @@ -34,6 +48,6 @@ object { Le_Decor } camera { location PosCam look_at LatCam - angle 53 + angle 54 } diff --git a/tools/encode.sh b/tools/encode.sh index c3b7314..dba08f6 100755 --- a/tools/encode.sh +++ b/tools/encode.sh @@ -2,11 +2,12 @@ set -e ; set -u +# set default value's) +srcdir="essai" + if [ $# == 1 ] then srcdir=$1 -else - srcdir="essai" fi source tools/fonctions.sh diff --git a/tools/fonctions.sh b/tools/fonctions.sh index 17670df..4668391 100644 --- a/tools/fonctions.sh +++ b/tools/fonctions.sh @@ -7,11 +7,11 @@ visual_sleep () msg="$1" nbre="$2" -# echo $msg ; echo $nbre +# echo $msg ; echo $nbre for foo in $(seq 0 $nbre) ; do - local bar=$(( $nbre - $foo )) - printf "XXXX %-20s %3d\r" "$msg" $bar + local bar=$(( $nbre - $foo )) + printf "======== %-20s %3d\r" "$msg" $bar sleep 1 done echo diff --git a/tools/linkfarmer.sh b/tools/linkfarmer.sh index 6c897bb..7775a53 100755 --- a/tools/linkfarmer.sh +++ b/tools/linkfarmer.sh @@ -36,17 +36,18 @@ echo "linkfarm $SRC" | tee -a WS/log local INTER="/dev/shm/tmp-intertitre.png" tools/plot-timing.sh $1 -local NBRE=90 +local NBRE=75 convert "WS/negatif.png" \ -gravity north \ -font $FONTE \ -pointsize 96 \ - -kerning 6 \ + -kerning 8 \ -fill $TEXTCOL \ -strokewidth 2 -stroke $STROKOL \ -annotate +0+530 "$1" \ ${INTER} + for foo in $(seq 0 $NBRE) do copy_a_file $INTER @@ -142,6 +143,7 @@ linkfarm hexabenz linkfarm hexacone linkfarm escadrille linkfarm survol +linkfarm cutoff linkfarm topview linkfarm passage linkfarm scene diff --git a/tools/mkloop.sh b/tools/mkloop.sh index 9b590be..aacd452 100755 --- a/tools/mkloop.sh +++ b/tools/mkloop.sh @@ -40,8 +40,8 @@ do # echo $frame $img $txt convert ${TMPIMG} \ -font Courier-Bold \ - -pointsize 14 \ - -kerning 3 \ + -pointsize 15 \ + -kerning 7 \ -fill ${TEXTCOL} \ -gravity north \ -annotate +12+5 "$txt" \ diff --git a/tools/plot-timing.sh b/tools/plot-timing.sh index c7786b4..80e9c37 100755 --- a/tools/plot-timing.sh +++ b/tools/plot-timing.sh @@ -66,7 +66,7 @@ gnuplot << __EOC__ "/dev/shm/plot-timing.tmp" u 1:3 w l \ lc "#0000ff" t "minimum", \ "/dev/shm/plot-timing.tmp" u 1:2 w l \ - lc "#00ff00" t "moyenne", \ + lc "#00aa00" t "moyenne", \ "/dev/shm/plot-timing.tmp" u 1:5 w l \ lc "#000000" t "last" __EOC__ diff --git a/topview.pov b/topview.pov index d372282..f753581 100644 --- a/topview.pov +++ b/topview.pov @@ -10,6 +10,7 @@ #include "contexte.inc" #include "elements.inc" #include "hexabenz.inc" +#include "hexawood.inc" object { Le_Decor } @@ -23,10 +24,18 @@ object { HexaCone () rotate y*RrY translate TrH } object { HexaCone () rotate z*9.1 translate <5, 3, -8> } object { HexaBenz () translate <-4, 2, -6> } +/* + * nouveau 11 fevrier 2025 + */ +#declare A = <-21, -0.9, (SzSol/2)+9>; +#declare B = < 33, -0.7, (SzSol/2)+7>; +#declare P = Interpolate(A, B, NormClock); +object { HexaWood translate P } + // light_source { <-16, 17, -24>, rgb <0.51, 0.65, 0.40> } // object { Repere scale 2 } -#declare CamY = 31 + (12.11*Cos_01(NormClock)); +#declare CamY = 31 + (13.37*Cos_01(NormClock)); #declare LatY = -3 + NormClock; camera { @@ -35,5 +44,5 @@ camera { // focal_point <2, 1, 12> // aperture 0.046 // blur_samples 30 - angle 45 + (5*NormClock) + angle 45 + (6*NormClock) }