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 \
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)

View File

@ -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

View File

@ -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 () }
}

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));
camera {
location <CamX, CamY, 5.50>
location <CamX, CamY, 5.40>
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)
#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 <CamX, CamY, CamZ>
look_at <0.0, -0.3, 0>
look_at <0.0, 0.5, 0>
angle 60 - (3.97 * NormClock)
}

View File

@ -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 <RX, 37, 0> 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 <CamX, CamY, 9.99>
look_at <0, 0.79, 0>
location <CamX, CamY, CamZ>
look_at <0, 0.92, 0>
angle 32 + 4*Cos_01(NormClock)
}

View File

@ -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

View File

@ -32,8 +32,12 @@ union {
translate <Tx, Ty, 0>
}
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
}

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 ()
@ -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 <Tx, 0.20, Tz>
translate <Tx, Hc_ep - 0.22, Tz>
}
#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 <El, 0.5, 1>
}
/* 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 <Tx, 0.20, Tz> }
#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 <Tx, 0, Tz> }
#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 }
}
}

View File

@ -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 <PosX, PosY, PosZ>
rotate -y*CK*42.3 translate <PosX, PosY, PosZ>
}
#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 <PosX, PosY, PosZ>
rotate y*CK*49.22 translate <PosX, PosY, PosZ>
}
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

View File

@ -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;

View File

@ -10,13 +10,27 @@
#include "contexte.inc"
#include "elements.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);
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
}

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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" \

View File

@ -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__

View File

@ -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)
}