release of the official "full-v2" video
This commit is contained in:
parent
14a03b78eb
commit
cd65855f2c
1
Makefile
1
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)
|
||||
|
@ -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
|
||||
|
||||
|
10
contexte.inc
10
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 () }
|
||||
}
|
||||
|
@ -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)
|
||||
}
|
||||
|
@ -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)
|
||||
}
|
||||
|
12
essai.pov
12
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 <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)
|
||||
}
|
||||
|
19
globals.inc
19
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
|
||||
|
@ -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
|
||||
}
|
||||
|
41
hexawood.inc
41
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 <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 }
|
||||
}
|
||||
}
|
||||
|
17
orbite.pov
17
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 <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
|
||||
|
17
remote.pov
17
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;
|
||||
|
26
survol.pov
26
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 = <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
|
||||
}
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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" \
|
||||
|
@ -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__
|
||||
|
13
topview.pov
13
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)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user