release of the official "full-v2" video

This commit is contained in:
Tonton Th 2025-02-14 19:47:29 +01:00
parent 14a03b78eb
commit cd65855f2c
18 changed files with 137 additions and 62 deletions

View File

@ -11,6 +11,7 @@ CK=230
PNG: essai.png scene.png topview.png passage.png \ PNG: essai.png scene.png topview.png passage.png \
orbite.png hexabenz.png escadrille.png \ orbite.png hexabenz.png escadrille.png \
hexacone.png remote.png survol.png cutoff.png hexacone.png remote.png survol.png cutoff.png
echo "PNG ck=$(CK) done" >> WS/log
topview.png: topview.pov Makefile $(POVDEP) topview.png: topview.pov Makefile $(POVDEP)

View File

@ -9,6 +9,8 @@ et vous pouvez
suivre son évolution par l'intermédiaire de suivre son évolution par l'intermédiaire de
[Mastodon](https://mastodon.tetaneutral.net/@tth) [Mastodon](https://mastodon.tetaneutral.net/@tth)
avec le croisimot `#hexacone`. avec le croisimot `#hexacone`.
Quelques images sont disponibles sur mon serveur
de [cuisine](http://maison.tth.netlib.re/p/hexacone.html).
## Prérequis ## Prérequis

View File

@ -5,12 +5,10 @@
/* voir aussi le fichier 'globals.inc' */ /* voir aussi le fichier 'globals.inc' */
/* ======================================================= */ /* ======================================================= */
/*
* Inserer ici le SDL de la cabane
*/
// =======================================================
/* /*
* nouveau debut fevrier 2025 - we love raytracing * nouveau debut fevrier 2025 - we love raytracing
*
* une cabane pour faire riche.
*/ */
/* /*
@ -366,7 +364,7 @@ sky_sphere {
[ 0.8 color White ] [ 0.8 color White ]
[ 1.0 color Gray10 ] [ 1.0 color Gray10 ]
} }
turbulence 3.14159 + 0.78 * Cos_010(NormClock) turbulence 3.14159 + 0.74 * Cos_010(NormClock)
scale 1.804 scale 1.804
// translate -1 // translate -1
} }
@ -385,7 +383,7 @@ union {
object { Le_Sol } object { Le_Sol }
object { Underground } object { Underground }
object { La_GroundBase } object { La_GroundBase }
object { Les_Bibelots } // object { Les_Bibelots }
object { Les_Lumieres } object { Les_Lumieres }
object { Les_GyroPhares () } object { Les_GyroPhares () }
} }

View File

@ -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)); #local CamY = 2.58 + (0.034*sqrt(NormClock));
camera { camera {
location <CamX, CamY, 5.50> location <CamX, CamY, 5.40>
look_at <0, 1.6, 0> look_at <0, 1.6, 0>
angle 38 - 5*Cos_01(NormClock) angle 39 - 5*Cos_01(NormClock)
} }

View File

@ -18,7 +18,7 @@
#for (idZ, 0, 4) #for (idZ, 0, 4)
#local posX = (idX * 4.56) - 9.5 + (rand(Rng1)-0.5); #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 posZ = (idZ * 4.24) - 7.9;
#local Rx = (rand(Rng1) - 0.5) * 8; #local Rx = (rand(Rng1) - 0.5) * 8;
#local Ry = (rand(Rng1) - 0.5) * 14; #local Ry = (rand(Rng1) - 0.5) * 14;
@ -47,6 +47,6 @@ object { Le_Decor }
camera { camera {
location <CamX, CamY, CamZ> location <CamX, CamY, CamZ>
look_at <0.0, -0.3, 0> look_at <0.0, 0.5, 0>
angle 60 - (3.97 * NormClock) angle 60 - (3.97 * NormClock)
} }

View File

@ -33,7 +33,7 @@ light_source {
#declare QuadriLight = object #declare QuadriLight = object
{ {
#local T = E_QuadriLight; #local T = E_QuadriLight;
#local H = H_QuadriLight; #local H = H_QuadriLight * 2;
// #local H = 5; // #local H = 5;
union { union {
@ -46,8 +46,8 @@ union {
// ======================================================= // =======================================================
// object { OpenBox translate y*1.30 } // object { OpenBox translate y*1.30 }
#local RX = -19 + (20*sin(NormClock*9.81) + 8*sin(NormClock*23)); #local RX = -11 + (10*sin(NormClock*9.81) + 3*sin(NormClock*23));
#local RZ = 30 - (14*Cos_010(NormClock)); #local RZ = 26 - (14*Cos_010(NormClock));
object { HexaWood rotate <RX, 37, 0> translate y*0.777 } object { HexaWood rotate <RX, 37, 0> translate y*0.777 }
// object { QuadriPole translate <-3, 0, 2> } // object { QuadriPole translate <-3, 0, 2> }
@ -65,9 +65,9 @@ object { QuadriLight }
#local CamX = -2.7 + (3.8*Cos_010(NormClock)); #local CamX = -2.7 + (3.8*Cos_010(NormClock));
#local CamY = 0.81 + (4*sqrt(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 { camera {
location <CamX, CamY, 9.99> location <CamX, CamY, CamZ>
look_at <0, 0.79, 0> look_at <0, 0.92, 0>
angle 32 + 4*Cos_01(NormClock) angle 32 + 4*Cos_01(NormClock)
} }

View File

@ -47,6 +47,25 @@ global_settings {
pigment { color Cyan*0.60 } pigment { color Cyan*0.60 }
finish { phong 0.01 } 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 * Usefull macros

View File

@ -32,8 +32,12 @@ union {
translate <Tx, Ty, 0> translate <Tx, Ty, 0>
} }
torus { E, E*0.05 torus { E, E*0.05
scale <1, 2, 1> rotate x*90 scale <1, 2.4, 1> rotate x*90
texture { WIP_color } #if ( rand(Rng1) < 0.5 )
texture { T_Planete_A }
#else
texture { T_Planete_B }
#end
} }
#end // end for #end // end for
} }

View File

@ -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 () #macro HW_Un_Cone ()
@ -17,9 +21,9 @@ merge {
#macro HW_Cones () #macro HW_Cones ()
union { union {
#for (foo, 0, 360, 60) #for (foo, 0, 360, 60)
#local E = 0.58; #local E = Hc_rad * 0.85;
#local Tx = 1.414 * E * sin(radians(foo)); #local Tx = Hc_elo * E * sin(radians(foo));
#local Tz = E * cos(radians(foo)); #local Tz = E * cos(radians(foo));
object { object {
HW_Un_Cone () HW_Un_Cone ()
#if ( rand(Rng1) < 0.5 ) #if ( rand(Rng1) < 0.5 )
@ -30,7 +34,7 @@ union {
// texture { T_WIP_alert } // texture { T_WIP_alert }
#end #end
// rotate -z*foo // rotate -z*foo
translate <Tx, 0.20, Tz> translate <Tx, Hc_ep - 0.22, Tz>
} }
#end // end for #end // end for
} }
@ -39,35 +43,42 @@ union {
#macro HW_Chassis () #macro HW_Chassis ()
difference { difference {
#local El = 1.414; #local El = Hc_elo;
merge { merge {
torus { 0.70, 0.20 translate y*0.20 } torus { Hc_rad, 0.20 translate y*0.20 }
cylinder { 0, y*0.40, 0.70 } cylinder { 0, y*0.40, Hc_rad }
scale <El, 0.5, 1> scale <El, 0.5, 1>
} }
/* trou pour mettre une lampe */
cylinder { -1*y, 0.12*y, 0.08 } 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) #for (foo, 0, 360, 60)
#local E = 0.58; #local E = Hc_rad * 0.85;
#local Tx = El * E * sin(radians(foo)); #local Tx = El * E * sin(radians(foo));
#local Tz = E * cos(radians(foo)); #local Tz = E * cos(radians(foo));
sphere { 0, 0.17 translate <Tx, 0.20, Tz> } sphere { 0, 0.17 translate <Tx, 0.20, Tz> }
#end #end
#for (foo, 0, 360, 60) #for (foo, 0, 360, 60)
#local E = 0.84; #local E = Hc_rad * 1.14;
#local Tx = El * E * sin(radians(foo+30)); #local Tx = El * E * sin(radians(foo+30));
#local Tz = E * cos(radians(foo+30)); #local Tz = E * cos(radians(foo+30));
cylinder { -y, y, 0.05 translate <Tx, 0, Tz> } cylinder { -y, y, 0.05 translate <Tx, 0, Tz> }
#end #end
translate y*0.10 translate y*0.10
texture { T_Wood17 scale 0.92 } texture { T_Wood17 scale 0.82 }
} }
#end #end
#macro HW_une_patte () #macro HW_une_patte ()
merge { merge {
sphere { 0, 0.02 scale <1, 0.24, 1> translate 0.30*y }
cylinder { 0, 0.30*y, 0.02 } 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 ) #if ( rand(Rng1) < 0.3 )
texture { Tinny_Brass } texture { Tinny_Brass }
@ -79,8 +90,8 @@ merge {
#declare HW_les_pattes = object #declare HW_les_pattes = object
{ {
union { union {
#local E = 0.84; #local E = Hc_rad * 1.14;
#local El = 1.414; #local El = Hc_elo;
#for (foo, 0, 360, 60) #for (foo, 0, 360, 60)
#local Tx = El * E * sin(radians(foo+30)); #local Tx = El * E * sin(radians(foo+30));
#local Tz = E * cos(radians(foo+30)); #local Tz = E * cos(radians(foo+30));
@ -94,7 +105,9 @@ union {
union { union {
object { HW_Chassis () } object { HW_Chassis () }
object { HW_les_pattes } 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 } object { HW_Cones () translate y*0.15 }
} }
} }

View File

@ -11,13 +11,13 @@
#include "hexabenz.inc" #include "hexabenz.inc"
// ======================================================= // =======================================================
#declare R_planete = 1.22; #declare R_planete = 1.45;
#declare Croute = object #declare Croute = object
{ {
#local R1 = R_planete * 1.05; #local R1 = R_planete * 1.05;
#local R2 = R_planete * 1.03; #local R2 = R_planete * 1.03;
#local HC = R_planete * 0.11; #local HC = R_planete * 0.12;
#local BN = R_planete * 3; #local BN = R_planete * 3;
difference { difference {
@ -29,7 +29,8 @@ difference {
} }
texture { texture {
pigment { color rgb <0.20, 0.30, 0.10> } 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 } sphere { 0, R_planete }
texture { texture {
pigment { rgb <0.40, 0.50, 0.70> } 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 PosY = 0;
#declare PosZ = RO * cos(CK); #declare PosZ = RO * cos(CK);
object { HexaBenz () object { HexaBenz ()
rotate -y*CK*12.333 translate <PosX, PosY, PosZ> rotate -y*CK*42.3 translate <PosX, PosY, PosZ>
} }
#declare PosX = RO * sin(CK+2.12); #declare PosX = RO * sin(CK+2.12);
#declare PosY = 0; #declare PosY = 0;
#declare PosZ = RO * cos(CK+2.23); #declare PosZ = RO * cos(CK+2.23);
object { HexaCone () object { HexaCone ()
rotate y*CK*14.222 translate <PosX, PosY, PosZ> rotate y*CK*49.22 translate <PosX, PosY, PosZ>
} }
object { Planete rotate (-clock*0.21)*y } object { Planete rotate (-clock*0.21)*y }
light_source { <19, 6, 15>, rgb <0.77, 0.79, 0.80> } light_source { <19, 6, 15>, rgb <0.77, 0.79, 0.80> }
camera { camera {
location <3, 1.50, 10.59> location <3, -1.0+(2*NormClock), 10.59>
look_at <0.0, 0.0, 0> look_at <0.0, 0.0, 0>
focal_point <0.07, 0.0, 0> focal_point <0.0, 0.0, 0>
aperture 0.046 aperture 0.046
blur_samples 30 blur_samples 30
angle 62 angle 62

View File

@ -14,6 +14,7 @@
#include "contexte.inc" #include "contexte.inc"
#include "elements.inc" #include "elements.inc"
#include "hexabenz.inc" #include "hexabenz.inc"
#include "hexawood.inc"
object { Le_Decor } object { Le_Decor }
@ -23,10 +24,20 @@ object { Le_Decor }
object { HexaCone () rotate y*((6*NormClock)+80) translate P } object { HexaCone () rotate y*((6*NormClock)+80) translate P }
// object { HexaCone () rotate z*9.1 translate <5, 3, -8> } // 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 DistCam = 239;
#local CK = 0.70 * NormClock; #local CK = 0.70 * NormClock;

View File

@ -10,13 +10,27 @@
#include "contexte.inc" #include "contexte.inc"
#include "elements.inc" #include "elements.inc"
#include "hexabenz.inc" #include "hexabenz.inc"
#include "hexawood.inc"
// ======================================================= // =======================================================
#declare A = <-SzSol, 16, -8>; /*
#declare B = <SzSol+4, 18, -1>; * on fait passer un hexatruc
*/
#declare A = <-SzSol, 16, 8>;
#declare B = < SzSol+4, 18, 7>;
#declare P = Interpolate(A, B, NormClock); #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 } object { Le_Decor }
@ -24,8 +38,8 @@ object { Le_Decor }
// ======================================================= // =======================================================
#declare Debut = <-3, 42, 47> ; #declare Debut = <-3, 47, 47> ;
#declare Fin = < 2, 45, 7> ; #declare Fin = < 2, 43, 7> ;
#declare Pos = Cos_01(NormClock); #declare Pos = Cos_01(NormClock);
#declare PosCam = Interpolate(Debut, Fin, Pos); #declare PosCam = Interpolate(Debut, Fin, Pos);
@ -34,6 +48,6 @@ object { Le_Decor }
camera { camera {
location PosCam location PosCam
look_at LatCam look_at LatCam
angle 53 angle 54
} }

View File

@ -2,11 +2,12 @@
set -e ; set -u set -e ; set -u
# set default value's)
srcdir="essai"
if [ $# == 1 ] if [ $# == 1 ]
then then
srcdir=$1 srcdir=$1
else
srcdir="essai"
fi fi
source tools/fonctions.sh source tools/fonctions.sh

View File

@ -11,7 +11,7 @@ nbre="$2"
for foo in $(seq 0 $nbre) ; do for foo in $(seq 0 $nbre) ; do
local bar=$(( $nbre - $foo )) local bar=$(( $nbre - $foo ))
printf "XXXX %-20s %3d\r" "$msg" $bar printf "======== %-20s %3d\r" "$msg" $bar
sleep 1 sleep 1
done done
echo echo

View File

@ -36,17 +36,18 @@ echo "linkfarm $SRC" | tee -a WS/log
local INTER="/dev/shm/tmp-intertitre.png" local INTER="/dev/shm/tmp-intertitre.png"
tools/plot-timing.sh $1 tools/plot-timing.sh $1
local NBRE=90 local NBRE=75
convert "WS/negatif.png" \ convert "WS/negatif.png" \
-gravity north \ -gravity north \
-font $FONTE \ -font $FONTE \
-pointsize 96 \ -pointsize 96 \
-kerning 6 \ -kerning 8 \
-fill $TEXTCOL \ -fill $TEXTCOL \
-strokewidth 2 -stroke $STROKOL \ -strokewidth 2 -stroke $STROKOL \
-annotate +0+530 "$1" \ -annotate +0+530 "$1" \
${INTER} ${INTER}
for foo in $(seq 0 $NBRE) for foo in $(seq 0 $NBRE)
do do
copy_a_file $INTER copy_a_file $INTER
@ -142,6 +143,7 @@ linkfarm hexabenz
linkfarm hexacone linkfarm hexacone
linkfarm escadrille linkfarm escadrille
linkfarm survol linkfarm survol
linkfarm cutoff
linkfarm topview linkfarm topview
linkfarm passage linkfarm passage
linkfarm scene linkfarm scene

View File

@ -40,8 +40,8 @@ do
# echo $frame $img $txt # echo $frame $img $txt
convert ${TMPIMG} \ convert ${TMPIMG} \
-font Courier-Bold \ -font Courier-Bold \
-pointsize 14 \ -pointsize 15 \
-kerning 3 \ -kerning 7 \
-fill ${TEXTCOL} \ -fill ${TEXTCOL} \
-gravity north \ -gravity north \
-annotate +12+5 "$txt" \ -annotate +12+5 "$txt" \

View File

@ -66,7 +66,7 @@ gnuplot << __EOC__
"/dev/shm/plot-timing.tmp" u 1:3 w l \ "/dev/shm/plot-timing.tmp" u 1:3 w l \
lc "#0000ff" t "minimum", \ lc "#0000ff" t "minimum", \
"/dev/shm/plot-timing.tmp" u 1:2 w l \ "/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 \ "/dev/shm/plot-timing.tmp" u 1:5 w l \
lc "#000000" t "last" lc "#000000" t "last"
__EOC__ __EOC__

View File

@ -10,6 +10,7 @@
#include "contexte.inc" #include "contexte.inc"
#include "elements.inc" #include "elements.inc"
#include "hexabenz.inc" #include "hexabenz.inc"
#include "hexawood.inc"
object { Le_Decor } 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 { HexaCone () rotate z*9.1 translate <5, 3, -8> }
object { HexaBenz () translate <-4, 2, -6> } 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> } // light_source { <-16, 17, -24>, rgb <0.51, 0.65, 0.40> }
// object { Repere scale 2 } // object { Repere scale 2 }
#declare CamY = 31 + (12.11*Cos_01(NormClock)); #declare CamY = 31 + (13.37*Cos_01(NormClock));
#declare LatY = -3 + NormClock; #declare LatY = -3 + NormClock;
camera { camera {
@ -35,5 +44,5 @@ camera {
// focal_point <2, 1, 12> // focal_point <2, 1, 12>
// aperture 0.046 // aperture 0.046
// blur_samples 30 // blur_samples 30
angle 45 + (5*NormClock) angle 45 + (6*NormClock)
} }