Easter Egg commit (big!)

This commit is contained in:
Tonton Th
2026-04-05 00:27:54 +02:00
parent c9dba8d6aa
commit 43f58d9ce9
30 changed files with 241 additions and 186 deletions

View File

@@ -15,10 +15,10 @@ object { Le_Decor }
// ======================================================= // =======================================================
#declare LocX = -0.5 + Cos_010(NormClock); #declare LocX = -0.5 + (2*Cos_010(NormClock));
#declare LocY = 2.6 - NormClock; #declare LocY = 2.6 - NormClock;
#declare LocZ = -200 + (118 * NormClock); #declare LocZ = -200 + (118 * NormClock);
#declare LocCam = <LocX, LocY, LocZ>;
#declare LatCam = <0, 0.92+NormClock, 0>; #declare LatCam = <0, 0.92+NormClock, 0>;
// object { Repere scale 5 translate Interpolate(LocCam, LatCam, 0.50) } // object { Repere scale 5 translate Interpolate(LocCam, LatCam, 0.50) }

View File

@@ -5,6 +5,15 @@
* file created on Sat Jan 31 07:07:28 AM UTC 2026 * file created on Sat Jan 31 07:07:28 AM UTC 2026
*/ */
// ===========================================================
// new: Mon Mar 30 05:39:38 PM UTC 2026
#macro Jalon_0 (Rad, Hei, Ttu)
merge {
cylinder { 0, Hei*y, Rad }
sphere { 0, Rad*2 scale <1, 0.333, 1> translate Hei*y }
texture { Ttu }
}
#end
// =========================================================== // ===========================================================
#declare SzC = 0.3; #declare SzC = 0.3;
#macro Base_Col_A () #macro Base_Col_A ()

View File

@@ -13,7 +13,7 @@
#include "all.inc" #include "all.inc"
// --------------------------------------------------------- // ---------------------------------------------------------
object { Repere scale 20 translate y*20 } object { Repere scale 10 translate y*20 }
// --------------------------------------------------------- // ---------------------------------------------------------
// dessiner une grille // dessiner une grille
union { union {
@@ -23,16 +23,16 @@ union {
cylinder { <-150, H, Foo>, <150, H, Foo>, Ra } cylinder { <-150, H, Foo>, <150, H, Foo>, Ra }
cylinder { <Foo, H, -150>, <Foo, H, 150>, Ra } cylinder { <Foo, H, -150>, <Foo, H, 150>, Ra }
#end #end
pigment { color Black } pigment { color Black }
} }
// --------------------------------------------------------- // ---------------------------------------------------------
object { Le_Decor } object { Le_Decor }
camera { camera {
location <46, 149+(117*NormClock), 18-(12*NormClock)> location <46, 199+(137*NormClock), 18-(12*NormClock)>
look_at <0, 1.18, 0.17 + (2.4*NormClock)> look_at <0, 1.18, 0.17 + (2.4*NormClock)>
right <image_width/image_height, 0, 0> right <image_width/image_height, 0, 0>
angle 50 angle 35
} }

View File

@@ -23,10 +23,10 @@ object { Le_Decor }
#declare CamY = 3.08 + abs(sin(CK/4.00)); #declare CamY = 3.08 + abs(sin(CK/4.00));
#declare CamZ = R_circ * sin(CK); #declare CamZ = R_circ * sin(CK);
#declare AV = 0.070; #declare AV = 0.065;
#declare LatX = R_circ * 0.96 * cos(CK + AV); #declare LatX = R_circ * 0.96 * cos(CK + AV);
#declare LatY = 2.65; #declare LatY = 2.65;
#declare LatZ = R_circ * 0.95 * sin(CK + AV); #declare LatZ = R_circ * 0.97 * sin(CK + AV);
camera { camera {
location <CamX, CamY, CamZ> location <CamX, CamY, CamZ>

View File

@@ -7,13 +7,28 @@
/* ======================================================= */ /* ======================================================= */
// #debug "+++++++++++++++++++++ debut contexte\n" // #debug "+++++++++++++++++++++ debut contexte\n"
/* ======================================================= */ /* ======================================================= */
#declare Les_Jalons = object
{
union {
#local EC = SzSol + 111;
/* les coins */
object { Jalon_0 (0.5, 3, LeGris) translate <-EC, 0, -EC> }
object { Jalon_0 (0.5, 3, LeGris) translate < EC, 0, -EC> }
object { Jalon_0 (0.5, 3, LeGris) translate <-EC, 0, EC> }
object { Jalon_0 (0.5, 3, LeGris) translate < EC, 0, EC> }
/* les milieux des cotés */
object { Jalon_0 (0.5, 6, LeGris) translate < 0, 0, -EC> }
object { Jalon_0 (0.6, 6, LeGris) translate < 0, 0, EC> }
}
}
/* ======================================================= */
#macro Trois_Portiques (Dist) #macro Trois_Portiques (Dist)
union { union {
object { Portique_A () } object { Portique_A () rotate -y*9 }
object { Portique_A () scale <1, 1.2, 1> translate z*11 } object { Portique_A () scale <1, 1.2, 1> translate z*11 }
object { Portique_A () rotate y*11 translate z*22 } object { Portique_A () rotate y*9 translate z*22 }
// XXX scale 1.85 box { <-4, 0, -2>, <4, 0.03, 24> texture { LeGris } }
} }
#end // macro trois portiques #end // macro trois portiques
@@ -43,7 +58,7 @@ difference {
cylinder { 0, y*0.36, R*0.99 } cylinder { 0, y*0.36, R*0.99 }
cone { y*0.37, R*0.80, y*0.425, R*0.83 } cone { y*0.37, R*0.80, y*0.425, R*0.83 }
#for (Foo, 0, 359, 10) #for (Foo, 0, 359, 10)
#if (rand(Rng1) > 0.17) #if (rand(Rng1) > 0.19)
#local Dx = R * sin(radians(Foo)); #local Dx = R * sin(radians(Foo));
#local Dz = R * cos(radians(Foo)); #local Dz = R * cos(radians(Foo));
cone { 0, 0.01, y*0.41, 0.10 translate <Dx, 0, Dz> } cone { 0, 0.01, y*0.41, 0.10 translate <Dx, 0, Dz> }
@@ -109,7 +124,7 @@ union {
#macro Les_GyroPhares () #macro Les_GyroPhares ()
union { union {
#local E = SzSol * 0.496; #local E = SzSol * 0.497;
#for (Idx, 0, 359, 60) #for (Idx, 0, 359, 60)
#local Ang = radians(Idx+9.33); #local Ang = radians(Idx+9.33);
#local Dx = E * sin(Ang); #local Dx = E * sin(Ang);
@@ -128,7 +143,7 @@ union {
{ {
union { union {
#for (Ang, 0, 359, 6) #for (Ang, 0, 359, 6)
#local De = 3.6 + (0.5*rand(Rng1)); #local De = 2.6 + (0.5*rand(Rng1));
#if (rand(Rng1) < 0.50) #if (rand(Rng1) < 0.50)
#local E = R_circular + De; #local E = R_circular + De;
#else #else
@@ -154,7 +169,7 @@ union {
#local Zp = R_circular * sin(Ra); #local Zp = R_circular * sin(Ra);
cylinder { 0, 0.33*y, 0.10 cylinder { 0, 0.33*y, 0.10
translate <Xp, 0, Zp> translate <Xp, 0, Zp>
texture { T_Planete_A scale 3 } texture { T_Planete_B scale 3 }
} }
#end #end
} }
@@ -167,7 +182,7 @@ union {
#declare R2hxba = Rhxba * 0.48; #declare R2hxba = Rhxba * 0.48;
merge { merge {
sphere { 0, Rhxba } sphere { 0, Rhxba }
#local E = Rhxba * 1.260; #local E = Rhxba * 1.240;
sphere { 0, R2hxba translate <-E, 0, 0> } sphere { 0, R2hxba translate <-E, 0, 0> }
sphere { 0, R2hxba translate < E, 0, 0> } sphere { 0, R2hxba translate < E, 0, 0> }
sphere { 0, R2hxba translate < 0, -E, 0> } sphere { 0, R2hxba translate < 0, -E, 0> }
@@ -262,7 +277,7 @@ union {
light_source { light_source {
0 0
color White color White
fade_distance SzSol * 0.40 fade_distance SzSol * 0.47
fade_power 1.25 fade_power 1.25
} }
} }
@@ -290,47 +305,15 @@ union {
object { Chose () translate < 20, 0, -36> } object { Chose () translate < 20, 0, -36> }
/* a l'exterieur du 'circular' */ /* a l'exterieur du 'circular' */
#for (foo, 0, 359, 18) #for (foo, 0, 359, 18)
#local CK = radians(foo + (8*rand(Rng1))); #local CK = radians(foo + (11*rand(Rng1)));
#local DX = 71 * sin(CK); #local DX = 83 * sin(CK);
#local DZ = 67 * cos(CK); #local DZ = 79 * cos(CK);
object { Chose () translate < DX, 0, DZ> } // XXX object { Chose () translate < DX, 0, DZ> } // XXX
#end #end
} }
} }
/* ======================================================= */ /* ======================================================= */
/*
* cette partie demande des explications
*/
#declare Les_Lumieres = object
{
union {
#if (1)
light_source {
<2.3, 5.50, 2.86> color Gray70
spotlight
radius 19 falloff 10 tightness 8
point_at <0, 0.95, 0.22222222>
}
#end
#if (1)
light_source {
<-8, 5.60, 18>
#if ( (clock > 290) & (clock<344) )
#local Couleur = rgb <0.20, 0.20, 0.90>;
#else
#local Couleur = rgb <0.80, 0.80, 0.70>;
#end
color Couleur
spotlight
radius 12 falloff 10 tightness 5
point_at <0, 0.95, -0.22>
}
#end
}
}
/* ======================================================= */ /* ======================================================= */
/* /*
* why a skysphere can't be an object ? * why a skysphere can't be an object ?
@@ -339,14 +322,14 @@ sky_sphere {
pigment { pigment {
gradient y gradient y
color_map { color_map {
[ 0.2 color Gray20 ] [ 0.2 color Gray20 ]
[ 0.4 color rgb <.5, .45, .43> ] [ 0.4 color srgb <.5, .45, .43> ]
[ 0.7 color Gray50 ] [ 0.7 color Gray50 ]
[ 0.9 color rgb <.5, .5, .47> ] [ 0.9 color srgb <.5, .5, .47> ]
[ 1.0 color Gray20 ] [ 1.0 color Gray20 ]
} }
turbulence 2.222 + 0.84 * Cos_010(NormClock) turbulence 2.222 + 0.84 * Cos_010(NormClock)
scale 1.600 scale 1.666
// translate -1 // translate -1
} }
#local Kem = 0.09; #local Kem = 0.09;
@@ -363,6 +346,8 @@ union {
object { Underground } object { Underground }
object { Les_Bordures } object { Les_Bordures }
object { Les_Jalons }
#include "groundbase.inc" #include "groundbase.inc"
object { La_GroundBase } object { La_GroundBase }

View File

@@ -11,7 +11,7 @@ object {
#local RD = 63; // rayon deplacement #local RD = 63; // rayon deplacement
#local Xp = RD * sin(CK); #local Xp = RD * sin(CK);
#local Zp = RD * cos(CK); #local Zp = RD * cos(CK);
#declare Loc_Patrouille = <Xp+10, 70+(11*NormClock), Zp>; #declare Loc_Patrouille = <Xp, 70+(11*NormClock), Zp+23>;
object { Patrouille } object { Patrouille }
rotate y*degrees(CK) rotate y*degrees(CK)
@@ -23,7 +23,7 @@ object {
// qui bougent sur le rail circulaire // qui bougent sur le rail circulaire
#for (foo, 0, 5) #for (foo, 0, 5)
#local CK = (NormClock+(foo*0.0200)) * 4.05; // radians #local CK = (NormClock+(foo*0.0200)) * 3.666; // radians
#declare Xpos = R_circular * sin(CK); #declare Xpos = R_circular * sin(CK);
#declare Zpos = R_circular * cos(CK); #declare Zpos = R_circular * cos(CK);
#declare AR = degrees(CK); #declare AR = degrees(CK);
@@ -40,7 +40,7 @@ object {
object { Les_Machins rotate -y*clock translate UnderHoles[2] } object { Les_Machins rotate -y*clock translate UnderHoles[2] }
object { Les_Machins rotate y*clock translate UnderHoles[5] } object { Les_Machins rotate y*clock translate UnderHoles[5] }
// object { Les_HexaBalls rotate y*clock translate UnderHoles[2] } object { Les_HexaBalls rotate y*(clock*2.9) translate UnderHoles[4] }
/// ======================================================= /// =======================================================
/* /*

View File

@@ -56,9 +56,9 @@ object { Le_Decor }
#local CamY = 0.42 + (18.36 * Cos_01(NormClock)); #local CamY = 0.42 + (18.36 * Cos_01(NormClock));
#local CamZ = 122 - (22.9 * Cos_01(NormClock)); #local CamZ = 122 - (22.9 * Cos_01(NormClock));
#local LatX = 3 * NormClock; #local LatX = 6 * NormClock;
#local LatY = (Y_mean / Y_count) - (0.5*NormClock); #local LatY = (Y_mean / Y_count) - (0.5*NormClock);
#local LatZ = 2.22; #local LatZ = 4.2;
// #debug concat("escadrille: Lat Y ", str(LatY, 7, 3),"\n") // #debug concat("escadrille: Lat Y ", str(LatY, 7, 3),"\n")
camera { camera {

View File

@@ -353,19 +353,15 @@ union {
#declare GyroTrucs = object #declare GyroTrucs = object
{ {
union { union {
#for (I, 0, 359, 20) #for (I, 0, 359, 15)
#declare E = 12 + (3.5*rand(Rng1)); #declare E = 14 + (4.2*rand(Rng1));
#declare Dx = E * sin(radians(I)); #declare Dx = E * sin(radians(I));
#declare Dz = E * cos(radians(I)); #declare Dz = E * cos(radians(I));
#local R = rand(Rng1); #local R = rand(Rng1);
#if (R > 0.76) #if (R > 0.76)
object { GyroPhare () translate <Dx, 0, Dz> } object { GyroPhare () translate <Dx, 0, Dz> }
#elseif (R > 0.65) #elseif (R > 0.45)
object { Obj_BasicTexture object { HexaPole () translate <Dx, 0, Dz> }
texture { T_WIP_redwave }
scale 0.75
rotate y * (5*(.5-rand(Rng1))*clock)
translate <Dx, 0, Dz> }
#else #else
object { HexoFlash (0.14, 1.85 + (0.444*rand(Rng1)) ) object { HexoFlash (0.14, 1.85 + (0.444*rand(Rng1)) )
translate <Dx, 0, Dz> } translate <Dx, 0, Dz> }
@@ -393,9 +389,10 @@ union {
#debug " !!! ACTION !!!\n" #debug " !!! ACTION !!!\n"
/* FLASHING LIGHT !!! */
#local Rv = 0.5 + (0.1*sin(clock*0.113)); #local Rv = 0.5 + (0.1*sin(clock*0.113));
#local Gv = 0.21; #local Gv = 0.21;
#local Bv = 0.25 * abs(sin(clock*0.014)); #local Bv = 0.25 * abs(sin(clock*0.019));
light_source { light_source {
<-32, 40, -7> <-32, 40, -7>
colour <Rv, Gv, Bv> colour <Rv, Gv, Bv>
@@ -405,10 +402,10 @@ union {
// ------------------------------------------------------ ## // ------------------------------------------------------ ##
#declare Selector = int(clock/90); #declare Selector = int(clock/96);
#debug concat("Selector = ", str(Selector, 6, 0), "\n") #debug concat("Selector = ", str(Selector, 6, 0), "\n")
#declare AngleCam = 27 - 3*Cos_01(NormClock); #declare AngleCam = 29 - 3*Cos_01(NormClock);
#switch (Selector) #switch (Selector)
#case (0) #case (0)
@@ -424,11 +421,12 @@ union {
object { ProtoTextures } object { ProtoTextures }
#break #break
#case (3) #case (3)
object { Blob_Boxed scale 3 translate y*2 } object { Blob_Boxed scale 3.159 translate < 0, 2, 0> }
object { Blob_Boxed scale 1.414 translate <-3, 3, 0> }
// object { Repere translate y*1 } // object { Repere translate y*1 }
#break #break
#case (4) #case (4)
object { Un_Autre_Cube (0.666) rotate y*42 translate <3, 1.8, 0> } object { Un_Autre_Cube (0.666) rotate x*42 translate <3, 1.8, 0> }
object { Un_Autre_Cube (0.888) translate <0, 1.8, 2> } object { Un_Autre_Cube (0.888) translate <0, 1.8, 2> }
#break #break
@@ -441,9 +439,9 @@ plane {
// ======================================================= // =======================================================
#local CamX = -2.7 + (1.8*Cos_010(NormClock)); #local CamX = -2.9 + (1.8*Cos_010(NormClock));
#local CamY = 0.61 + (0.9*exp(NormClock)); #local CamY = 0.61 + (0.9*exp(NormClock));
#local CamZ = -5.777 + (1.2*Cos_01(NormClock)); #local CamZ = -5.777 + (1.3*Cos_01(NormClock));
#local K = 8.6; #local K = 8.6;
#local CamX = CamX * K; #local CamX = CamX * K;
@@ -451,7 +449,7 @@ plane {
#local CamZ = CamZ * K; #local CamZ = CamZ * K;
camera { camera {
orthographic // orthographic
location <CamX, CamY, CamZ> location <CamX, CamY, CamZ>
look_at <0, 1.5, 0> look_at <0, 1.5, 0>

View File

@@ -12,17 +12,17 @@ union {
#local R2 = R * 2.33; #local R2 = R * 2.33;
#local LC = 1.15; #local LC = 1.15;
merge { merge {
cylinder { 0, <1, 0, 0>, R } cylinder { -0.1*x, <1, 0, 0>, R }
cone { <1, 0, 0>, R2, <LC, 0, 0>, 0 } cone { <1, 0, 0>, R2, <LC, 0, 0>, 0 }
texture { R_Texture } texture { R_Texture }
} }
merge { merge {
cylinder { 0, <0, 1, 0>, R } cylinder { -0.1*y, <0, 1, 0>, R }
cone { <0, 1, 0>, R2, <0, LC, 0>, 0 } cone { <0, 1, 0>, R2, <0, LC, 0>, 0 }
texture { G_Texture } texture { G_Texture }
} }
merge { merge {
cylinder { 0, <0, 0, 1>, R } cylinder { -0.1*z, <0, 0, 1>, R }
cone { <0, 0, 1>, R2, <0, 0, LC>, 0 } cone { <0, 0, 1>, R2, <0, 0, LC>, 0 }
texture { B_Texture } texture { B_Texture }
} }
@@ -143,17 +143,16 @@ texture { T_WIP_bluewave scale 0.21 rotate <clock, clock/2, clock/3> }
#declare Horloge = object #declare Horloge = object
{ {
#local Texte = str(NormClock, 6, 3); #local Texte = str(NormClock, 5, 2);
#debug concat("Texte horloge ", Texte, "\n\n") #debug concat("Texte horloge ", Texte, "\n\n")
text { text {
// ttf "datas/DSEG7Classic-Regular.ttf" Texte 0.1, 0 ttf "datas/dotmatrx.ttf" Texte 0.15, 0
ttf "datas/ComicMono-Bold.ttf" Texte 0.1, 0 texture { tPlasticGreen }
texture { tPlasticBlue }
} }
scale 1.96 scale <1.76, 1.70, 1.76>
rotate 90*x rotate 90*x
translate <-4.5, 0.046, 0> translate <-4.3, 0.046, 0>
} }
// ---------------------------------------------------------- // ----------------------------------------------------------
// nouveau du 3 janvier 2026 // nouveau du 3 janvier 2026
@@ -198,12 +197,57 @@ prism {
*/ */
} }
#end // macro #end // macro
// ------------------------------------------------------ ##
/* nouveau du 31 mars 2026, aux Bourtoulots
*
*/
#macro HexaPole_abatjour (Quux)
union {
#local Raj = 0.333;
torus { Raj, 0.018 translate -y*Quux }
#for (Foo, 0, 359, 18)
#local DX = Raj * sin(radians(Foo));
#local DZ = Raj * cos(radians(Foo));
cylinder { -y*Quux, y*Quux, 0.013 translate <DX, 0, DZ> }
#end // for
torus { Raj, 0.02 translate y*Quux }
rotate y*(clock*0.40*(rand(Rng1)-0.59))
}
#end // macro
#macro HexaPole_mat_lampe (Height)
union {
union {
cylinder { 0, y*Height, 0.061 }
#local Val = 0.09+(0.09*rand(Rng1));
object { HexaPole_abatjour (Val)
translate y*(Height+0.073) }
texture { LeGris }
}
#local P = y*(Height+0.097);
#if (rand(Rng1) < 0.30)
#local Val = 0.25 + 0.5*rand(Rng1);
light_source {
P rgb <0.80, 0.25+(0.5*rand(Rng1)), 0.99>
fade_distance 3.80
fade_power 1.55
}
#else
sphere {
P, 0.080
texture { C_Texture }
}
#end // if
}
#end // macro
// ------------------------------------------------------ ## // ------------------------------------------------------ ##
#macro HexaPole_tubes () #macro HexaPole_tubes ()
#local R = 0.033; #local R = 0.033;
#local E = 0.49; #local E = 0.51;
#local H = H_cone*0.666; #local H = H_cone*0.50;
union { union {
#for (A, 0, 359, 60) #for (A, 0, 359, 60)
#local Xp = E * cos(radians(A)); #local Xp = E * cos(radians(A));
@@ -223,7 +267,6 @@ union {
} }
#end #end
} }
#undef E #undef E
#undef H #undef H
#undef R #undef R
@@ -238,7 +281,8 @@ union {
union { union {
object { Base_hexapole () scale <0.24, 0.2, 0.24> } object { Base_hexapole () scale <0.24, 0.2, 0.24> }
object { HexaPole_tubes () translate y*0.15 } object { HexaPole_tubes () translate y*0.15 }
rotate y*(53*rand(Rng1)) HexaPole_mat_lampe (2.42 + rand(Rng1))
rotate y*(73*rand(Rng1))
} }
#end // macro #end // macro

View File

@@ -1,7 +1,7 @@
global_settings { global_settings {
assumed_gamma 1.0 assumed_gamma 1.0
ambient_light rgb <0.48, 0.49, 0.48> ambient_light rgb <0.28, 0.30, 0.30>
max_trace_level 15 max_trace_level 15
} }
@@ -11,7 +11,7 @@ global_settings {
#include "stones.inc" #include "stones.inc"
#include "woods.inc" #include "woods.inc"
#declare Rng1 = seed(314); #declare Rng1 = seed(1515);
#declare foo = rand(Rng1); #declare foo = rand(Rng1);
#declare Rng2 = seed(now*24*60*60); #declare Rng2 = seed(now*24*60*60);
#declare bar = rand(Rng2); #declare bar = rand(Rng2);
@@ -37,11 +37,11 @@ global_settings {
#declare H_gylampe = 0.25; #declare H_gylampe = 0.25;
#declare H_QuadriLight = 42; #declare H_QuadriLight = 42;
#declare E_QuadriLight = SzSol * 1.35; #declare E_QuadriLight = SzSol * 1.79;
#declare R_circular = (SzSol * 1.60); #declare R_circular = (SzSol * 1.60);
#declare R_hole = 3.1; // holes in the background #declare R_hole = 3.14159; // holes in the background
/* ------------------------------------------------------------ */ /* ------------------------------------------------------------ */
/* /*
@@ -52,7 +52,7 @@ global_settings {
{ {
/* moi j'dis qu'il est temps de définir un "gris de base" */ /* moi j'dis qu'il est temps de définir un "gris de base" */
pigment { color Gray70 } pigment { color Gray70 }
finish { phong 0.33 ambient 0.33 } finish { phong 0.22 ambient 0.22 diffuse 0.22 }
} }
#declare T_WIP_color = texture #declare T_WIP_color = texture
@@ -64,20 +64,20 @@ finish { phong 0.23 ambient 0.30 }
#declare T_WIP_alert = texture #declare T_WIP_alert = texture
{ {
pigment { color Red } pigment { color srgb <0.90, 0.01, 0.02> }
finish { ambient 1 specular 0.80 } finish { ambient 1 specular 0.80 }
} }
#declare T_Planete_A = texture #declare T_Planete_A = texture
{ {
pigment { color rgb <0.20, 0.30, 0.10> } pigment { srgb <0.20, 0.30, 0.10> }
normal { dents 0.28 scale 0.5} normal { dents 0.28 scale 0.5}
finish { phong 0.70 reflection 0.05 } finish { phong 0.70 reflection 0.05 }
} }
#declare T_Planete_B = texture #declare T_Planete_B = texture
{ {
pigment { rgb <0.42, 0.50, 0.70> } pigment { srgb <0.42, 0.50, 0.70> }
normal { dents 0.18 scale 0.5} normal { dents 0.38 scale 0.5}
finish { metallic 0.50 reflection 0.33 } finish { metallic 0.50 reflection 0.33 }
} }
/* ------------------------------------------------------------ */ /* ------------------------------------------------------------ */
@@ -162,8 +162,8 @@ finish {
/* new: 28 octobre 2025 */ /* new: 28 octobre 2025 */
#declare Ground_Texture = texture #declare Ground_Texture = texture
{ {
pigment { rgb <0.31, 0.33, 0.24> } pigment { srgb <0.31, 0.33, 0.24> }
normal { dents 0.22 scale 1.666} normal { dents 0.24 scale 1.666}
finish { finish {
ambient 0 specular 0.3 metallic roughness 0.33 ambient 0 specular 0.3 metallic roughness 0.33
reflection { 0.21 metallic } reflection { 0.21 metallic }
@@ -175,18 +175,18 @@ finish {
* Textures avec les six teintes "de base" * Textures avec les six teintes "de base"
*/ */
#declare R_Texture = texture { #declare R_Texture = texture {
pigment { rgb <1.0, 0.0, 0.0> } finish { ambient 0.33 } } pigment { srgb <1.0, 0.0, 0.0> } finish { ambient 0.33 } }
#declare G_Texture = texture { #declare G_Texture = texture {
pigment { rgb <0.0, 1.0, 0.0> } finish { ambient 0.33 } } pigment { srgb <0.0, 1.0, 0.0> } finish { ambient 0.33 } }
#declare B_Texture = texture { #declare B_Texture = texture {
pigment { rgb <0.0, 0.0, 1.0> } finish { ambient 0.33 } } pigment { srgb <0.0, 0.0, 1.0> } finish { ambient 0.33 } }
#declare Y_Texture = texture { #declare Y_Texture = texture {
pigment { rgb <0.8, 0.8, 0.0> } finish { ambient 0.33 } } pigment { srgb <0.8, 0.8, 0.0> } finish { ambient 0.33 } }
#declare M_Texture = texture { #declare M_Texture = texture {
pigment { rgb <0.8, 0.0, 0.8> } finish { ambient 0.33 } } pigment { srgb <0.8, 0.0, 0.8> } finish { ambient 0.33 } }
#declare C_Texture = texture { #declare C_Texture = texture {
pigment { rgb <0.0, 0.8, 0.8> } finish { ambient 0.33 } } pigment { srgb <0.0, 0.8, 0.8> } finish { ambient 0.33 } }
/* ------------------------------------------------------------ */ /* ------------------------------------------------------------ */
/* nouvelle texture du début du jour de l'hiver 2025 */ /* nouvelle texture du début du jour de l'hiver 2025 */
@@ -248,7 +248,7 @@ scale <3, 4, 3>
// le 10 fevrier 2026 ----------------- // le 10 fevrier 2026 -----------------
#declare T_WIP_dents = texture #declare T_WIP_dents = texture
{ {
pigment { color <0.36, 0.6, 0.79> } pigment { srgb <0.36, 0.6, 0.79> }
normal { dents 2.94 scale 0.15 } normal { dents 2.94 scale 0.15 }
rotate <12, 34, 56> rotate <12, 34, 56>
finish { specular 0.40 ambient 0.59 } finish { specular 0.40 ambient 0.59 }
@@ -258,8 +258,8 @@ finish { specular 0.40 ambient 0.59 }
#declare GoldDark = texture #declare GoldDark = texture
{ {
pigment{ rgb <0.81, 0.71, 0.23> } pigment{ srgb <0.81, 0.71, 0.23> }
finish{ diffuse 0.5 ambient 0 specular 1 metallic roughness 0.01 finish{ diffuse 0.5 ambient 0 specular 1 metallic roughness 0.02
reflection{0.6 metallic} reflection{0.6 metallic}
} }
} // This is a metal. } // This is a metal.

View File

@@ -16,7 +16,7 @@
difference { difference {
#local Hc = 0.90; #local Hc = 0.90;
box { <-0.90, 0, 0>, <0.90, Hc, 0.80> } box { <-0.90, 0, 0>, <0.90, Hc, 0.80> }
box { <-0.89, 0.01, -1> <0.89, Hc-0.01, 0.79> } box { <-0.87, 0.01, -1> <0.87, Hc-0.02, 0.77> }
#local Hc = Hc * 0.75; #local Hc = Hc * 0.75;
cylinder { <-1, Hc, -0.29>, <1, Hc, 0.29>, 0.09 } cylinder { <-1, Hc, -0.29>, <1, Hc, 0.29>, 0.09 }
#undef Hc #undef Hc
@@ -47,7 +47,7 @@ texture { T_Beton_2 }
text { text {
ttf "datas/ComicMono-Bold.ttf" Texte 0.1, 0 ttf "datas/ComicMono-Bold.ttf" Texte 0.1, 0
// texture { T_WIP_alert } // texture { T_WIP_alert }
texture { T_WIP_bluewave rotate <clock, clock, clock> texture { T_WIP_bluewave rotate <0, clock, NormClock*720>
scale 0.59 } scale 0.59 }
} }
} }
@@ -95,10 +95,10 @@ union {
#local Dz = 1.0; #local Dz = 1.0;
box { <-Dx, 0, -Dz>, <Dx, H_base, Dz> } box { <-Dx, 0, -Dz>, <Dx, H_base, Dz> }
#local Ha = y*(H_base*3); #local Ha = y*(H_base*3);
cylinder { 0, Ha, 0.08 translate < Dx, 0, -Dz> }
cylinder { 0, Ha, 0.08 translate <-Dx, 0, -Dz> }
#local Hb = Ha * 1.17; #local Hb = Ha * 1.17;
cylinder { 0, Ha, 0.08 translate < Dx, 0, -Dz> }
cone { Ha, 0.08, Hb, 0.05 translate < Dx, 0, -Dz> } cone { Ha, 0.08, Hb, 0.05 translate < Dx, 0, -Dz> }
cylinder { 0, Ha, 0.08 translate <-Dx, 0, -Dz> }
cone { Ha, 0.08, Hb, 0.05 translate <-Dx, 0, -Dz> } cone { Ha, 0.08, Hb, 0.05 translate <-Dx, 0, -Dz> }
#undef Ha #undef Ha
#undef Hb #undef Hb

View File

@@ -109,7 +109,7 @@ union {
light_source { 0, light_source { 0,
rgb <rand(Rng2), rand(Rng2), rand(Rng2)> rgb <rand(Rng2), rand(Rng2), rand(Rng2)>
fade_distance 0.96 fade_distance 0.96
fade_power 1.95 fade_power 1.55
} }
} }
rotate -z*clock*8 rotate -z*clock*8
@@ -151,7 +151,7 @@ difference {
/* cette sphere devrait devenir /* cette sphere devrait devenir
un vrai cockpit ? */ un vrai cockpit ? */
object { Forme_Cockpit object { Forme_Cockpit
translate y*R_Tube*0.97} translate y*R_Tube*0.975}
} }
cylinder { z*4, -z*4, R_int } cylinder { z*4, -z*4, R_int }
} }
@@ -163,17 +163,18 @@ texture { Soft_Silver scale 6.0 }
#macro Benz_Antenne () #macro Benz_Antenne ()
union { union {
#local RBA = 0.020; #local RBA = 0.020;
sphere { 0, RBA scale <1, 1, 10> } sphere { 0, RBA scale <1, 1, 14> }
union { union {
#local RBA2 = RBA*0.149; #local RBA2 = RBA*0.149;
#local E = 0.018; #local E = 0.016;
cylinder { E*z, <0, 0.20, E>, RBA2 } cylinder { E*z, <0, 0.20, E>, RBA2 }
cylinder { -E*z, <0, 0.20, E>, RBA2 } cylinder { E*z, <0, 0.20, 0>, RBA2 }
scale <1, 1, 5.555> cylinder { -E*z, <0, 0.20, -E>, RBA2 }
scale <1, 1.5, 5.555>
} }
#if ( mod(clock, 10+3*rand(Rng1)) < (10*rand(Rng1)) ) #if ( mod(clock, 10+3*rand(Rng1)) < (10*rand(Rng1)) )
texture { tPlasticPrune } texture { tPlasticBlue }
#else texture { tPlasticGreen } #else texture { tPlasticGreen }
#end #end
} }

View File

@@ -50,7 +50,7 @@ union {
#local yR = (rand(Rng2)-0.5000) * kR; #local yR = (rand(Rng2)-0.5000) * kR;
#local zR = (rand(Rng2)-0.5000) * kR; #local zR = (rand(Rng2)-0.5000) * kR;
#local Value = sin( (NormClock * 26.536) + #local Value = sin( (NormClock * 26.536) +
(3.14*rand(Rng1)) ); (16.64*rand(Rng1)) );
#if (Value < 0) #if (Value < 0)
#local Couleur = rgb <abs(Value), 0, 0>; #local Couleur = rgb <abs(Value), 0, 0>;
#else #else
@@ -133,7 +133,7 @@ texture { GoldDark scale 6.50 }
{ {
difference { difference {
merge { merge {
sphere { 0, 0.0141 scale <1, 1, 4.70> sphere { 0, 0.0175 scale <1, 1, 4.70>
translate <0, 0.26, -0.17> } translate <0, 0.26, -0.17> }
cone { <0, -0.1, 0>, 0.114, <0, 0.26, -0.17>, 0.0096 cone { <0, -0.1, 0>, 0.114, <0, 0.26, -0.17>, 0.0096
scale <0.15, 1, 1> } scale <0.15, 1, 1> }
@@ -154,7 +154,7 @@ union {
// --------------------------------------------------------- // ---------------------------------------------------------
#declare DTa = 0.278; #declare DTa = 0.278;
#declare DTb = 0.030; #declare DTb = 0.032;
// XXX #declare HexaCone_head = object // XXX #declare HexaCone_head = object
// XXX { // XXX {

View File

@@ -16,11 +16,11 @@ object { Le_Decor }
// object { Repere scale 2 } // object { Repere scale 2 }
#declare Loc_cam = <2, 2.7-NormClock, 1> + (Pos_RedB_1 * 1.308); #declare Loc_cam = <2, 2.7-NormClock, -1> + (Pos_RedB_1 * 1.308);
camera { camera {
location Loc_cam location Loc_cam
#local H = 1.16 + (NormClock*0.39); #local H = 1.16 + (NormClock*0.42);
look_at Pos_RedB_1 + <0.02, H, 0> look_at Pos_RedB_1 + <0.02, H, 0>
right <image_width/image_height, 0, 0> right <image_width/image_height, 0, 0>
// focal_point <0.37, 0.90, 0> // focal_point <0.37, 0.90, 0>

14
hexaflat.inc Normal file
View File

@@ -0,0 +1,14 @@
/*********************************************************/
/* _ __ _ _ */
/* | |__ ___ __ __ __ _ / _| | | __ _ | |_ */
/* | '_ \ / _ \ \ \/ / / _` | | |_ | | / _` | | __| */
/* | | | | | __/ > < | (_| | | _| | | | (_| | | |_ */
/* |_| |_| \___| /_/\_\ \__,_| |_| |_| \__,_| \__| */
/* */
/* new of the March 28, 2026 */
/*********************************************************/
/* ======================================================= */
/* ======================================================= */

8
hexaflat.pov Normal file
View File

@@ -0,0 +1,8 @@
/*********************************************************/
/* _ __ _ _ */
/* | |__ ___ __ __ __ _ / _| | | __ _ | |_ */
/* | '_ \ / _ \ \ \/ / / _` | | |_ | | / _` | | __| */
/* | | | | | __/ > < | (_| | | _| | | | (_| | | |_ */
/* |_| |_| \___| /_/\_\ \__,_| |_| |_| \__,_| \__| */
/* */
/*********************************************************/

View File

@@ -41,7 +41,7 @@ union {
// les ailettes intérieures // les ailettes intérieures
#for (foo, 0, 5) #for (foo, 0, 5)
cylinder { 0, x*HSCR, R*0.15 rotate y*foo*60 } cylinder { 0, x*HSCR, R*0.25 rotate y*foo*60 }
#end #end
// traitement final // traitement final
@@ -49,8 +49,8 @@ union {
rotate z*90 rotate z*90
#local R = rand(Rng1); #local R = rand(Rng1);
#if ( R < 0.17 ) texture { Y_Texture } #if ( R < 0.17 ) texture { T_Gold_3C }
#elseif ( R < 0.66 ) texture { T_Gold_1A } #elseif ( R < 0.56 ) texture { T_Gold_1A }
#else texture { Aluminum } #else texture { Aluminum }
#end #end
} }
@@ -72,10 +72,6 @@ union {
#end #end
} }
#end // macro #end // macro
/* ------------------------------------------------------------ */
/* nouveau XXX janvier 2026 */
// UNE ANTENNE ?
/* ============================================================ */ /* ============================================================ */
/* On regroupe les N*six élements */ /* On regroupe les N*six élements */

View File

@@ -14,11 +14,14 @@
object { Le_Decor } object { Le_Decor }
#declare CK = 2.03 - (NormClock * 2.72); #declare CK = 2.03 - (NormClock * 2.77);
#declare DX_cam = 6.1 * cos(CK); #declare DX_cam = 6.11 * cos(CK);
#declare DZ_cam = 5.2 * sin(CK); #declare DY_cam = 2.00 + sin(CK+1.111);
#declare Loc_cam = <DX_cam, 1.10, DZ_cam> + Pos_RedB_3; #declare DZ_cam = 5.19 * sin(CK);
#declare Lat_cam = <0, 1.95, 0> + Pos_RedB_3;
#declare Loc_cam = <DX_cam, DY_cam, DZ_cam> + Pos_RedB_3;
#declare Lat_cam = <0, 1.95, -0.5 + NormClock> + Pos_RedB_3;
camera { camera {
location Loc_cam location Loc_cam
look_at Lat_cam look_at Lat_cam

View File

@@ -31,7 +31,7 @@ union {
#if ( rand(Rng1) < 0.5 ) #if ( rand(Rng1) < 0.5 )
texture { T_Wood32 rotate 37 scale 1.30 } texture { T_Wood32 rotate 37 scale 1.30 }
#else #else
texture { T_Wood23 rotate x*87 scale 1.33 } texture { T_Wood23 rotate x*87 scale 1.13 }
#end #end
// rotate -z*foo // rotate -z*foo
translate <Tx, Hc_ep - 0.22, Tz> translate <Tx, Hc_ep - 0.22, Tz>
@@ -68,7 +68,7 @@ difference {
cylinder { -y, y, 0.07 translate <Tx, 0, Tz> } cylinder { -y, y, 0.07 translate <Tx, 0, Tz> }
#end #end
#local R = rand(Rng1); #local R = rand(Rng1);
#if (R<0.20) #if (R<0.30)
texture { T_Wood17 rotate <10, 20, 30> scale 0.82 } texture { T_Wood17 rotate <10, 20, 30> scale 0.82 }
#else #else
texture { T_Wood15 rotate <17, 28, 39> scale 1.42 } texture { T_Wood15 rotate <17, 28, 39> scale 1.42 }

View File

@@ -51,7 +51,7 @@ union {
} }
// ======================================================= // =======================================================
#local RO = 5.39; #local RO = 5.43;
#local CK = NormClock * 13.37; #local CK = NormClock * 13.37;
#declare PosX = RO * sin(CK); #declare PosX = RO * sin(CK);
@@ -60,6 +60,7 @@ union {
object { HexaBenz () object { HexaBenz ()
rotate -y*CK*82.3 translate <PosX, PosY, PosZ> rotate -y*CK*82.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);
@@ -71,7 +72,7 @@ object { HexaCone ()
#declare PosY = 0; #declare PosY = 0;
#declare PosZ = RO * cos(CK+3.23); #declare PosZ = RO * cos(CK+3.23);
object { Trident_A () object { Trident_A ()
rotate <clock*1.3, 0, clock*0.7> rotate <clock*0.3, 0, clock*0.7>
rotate y*CK*99.22 translate <PosX, PosY, PosZ> rotate y*CK*99.22 translate <PosX, PosY, PosZ>
} }
@@ -87,7 +88,7 @@ light_source { <23, 10, 15>, rgb <0.77, 0.79, 0.80> }
// ------------------------------------------------------------- // -------------------------------------------------------------
camera { camera {
location <9+NormClock, 1.60+(11*NormClock), 11.59> location <9+NormClock, 1.60+(17*NormClock), 11.59>
look_at <0.0, 0.0, 0> look_at <0.0, 0.0, 0>
right <image_width/image_height, 0, 0> right <image_width/image_height, 0, 0>
#if (0) #if (0)
@@ -95,6 +96,6 @@ camera {
aperture 0.046 aperture 0.046
blur_samples 30 blur_samples 30
#end #end
angle 61 - (5*NormClock) angle 61 - (7*NormClock)
} }

View File

@@ -11,7 +11,7 @@
#include "all.inc" #include "all.inc"
#declare PosX = 3.95; #declare PosX = 3.95;
#declare PosY = 3.80 + (NormClock*0.299); #declare PosY = 3.60 + (NormClock*0.299);
#declare PosZ = (NormClock-0.5) * 45.27; #declare PosZ = (NormClock-0.5) * 45.27;
object { HexaCone () translate <PosX, PosY, PosZ> } object { HexaCone () translate <PosX, PosY, PosZ> }
@@ -23,22 +23,22 @@ object { HexaStar rotate y*90 translate <PosX-1.96, PosY+2.72, PosZ-17.5> }
object { Le_Decor } object { Le_Decor }
#if ( (clock < 181) ) #if ( (clock < 161) )
light_source { light_source {
<3, 0.30, -8> color Blue <3, 0.30, -8> color Blue
spotlight spotlight
radius .044 radius .0666
falloff 2 falloff 2
tightness 3 tightness 3
point_at <PosX, PosY, PosZ> point_at <PosX, PosY, PosZ>
} }
#end #end
#if ( (clock > 230) & (clock < 340) ) #if ( (clock > 230) & (clock < 440) )
light_source { light_source {
<2, 0.30, -2> color Green <2, 0.30, -2> color Green
spotlight spotlight
radius .044 radius .0666
falloff 2 falloff 2
tightness 3 tightness 3
point_at <PosX, PosY-0.10, PosZ> point_at <PosX, PosY-0.10, PosZ>

View File

@@ -18,21 +18,15 @@ object { Le_Decor }
/* =============================================================== */ /* =============================================================== */
#declare CamX = 90 - (4 * NormClock); #declare CamX = 90 - (4 * NormClock);
#declare CamY = 176; #declare CamY = 188;
#declare CamZ = 170 - (33 * NormClock); #declare CamZ = 170 - (33 * NormClock);
/* XXX to be verified !
#declare LatX = Loc_Patrouille.x;
#declare LatY = Loc_Patrouille.y;
#declare LatZ = Loc_Patrouille.z;
*/
camera { camera {
location <CamX, CamY, CamZ> location <CamX, CamY, CamZ>
look_at Loc_Patrouille look_at Loc_Patrouille
right <image_width/image_height, 0, 0> right <image_width/image_height, 0, 0>
angle 13 angle 13.3333333
} }
/* =============================================================== */ /* =============================================================== */

View File

@@ -21,10 +21,10 @@ object { Le_Decor }
#declare CamX = Dcam * cos(radians(CK+0.9)); #declare CamX = Dcam * cos(radians(CK+0.9));
#declare CamZ = Dcam * 1.20 * sin(radians(CK)); #declare CamZ = Dcam * 1.20 * sin(radians(CK));
#declare LatY = 2.45 + (1.47 * Cos_010(NormClock)); #declare LatY = 2.25 + (1.51 * Cos_010(NormClock));
camera { camera {
location <CamX, 1.97, CamZ> location <CamX, 2.10, CamZ>
look_at <0.03, LatY, 0.17> look_at <0.03, LatY, 0.17>
right <image_width/image_height, 0, 0> right <image_width/image_height, 0, 0>
// focal_point Lat // focal_point Lat

View File

@@ -15,12 +15,12 @@ object { Le_Decor }
// XXX instrumenter la caméra serait un GROS plus !!! // XXX instrumenter la caméra serait un GROS plus !!!
// ======================================================= // =======================================================
#declare Debut = <-33, 92, 289> ; #declare Debut = <-33, 92, 296> ;
#declare Fin = < 36, 83, -2> ; #declare Fin = < 36, 83, -4> ;
#declare Pos = sqrt(NormClock); #declare Pos = Cos_01(NormClock);
#declare PosCam = Interpolate(Debut, Fin, Pos); #declare PosCam = Interpolate(Debut, Fin, Pos);
#declare LatX = 0.614 * sin(NormClock*13.37); #declare LatX = 1.664 * sin(NormClock*13.37);
#declare LatZ = -(150 + (7*NormClock)); #declare LatZ = -(150 + (7*NormClock));
#declare LatCam = PosCam + <LatX, -95, LatZ>; #declare LatCam = PosCam + <LatX, -95, LatZ>;

View File

@@ -1,10 +1,10 @@
# size of the video # size of the video
Img_Width=1024 Img_Width=1152
Img_Height=720 Img_Height=720
# for imagemagick # for imagemagick
TEXTCOL="Yellow" TEXTCOL="Yellow"
STROKOL="Green" STROKOL="Green"
NBFRAMES=450 NBFRAMES=480

View File

@@ -43,15 +43,15 @@ do
txt=$(printf "%03d" ${frame} | tr '01' 'ol') txt=$(printf "%03d" ${frame} | tr '01' 'ol')
# echo $frame $img $txt # echo $frame $img $txt
convert ${TMPIMG} \ convert ${TMPIMG} \
-font Courier-Bold \ -font Courier-Regular \
-pointsize 48 \ -pointsize 46 \
-kerning 4 \ -kerning 4 \
-strokewidth 1 \ -strokewidth 1 \
-fill ${STROKOL} -stroke ${TEXTCOL} \ -fill ${STROKOL} -stroke ${TEXTCOL} \
-gravity south-west \ -gravity south-west \
-annotate +25+5 "$txt" \
-gravity south-east \
-annotate +25+5 "$sqn" \ -annotate +25+5 "$sqn" \
-gravity south-east \
-annotate +25+5 "$txt" \
${img} ${img}
fin=$(date +%s) fin=$(date +%s)
echo ; sleep 1 echo ; sleep 1

View File

@@ -19,7 +19,7 @@ fi
count=$( grep $sequence WS/mp4.timing | wc -l ) count=$( grep $sequence WS/mp4.timing | wc -l )
echo "$count samples for $sequence" echo "$count samples for $sequence"
grep $sequence WS/mp4.timing | tail -4000 | awk \ grep $sequence WS/mp4.timing | tail -3000 | awk \
-v nbframes=$NBFRAMES \ -v nbframes=$NBFRAMES \
' \ ' \
BEGIN { \ BEGIN { \
@@ -59,7 +59,7 @@ gnuplot << __EOC__
set term png size $Img_Width,$Img_Height set term png size $Img_Width,$Img_Height
set output "timing.png" set output "timing.png"
set grid set grid
set xrange [:450] set xrange [0:${NBFRAMES}]
set yrange [0:] set yrange [0:]
set title "Séquence '${sequence}'" set title "Séquence '${sequence}'"
set xlabel "numéro de la trame" set xlabel "numéro de la trame"

View File

@@ -29,11 +29,13 @@ object { HexaWood translate P }
object { Le_Decor } object { Le_Decor }
#declare CamY = 47 - (9.50 * Cos_01(NormClock)); #declare CamY = 47 - (9.70 * Cos_01(NormClock));
#declare CamZ = 10.70 + (2*NormClock);
#declare LatY = -4 + ( 2.12 * NormClock); #declare LatY = -4 + ( 2.12 * NormClock);
camera { camera {
location <-3.60, CamY, 10.09> location <-3.60, CamY, CamZ>
look_at <0.6, LatY, 0> look_at <0.6, LatY, 0>
right <image_width/image_height, 0, 0> right <image_width/image_height, 0, 0>
// focal_point <2, 1, 12> // focal_point <2, 1, 12>

View File

@@ -12,7 +12,7 @@
#declare Trid_cone = object #declare Trid_cone = object
{ {
merge { merge {
cone { 0, R_basecone, y*0.89, 0.0001 } cone { 0, R_basecone, y*0.84, 0.0001 }
sphere { 0, R_basecone } sphere { 0, R_basecone }
} }
} }
@@ -20,7 +20,7 @@ merge {
#macro Trid_A_cone () #macro Trid_A_cone ()
difference { difference {
object { Trid_cone } object { Trid_cone }
object { Trid_cone translate -y*0.06 } object { Trid_cone translate -y*0.08 }
#local Foo = rand(Rng1); #local Foo = rand(Rng1);
#if (Foo < 0.25) texture { T_Brass_2C } #if (Foo < 0.25) texture { T_Brass_2C }
#elseif (Foo < 0.50) texture { tPlasticOrange } #elseif (Foo < 0.50) texture { tPlasticOrange }

View File

@@ -63,7 +63,7 @@ union {
#declare Patrouille = object #declare Patrouille = object
{ {
union { union {
#local EX = 1.9; #local EX = 1.9 + (0.3*cos(NormClock*5));
#local EZ = 2.0 + (0.5*sin(NormClock*2)); #local EZ = 2.0 + (0.5*sin(NormClock*2));
object { Trident_A () rotate x*87 } object { Trident_A () rotate x*87 }
object { HexaBenz () translate <-EX, 0, -EZ> } object { HexaBenz () translate <-EX, 0, -EZ> }
@@ -81,11 +81,11 @@ merge {
sphere { 0, 0.06 } sphere { 0, 0.06 }
#local R = rand(Rng1); #local R = rand(Rng1);
#if (R < 0.25) #if (R < 0.25)
texture { T_Chrome_3A } texture { R_Texture }
#elseif (R < 0.50) #elseif (R < 0.50)
texture { T_Chrome_2B } texture { Y_Texture }
#elseif (R < 0.75) #elseif (R < 0.75)
texture { T_Chrome_3C } texture { G_Texture }
#else #else
texture { T_Chrome_3D } texture { T_Chrome_3D }
#end // IF #end // IF
@@ -129,7 +129,7 @@ union {
object { Corps_Wagonnet_0 (Longueur) } object { Corps_Wagonnet_0 (Longueur) }
#for (Foo, 0, 5) #for (Foo, 0, 5)
#local DX = 0.35 - (Foo*0.24); #local DX = 0.35 - (Foo*0.24);
#local RP = -30 + (60 * rand(Rng1)); #local RP = -30 + (80 * rand(Rng1));
object { Pointe_Wagonnet_0 () object { Pointe_Wagonnet_0 ()
translate <DX, 0.31, 0> rotate x*RP } translate <DX, 0.31, 0> rotate x*RP }
#end #end
@@ -264,10 +264,10 @@ difference {
#local R = rand(Rng1); #local R = rand(Rng1);
// #debug concat("Random = ", str(R, 6, 4), "\n") // #debug concat("Random = ", str(R, 6, 4), "\n")
#if ( R < 0.23 ) texture { T_Planete_B } #if ( R < 0.27 ) texture { T_Planete_B }
#elseif ( R < 0.56 ) texture { T_Beton_1 } #elseif ( R < 0.56 ) texture { T_Beton_1 }
#else texture { T_Beton_2 } #else texture { T_Planete_A }
#end // if #end // if R
rotate y * (207 * rand(Rng1)) rotate y * (207 * rand(Rng1))
} }