big commit, a lot of small adjustemnst

This commit is contained in:
Tonton Th 2025-11-25 02:36:52 +01:00
parent fa8f9578b5
commit c56db2a87d
15 changed files with 170 additions and 207 deletions

View File

@ -38,7 +38,7 @@ sphere { Position, 0.020 translate y*TY + POS_Cutoff
*/ */
/* this one is for debugging */ /* this one is for debugging */
// object { OpenBox translate y*TY + POS_Cutoff } // object { OpenBox (1, 0.05) translate y*TY + POS_Cutoff }
// object { Repere translate y*2.8 + POS_Cutoff } // object { Repere translate y*2.8 + POS_Cutoff }
// ======================================================= // =======================================================
@ -53,7 +53,7 @@ object { Le_Decor }
// ======================================================= // =======================================================
#local CamX = -27.4 + (3.29*Cos_01(NormClock)); #local CamX = -27.4 + (2.29*Cos_01(NormClock));
#local CamY = 2.7 - (0.24*sqrt(NormClock)); #local CamY = 2.7 - (0.24*sqrt(NormClock));
#local CamZ = -0.85 + (2.02*NormClock); #local CamZ = -0.85 + (2.02*NormClock);

View File

@ -21,8 +21,8 @@
// dessiner une grille // dessiner une grille
#for (Foo, -150, 150, 10) #for (Foo, -150, 150, 10)
cylinder { <-150, 0, Foo>, <150, 0, Foo>, 0.10 } cylinder { <-150, 0, Foo>, <150, 0, Foo>, 0.11 }
cylinder { <Foo, 0, -150>, <Foo, 0, 150>, 0.10 } cylinder { <Foo, 0, -150>, <Foo, 0, 150>, 0.11 }
#end #end
// --------------------------------------------------------- // ---------------------------------------------------------
@ -31,8 +31,8 @@ object { Repere scale 10 translate y*7 }
object { Le_Decor } object { Le_Decor }
camera { camera {
location <45, 179+(51*NormClock), 18-(21*NormClock)> location <45, 179+(51*NormClock), 18-(17*NormClock)>
look_at <0, 1.18, 0.17 + (2.9*NormClock)> look_at <0, 1.18, 0.17 + (2.4*NormClock)>
angle 50 angle 50
} }

View File

@ -22,7 +22,7 @@ object { Le_Decor }
// ======================================================= // =======================================================
#declare R_circ = R_circular + 0.07; #declare R_circ = R_circular + 0.07;
#declare CK = 0.777 + (1.23 * sqrt(NormClock * 3.141592654)); #declare CK = 1.777 + (1.23 * sqrt(NormClock * 3.141592654));
#declare CamX = R_circ * cos(CK); #declare CamX = R_circ * cos(CK);
#declare CamY = 3.08 + abs(sin(CK/4.00)); #declare CamY = 3.08 + abs(sin(CK/4.00));

View File

@ -46,17 +46,14 @@ texture { T }
union { union {
cylinder { 0, y*H_gyro, R_gyro } cylinder { 0, y*H_gyro, R_gyro }
intersection { intersection {
sphere { 0, R_gyro scale <1, 1.414, 1> } sphere { 0, R_gyro scale <1, 1.717, 1> }
box { <-1, 0, -1>, <1, 1.94, 1> } box { <-1, 0, -1>, <1, 1.94, 1> }
translate y*(H_gyro+H_gylampe+0.04) translate y*(H_gyro+H_gylampe+0.04)
} }
#local R = rand(Rng1); #local R = rand(Rng1);
#if (R < 0.33333) #if (R < 0.33333) texture { T_Stone25 scale 1+rand(Rng1) }
texture { T_Stone25 scale 1+rand(Rng1) } #elseif (R < 0.66666) texture { T_Stone15 scale 1+rand(Rng1) }
#elseif (R < 0.66666) #else texture { T_Stone6 }
texture { T_Stone15 scale 1+rand(Rng1) }
#else
texture { T_Stone6 }
#end #end
#undef R #undef R
} }
@ -93,7 +90,6 @@ union {
union { union {
object { GyroPhare_mat () } object { GyroPhare_mat () }
object { GyroPhare_lampe () object { GyroPhare_lampe ()
// rotate y*rand(Rng1)*clock
translate y*(H_gyro+0.02) } translate y*(H_gyro+0.02) }
} }
#end // macro #end // macro
@ -168,19 +164,19 @@ merge {
} }
} }
#declare Les_Bibelots = object #declare Les_HexaBalls = object
{ {
union { union {
object { HexaBalls object { HexaBalls
texture { Lightning1 scale 0.44 } texture { Lightning1 scale 0.44 }
rotate <clock/3, clock/4, clock/9> rotate <clock/3, clock/4, clock/9>
translate <2, 1.21*Cos_010(NormClock), 4> translate <2, 1.71+Cos_010(NormClock), 4>
} }
object { HexaBalls object { HexaBalls
texture { Lightning2 scale 0.56 } texture { Lightning2 scale 0.56 }
rotate <-clock, clock*0.33333, clock*3> rotate <-clock, clock*0.33333, clock*3>
translate <4, 1.41*Cos_010(NormClock), -3> translate <4, 1.51+Cos_010(NormClock), -3>
} }
} }
} }
@ -207,42 +203,33 @@ blob {
/* ======================================================= */ /* ======================================================= */
/* ======================================================= */
#declare UnderHoles = array[6] #declare UnderHoles = array[6]
/* /*
* on rempli le tableau avec la place des trous * on rempli le tableau avec la place des trous
*/ */
#fopen Holes "WS/holes.log" write // XXX #fopen Holes "WS/holes.log" write
#for (Idx, 0, 5) #for (Idx, 0, 5)
#local Angle = (Idx + 0.19) * 1.090; #local Angle = (Idx + 0.19) * 1.090;
#local Px = sin(Angle) * (SzSol * 0.97); #local Px = sin(Angle) * (SzSol * 0.97);
#local Pz = cos(Angle) * (SzSol * 1.04); #local Pz = cos(Angle) * (SzSol * 1.04);
#declare UnderHoles[Idx] = <Px, 0, Pz>; #declare UnderHoles[Idx] = <Px, 0, Pz>;
#write (Holes, Idx, " ", Angle, " ", UnderHoles[Idx], "\n") // XXX #write (Holes, Idx, " ", Angle, " ", UnderHoles[Idx], "\n")
#end #end
#fclose Holes // XXX #fclose Holes
#declare Underground = object #declare Underground = object
{ {
difference { difference {
// plane { y, 0 } // plane { y, 0 }
#local Big = 300; #local Big = 300;
box { <-Big, -0.15, -Big>, < Big, 0.0000, Big> } box { <-Big, -0.19, -Big>, < Big, 0.0000, Big> }
#undef Big #undef Big
#for (Foo, 0, 5) #for (Foo, 0, 5)
cylinder { -y*5, y*5, 3.2 translate UnderHoles[Foo] } cylinder { -y*5, y*5, 3.2 translate UnderHoles[Foo] }
#end #end
texture { Ground_Texture }
} }
texture { T_Planete_B scale 0.42 }
/*
texture {
pigment { color Gray20 }
normal { bumps 0.38 scale 2.6 }
finish { phong 0.125 }
}
*/
} }
/* ======================================================= */ /* ======================================================= */
@ -267,7 +254,7 @@ light_source {
0 0
color White color White
fade_distance SzSol * 0.40 fade_distance SzSol * 0.40
fade_power 1.22 fade_power 1.25
} }
} }
@ -299,16 +286,15 @@ union {
#local DX = 66 * sin(CK); #local DX = 66 * sin(CK);
#local DZ = 64 * cos(CK); #local DZ = 64 * cos(CK);
// #local Texte = str(CK, 5, 3);
// #debug concat ("Les Choses, CK = ", Texte, "\n")
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 #declare Les_Lumieres = object
{ {
union { union {
@ -335,30 +321,21 @@ union {
point_at <0, 0.95, -0.22> point_at <0, 0.95, -0.22>
} }
#end #end
#if (0)
light_source {
<-4, 54, -7>
colour Gray50
parallel
point_at 0
}
#end
} }
} }
/* ======================================================= */ /* ======================================================= */
/*
// #declare Le_Ciel = object * why a skysphere can't be an object ?
// { */
sky_sphere { 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, .3, .5> ] [ 0.4 color rgb <.5, .3, .4> ]
[ 0.7 color Gray30 ] [ 0.7 color Gray40 ]
[ 0.9 color rgb <.5, .6, .5> ] [ 0.9 color rgb <.5, .5, .4> ]
[ 1.0 color Gray20 ] [ 1.0 color Gray20 ]
} }
turbulence 3.14159 + 0.84 * Cos_010(NormClock) turbulence 3.14159 + 0.84 * Cos_010(NormClock)
@ -368,9 +345,7 @@ sky_sphere {
#local Kem = 0.09; #local Kem = 0.09;
emission rgb <Kem, Kem, Kem> emission rgb <Kem, Kem, Kem>
} }
// }
/* ======================================================= */
/* ======================================================= */ /* ======================================================= */
/* /*
* Et on rassemble tous les éléments... * Et on rassemble tous les éléments...
@ -396,10 +371,12 @@ union {
object { Les_Cahutes () translate <22, 0, -9> } object { Les_Cahutes () translate <22, 0, -9> }
/* les trucs dans le Y négatif */ /* les trucs dans le Y négatif */
object { OpenBox(2, 0.08) rotate <5, 7, -12+(24*NormClock)> object { OpenBox(2, 0.08) rotate <0, -12+(24*NormClock), 0>
translate <-22, 4, -79> } translate <-19, 4, -86> }
object { Les_Cahutes () rotate y*7 translate <35, 0, -84> } object { OpenBox(2, 0.08) rotate <0, -120+(4*NormClock), 0>
object { Les_Cahutes () rotate y*7 translate <34, 0, -76> } translate <-17, 4, -104> }
object { Les_Cahutes () rotate y*7 translate <35, 0, -91> }
object { Les_Cahutes () rotate y*2 translate <31, 0, -79> }
} }
} }
/* ------------------------------------------------------------ */ /* ------------------------------------------------------------ */

View File

@ -29,8 +29,8 @@ difference {
} }
/* this two objects are for debugging */ /* this two objects are for debugging */
// object { Repere scale 2 translate y*2.6 + POS_Cutoff } // object { Repere scale 2 translate y*2.1 + POS_Cutoff }
// object { OpenBox translate y*TY + POS_Cutoff } // object { OpenBox (1, 0.02) translate y*TY + POS_Cutoff }
// ======================================================= // =======================================================
light_source { light_source {
@ -44,12 +44,12 @@ object { Le_Decor }
// ======================================================= // =======================================================
#local CamX = POS_Cutoff.x + 4 + (3.14*Cos_01(NormClock)); #local CamX = POS_Cutoff.x + 7 + (3.14*Cos_01(NormClock));
#local CamY = 1.9 - (0.27*sqrt(NormClock)); #local CamY = 2.1 + (0.51*sqrt(NormClock));
#local CamZ = POS_Cutoff.z - 1.85 + (4.02*NormClock); #local CamZ = POS_Cutoff.z + 5.95 - (1.02*NormClock);
camera { camera {
location <CamX, CamY, CamZ> location <CamX, CamY, CamZ>
look_at <0, 1.5, 0> + POS_Cutoff look_at <0, 1.5, 0> + POS_Cutoff
angle 39 - 6*Cos_01(NormClock) angle 40 - 12*Cos_01(NormClock)
} }

View File

@ -8,9 +8,8 @@
// on va tenter de placer quelques trucs // on va tenter de placer quelques trucs
// 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.019)) * 4.750; // radians #local CK = (NormClock+(foo*0.0197)) * 4.02; // 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);
@ -21,8 +20,9 @@ object {
} }
#end // for #end // for
// /// =======================================================
object { Les_Bibelots rotate y*clock translate UnderHoles[2] } /* des trucs autour des trous du sol. */
object { Les_HexaBalls rotate y*clock translate UnderHoles[2] }
object { Les_Machins rotate -y*clock translate UnderHoles[3] } object { Les_Machins rotate -y*clock translate UnderHoles[3] }
/// ======================================================= /// =======================================================
@ -61,26 +61,20 @@ object { BiCone rotate -y*(Cos_010(NormClock)*55.38) translate Pos_RedB_1 }
#declare P = Interpolate(A, B, NormClock); #declare P = Interpolate(A, B, NormClock);
object { HexaCone () rotate y*((12*NormClock)+80) translate P } object { HexaCone () rotate y*((12*NormClock)+80) translate P }
/* XXX
* un "machin" se déplace sur le rail circulaire
* XXX */
/* /*
* le vaisseau "trident" passe a travers les * le vaisseau "trident" passe a travers les
* trous de l'underground * trous de l'underground
*/ */
#fopen Trid "WS/tridents.log" write // #fopen Trid "WS/tridents.log" write
#for (Foo, 0, 5) #for (Foo, 0, 5)
#declare Dy = rand(Rng1)-3+(11*NormClock); #declare Dy = rand(Rng1)-3+(11*NormClock);
#declare Tr = UnderHoles[Foo] + <0, Dy, 0>; #declare Tr = UnderHoles[Foo] + <0, Dy, 0>;
#declare Ry = ((rand(Rng1)-NormClock)*87); #declare Ry = ((rand(Rng1)-NormClock)*87);
#write (Trid, Foo, " ", NormClock, " ", Dy, " ", // #write (Trid, Foo, " ", NormClock, " ", Dy, " ",
Ry, " ", Tr, "\n") // Ry, " ", Tr, "\n")
object { Trident_A () rotate y*Ry translate Tr } object { Trident_A () rotate y*Ry translate Tr }
#end #end
#fclose Trid // #fclose Trid
/* /*
* ---------------------------- * ----------------------------

View File

@ -22,16 +22,16 @@
#for (idZ, -3, 3) #for (idZ, -3, 3)
#local posX = (idX * 4.72) + (rand(Rng1)-0.5); #local posX = (idX * 4.72) + (rand(Rng1)-0.5);
#local posY = 3.1 + (1.3*(rand(Rng1)-0.5)); #local posY = 4.2 + (NormClock*2) + (.8*(rand(Rng1)-0.5));
#local posZ = (idZ * 4.37) ; #local posZ = (idZ * 4.37) ;
#local Rx = (rand(Rng1) - 0.5) * 8; #local Rx = (rand(Rng1) - 0.5) * 12;
#local Ry = (rand(Rng1) - 0.5) * 14; #local Ry = (rand(Rng1) - 0.5) * (14+NormClock);
#local Rz = (rand(Rng1) - 0.5) * 11; #local Rz = (rand(Rng1) - 0.5) * 11;
// #debug concat("X ", str(posX,7,3), " Z ", str(posZ,7,3), "\n") // #debug concat("X ", str(posX,7,3), " Z ", str(posZ,7,3), "\n")
// #debug concat("position Z ", str(posZ,7,3),"\n") // #debug concat("position Z ", str(posZ,7,3),"\n")
#declare Limit = 1.450; #declare Limit = 1.470;
#if ( (abs(posX)>Limit) & (abs(posZ)>Limit) ) // position #if ( (abs(posX)>Limit) & (abs(posZ)>Limit) ) // position
#if (rand(Rng1) < 0.555) #if (rand(Rng1) < 0.555)
object { HexaCone () rotate <Rx, Ry, Rz> object { HexaCone () rotate <Rx, Ry, Rz>
@ -60,5 +60,5 @@ object { Le_Decor }
camera { camera {
location <CamX, CamY, CamZ> location <CamX, CamY, CamZ>
look_at <0.0, -NormClock, 0> look_at <0.0, -NormClock, 0>
angle 64 - (3.97 * NormClock) angle 64 - (9.84 * NormClock)
} }

View File

@ -6,7 +6,6 @@
#version 3.7; #version 3.7;
#include "globals.inc" #include "globals.inc"
#debug "\n GLOBALS INCLUDED\n"
#include "contexte.inc" #include "contexte.inc"
#include "gadgets.inc" #include "gadgets.inc"
@ -24,15 +23,15 @@
* rail circulaire * rail circulaire
*/ */
#declare Les_Wagonnets = object
#declare Un_Wagonnet = object
{ {
#local R = 3.2; #local L = 2.4;
object { Wagonnet_0 (R) union {
rotate y*clock*2 object { Wagonnet_0(L) translate <0, 1, 1.6> }
object { Wagonnet_0(L+1) translate <0, 1+NormClock, 0> }
object { Wagonnet_0(L) translate <0, 1, -1.6> }
} }
} }
// ======================================================= // =======================================================
@ -56,14 +55,14 @@ sphere {
{ {
union { union {
#for (A, 0, 32, 1) #for (A, 0, 32, 1)
#local CK = (NormClock*55.00) + (A*0.08); #local CK = (NormClock*55.00) + (A*0.28);
object { Une_Boule () object { Une_Boule ()
#local TX = 1.6 * sin(CK); #local TX = 1.9 * sin(CK);
#local TY = 1.4 * cos(sin(CK)); #local TY = 1.4 * cos(sin(CK));
#local TZ = 2.0 * cos(1-CK); #local TZ = 2.0 * cos(1-CK);
translate <TX, TY, TZ> translate <TX, TY, TZ>
} }
object { Repere scale 2 } // object { Repere scale 2 }
#end // for #end // for
} }
} }
@ -104,13 +103,16 @@ union {
} }
} }
// ======================================================= // =======================================================
/* Les choses, c'est l'espèce de vase avec des tiges
qui bougent, je devrais trouver un nom plus parlant */
#declare Des_Choses = object #declare Des_Choses = object
{ {
union { union {
object { Chose () translate -<-1.7, 0, 0.8> } object { Chose () translate < 2.0, 0, 2.32> }
object { Chose () translate -< 1.5, 0, 1.2> rotate -y*clock } object { Chose () translate <-2.9, 0, 3.91> }
object { Chose () translate -< 1.1, 0, -1.2> rotate y*clock } object { Chose () translate < 2.9, 0, -4.07> }
object { Chose () translate <-3.4, 0, -3+NormClock> }
object { Repere scale <3, 4, 3> translate 0.05*y }
} }
} }
// ======================================================= // =======================================================
@ -120,7 +122,7 @@ union {
// #debug " Les gyros !!!\n" // #debug " Les gyros !!!\n"
union { union {
#for (I, 0, 359, 30) #for (I, 0, 359, 30)
#declare E = 12; #declare E = 12 + 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));
object { GyroPhare () translate <Dx, 0, Dz> } object { GyroPhare () translate <Dx, 0, Dz> }
@ -134,6 +136,13 @@ object { Gyros }
#debug " !!! ACTION !!!\n" #debug " !!! ACTION !!!\n"
light_source {
<-18, 54, -7>
colour Gray40
parallel
point_at 0
}
// ------------------------------------------------------ ## // ------------------------------------------------------ ##
#declare Selector = mod(int(clock/60)+19, 8); #declare Selector = mod(int(clock/60)+19, 8);
@ -146,7 +155,8 @@ object { Gyros }
union { union {
object { OpenBox(1, 0.03) } object { OpenBox(1, 0.03) }
object { OpenBox(0.55, 0.03) object { OpenBox(0.55, 0.03)
translate <0.4*rand(Rnd2), NormClock*0.74,cos(NormClock)> } translate
<0.4*rand(Rng1), NormClock*1.2, 2*cos(NormClock*9)> }
translate y*2.1 translate y*2.1
} }
#break #break
@ -155,21 +165,19 @@ object { Gyros }
#declare AngleCam = 22; #declare AngleCam = 22;
#break #break
#case (2) #case (2)
object { HexaPole translate y } object { HexaPole () translate y }
#break #break
#case (3) #case (3)
object { Des_Choses } object { Des_Choses }
#break #break
#case (4) #case (4)
object { HexaCone () scale 2 translate 2.7*y rotate -y*clock } object { HexaWood scale 2 translate 0.7*y rotate -y*clock }
#break #break
#case (5) #case (5)
object { Les_Boules translate y*0.8 } object { Les_Boules translate y*0.8 }
#break #break
#case (6) #case (6)
object { Un_Wagonnet translate < 1, 1, 0> } object { Les_Wagonnets rotate y*(clock) }
object { Un_Wagonnet translate y+NormClock }
object { Un_Wagonnet translate <-1, 1, 0> }
#break #break
#case (7) #case (7)
#local Pos = <0, 0, 0>; #local Pos = <0, 0, 0>;

View File

@ -4,22 +4,16 @@
*/ */
/* ======================================================= */ /* ======================================================= */
/* new 30 aout 2025 /* ce truc mérite un nom plus parlant ! */
*
* une idée à creuser davantage...
*/
// ------------------------------------------------------ ##
#macro Chose_le_pied () #macro Chose_le_pied ()
#local RCP = 0.70;
merge { merge {
cylinder { 0, y/2, 0.07 } cylinder { 0, y/2, 0.07 }
cylinder { 0, y/8, 0.39 } cone { y*0.125, RCP, y*0.250, 0.07 }
cylinder { 0, y*0.125, RCP }
#local R = rand(Rng1); #local R = rand(Rng1);
#if ( R < 0.52) #if ( R < 0.52) texture { T_Beton_1 }
texture { T_Beton_1 } #else texture { T_Beton_2 }
#else
texture { T_Beton_2 }
#end #end
} }
#end // macro #end // macro
@ -30,14 +24,14 @@ merge {
#macro Chose_le_corps () // = object #macro Chose_le_corps () // = object
merge { merge {
difference { difference {
cone { -1.2*y, 0.81, 0.2*y, 1.07 } cone { -1.2*y, 0.78, 0.2*y, 1.04 }
sphere { 0.2*y 0.73 } sphere { 0.2*y 0.73 }
} }
#local CK = NormClock * (9.876+rand(Rng1)); #local CK = NormClock * (9.876+rand(Rng1));
#for (Foo, 0, 7) #for (Foo, 0, 7)
#local CK2 = CK + Foo; #local CK2 = CK + Foo;
#local C2X = 1.9 * sin(CK2+rand(Rng1)) * sin(CK*3); #local C2X = 1.2 * sin(CK2+rand(Rng1)) * sin(CK*3);
#local C2Z = 2.0 * (sin(-CK2+rand(Rng1)) * cos(CK*(rand(Rng1)))); #local C2Z = 1.3 * (sin(-CK2+rand(Rng1)) * cos(CK*(rand(Rng1))));
#local R = 0.06+(0.04*Cos_010(NormClock)); #local R = 0.06+(0.04*Cos_010(NormClock));
#local H = 4.2; #local H = 4.2;
cylinder { 0, <C2X, H, C2Z>, R } cylinder { 0, <C2X, H, C2Z>, R }
@ -72,7 +66,7 @@ union {
text { text {
// ttf "datas/DSEG7Classic-Regular.ttf" Texte 0.1, 0 // ttf "datas/DSEG7Classic-Regular.ttf" Texte 0.1, 0
ttf "datas/ComicMono-Bold.ttf" Texte 0.1, 0 ttf "datas/ComicMono-Bold.ttf" Texte 0.1, 0
texture { tPlasticGreen } texture { tPlasticPrune }
} }
scale 3.00 scale 3.00
rotate 90*x rotate 90*x
@ -91,16 +85,12 @@ prism {
1, // ... up through here 1, // ... up through here
7, // the number of points making up the shape ... 7, // the number of points making up the shape ...
<3,5>, <-3,5>, <-5,0>, <-3,-5>, <3, -5>, <5,0>, <3,5> <3,5>, <-3,5>, <-5,0>, <-3,-5>, <3, -5>, <5,0>, <3,5>
#if (rand(Rng1) < 0.5) #if (rand(Rng1) < 0.5) texture { T_Beton_1 }
texture { T_Beton_1 } #else texture { T_Beton_2 }
#else
texture { T_Beton_2 }
#end // if #end // if
scale 0.666 // WTF ?
scale 0.666
} }
#end // macro #end // macro
// ------------------------------------------------------ ## // ------------------------------------------------------ ##
#macro HexaPole_tubes () #macro HexaPole_tubes ()
@ -116,15 +106,11 @@ union {
cylinder { 0, y*H2, R } cylinder { 0, y*H2, R }
sphere { 0, R*2 scale <1, 0.555, 1> } sphere { 0, R*2 scale <1, 0.555, 1> }
sphere { 0, R*2 scale <1, 1.555, 1> translate y*H2 } sphere { 0, R*2 scale <1, 1.555, 1> translate y*H2 }
#local Ra = rand(Rng1); #local Ra = rand(Rng1);
#if (Ra < 0.25) #if (Ra < 0.25) texture { T_Chrome_1A }
texture { T_Chrome_1A } #elseif (Ra < 0.50) texture { T_Chrome_4D }
#elseif (Ra < 0.50) #elseif (Ra < 0.75) texture { T_Brass_2C }
texture { T_Chrome_4D } #else texture { Soft_Silver }
#elseif (Ra < 0.75)
texture { T_Brass_2C }
#else
texture { Soft_Silver }
#end #end
translate <Xp, 0, Zp> translate <Xp, 0, Zp>
} }
@ -135,7 +121,6 @@ union {
#undef H #undef H
#undef R #undef R
#end #end
// ------------------------------------------------------ ## // ------------------------------------------------------ ##
/* /*
* l'assemblage en grand cercle de ces trucs est * l'assemblage en grand cercle de ces trucs est
@ -182,12 +167,9 @@ union {
sphere { sphere {
0, 0.070 0, 0.070
#local R = rand(Rng1); #local R = rand(Rng1);
#if ( R < 0.333 ) #if ( R < 0.333 ) texture { Ruby_Glass }
texture { Ruby_Glass } #elseif ( R < 0.666 ) texture { Orange_Glass }
#elseif ( R < 0.666 ) #else texture { Gold_Nugget }
texture { Orange_Glass }
#else
texture { Gold_Nugget }
#end #end
#undef R #undef R
scale <1.414, 1.000, 1.414> scale <1.414, 1.000, 1.414>
@ -202,6 +184,8 @@ union {
} }
#end #end
// ------------------------------------------------------ ##
#declare Les_Machins = object #declare Les_Machins = object
{ {
union { union {

View File

@ -11,7 +11,7 @@ global_settings {
#include "stones.inc" #include "stones.inc"
#include "woods.inc" #include "woods.inc"
#declare Rng1 = seed(51); #declare Rng1 = seed(43);
#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);
@ -77,7 +77,7 @@ finish { metallic 0.50 reflection 0.33 }
#declare T_Beton_1 = texture #declare T_Beton_1 = texture
{ {
pigment { color <0.9, 0.8, 0.7> } pigment { color <0.9, 0.8, 0.7> }
normal { dents 0.75 scale 0.3 } normal { dents 1.75 scale 0.3 }
finish { roughness 1.00 } finish { roughness 1.00 }
} }
@ -151,11 +151,11 @@ finish {
/* new: 28 octobre 2025 */ /* new: 28 octobre 2025 */
#declare Ground_Texture = texture #declare Ground_Texture = texture
{ {
pigment { rgb <0.51, 0.58, 0.23> } pigment { rgb <0.41, 0.39, 0.23> }
normal { dents 0.28 scale 1.5} normal { dents 0.22 scale 1.5}
finish { finish {
ambient 0 specular 0.5 metallic roughness 0.18 ambient 0 specular 0.3 metallic roughness 0.18
reflection { 0.5 metallic } reflection { 0.4 metallic }
} }
} }

View File

@ -18,6 +18,8 @@ merge {
} }
#end #end
/* ------------------------------------------------------------ */
#macro HW_Cones () #macro HW_Cones ()
union { union {
#for (foo, 0, 360, 60) #for (foo, 0, 360, 60)
@ -40,6 +42,7 @@ union {
} }
#end #end
/* ------------------------------------------------------------ */
#macro HW_Chassis () #macro HW_Chassis ()
difference { difference {
@ -61,36 +64,39 @@ difference {
#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
#for (foo, 0, 360, 60)
#local E = Hc_rad * 1.14; #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.07 translate <Tx, 0, Tz> }
#end #end
translate y*0.10 #local R = rand(Rng1);
texture { T_Wood17 rotate <10, 20, 30> scale 0.82 } #if (R<0.20)
texture { T_Wood17 rotate <10, 20, 30> scale 0.82 }
#else
texture { T_Wood15 rotate <17, 28, 39> scale 1.42 }
#end
translate y*0.10 // why ?
} }
#end #end
/* ------------------------------------------------------------ */
#macro HW_une_patte () #macro HW_une_patte ()
merge { merge {
sphere { 0, 0.025 scale <1, 0.24, 1> translate 0.30*y } /* XXX */
cylinder { 0, 0.30*y, 0.025 } #local RP = 0.042;
sphere { 0, 0.07 scale <1, 0.29, 1> } sphere { 0, RP scale <1, 0.84, 1> translate 0.35*y }
cylinder { 0, 0.35*y, RP }
sphere { 0, 0.09 scale <1, 0.29, 1> }
} }
#local R = rand(Rng1); #local R = rand(Rng1);
#if ( R < 0.3 ) #if ( R < 0.3 ) texture { Tinny_Brass }
texture { Tinny_Brass } #elseif ( R < 0.8 ) texture { New_Penny }
#elseif ( R < 0.8 ) #else texture { T_Brass_2C }
texture { New_Penny } #end // if
#else
texture { T_Brass_2C }
#end // if
#end // macro #end // macro
/* ------------------------------------------------------------ */
#declare HW_les_pattes = object #declare HW_les_pattes = object
{ {
union { union {
@ -104,22 +110,23 @@ union {
} }
} }
/* ------------------------------------------------------------ */
#declare HW_Anneau0 = object #declare HW_Anneau0 = object
{ {
merge { merge {
torus { Hc_rad*0.31, 0.06 scale <1, 0.55, 1> } torus { Hc_rad*0.31, 0.0666 scale <1, 0.55, 1> }
#for (Foo, 0, 359, 60) #for (Foo, 0, 359, 60)
#local DX = Hc_rad*0.31 * sin(radians(Foo)); #local DX = Hc_rad*0.31 * sin(radians(Foo));
#local DZ = Hc_rad*0.31 * cos(radians(Foo)); #local DZ = Hc_rad*0.31 * cos(radians(Foo));
#local HC = 0.30 + (0.03*rand(Rng2)); #local HC = 0.30 + (0.03*rand(Rng2));
cone { 0, 0.035, y*HC, 0.0001 translate <DX, 0, DZ> } cone { 0, 0.037, y*HC*1.2, 0.0001 translate <DX, 0, DZ> }
#end // FOR #end // FOR
} }
texture { GoldDark } texture { GoldDark }
rotate y * 45 * Cos_010(NormClock) rotate y * 65 * Cos_010(NormClock)
translate y*0.32 translate y*0.32
} }
/* ------------------------------------------------------------ */
#declare HexaWood = object #declare HexaWood = object
{ {
union { union {

View File

@ -73,11 +73,13 @@ light_source { <23, 6, 15>, rgb <0.77, 0.79, 0.80> }
// ------------------------------------------------------------- // -------------------------------------------------------------
camera { camera {
location <3, -1.0+(7.777*NormClock), 8.59> location <3+NormClock, -1.0+(7.777*NormClock), 8.59>
look_at <0.0, 0.0, 0> look_at <0.0, 0.0, 0>
#if (0)
focal_point <0.0, 0.0, 0> focal_point <0.0, 0.0, 0>
aperture 0.046 aperture 0.046
blur_samples 30 blur_samples 30
angle 60 #end
angle 55
} }

View File

@ -35,8 +35,8 @@ object { Le_Decor }
// object { Repere scale 3 translate <SzSol, 2, SzSol> } // object { Repere scale 3 translate <SzSol, 2, SzSol> }
#local DistCam = 299; #local DistCam = 380;
#local CK = -1.101 + (0.201 * NormClock); #local CK = -1.101 - (0.130 * NormClock);
#declare CamX = DistCam * sin(CK); #declare CamX = DistCam * sin(CK);
#declare CamY = 28; #declare CamY = 28;
#declare CamZ = DistCam * cos(CK); #declare CamZ = DistCam * cos(CK);
@ -47,5 +47,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 6.5 angle 4.0
} }

View File

@ -4,7 +4,10 @@
// ------------------------------------------------------ // ------------------------------------------------------
#declare Trid_cone = object #declare Trid_cone = object
{ {
cone { 0, R_basecone, y*0.89, 0.0001 } merge {
cone { 0, R_basecone, y*0.89, 0.0001 }
sphere { 0, R_basecone }
}
} }
#macro Trid_A_cone () #macro Trid_A_cone ()
@ -12,14 +15,10 @@ difference {
object { Trid_cone } object { Trid_cone }
object { Trid_cone translate -y*0.001 } object { Trid_cone translate -y*0.001 }
#local Foo = rand(Rng1); #local Foo = rand(Rng1);
#if (Foo < 0.25) #if (Foo < 0.25) texture { T_Brass_2C }
texture { T_Brass_2C } #elseif (Foo < 0.50) texture { T_Chrome_2C }
#elseif (Foo < 0.50) #elseif (Foo < 0.75) texture { T_Chrome_3A }
texture { T_Chrome_2C } #else texture { GoldDark }
#elseif (Foo < 0.75)
texture { T_Chrome_3A }
#else
texture { GoldDark }
#end // else #end // else
#undef Foo #undef Foo
} }

View File

@ -27,7 +27,7 @@ object {
/* le corps */ /* le corps */
merge { merge {
#local L2 = Longueur / 2; #local L2 = Longueur / 2;
#local R = 0.25; #local R = 0.27;
cylinder { <L2, 0, 0>, <-L2, 0, 0>, R } cylinder { <L2, 0, 0>, <-L2, 0, 0>, R }
sphere { <0, 0, 0>, R sphere { <0, 0, 0>, R
scale <3, 1, 1> scale <3, 1, 1>
@ -45,15 +45,10 @@ object {
scale <2.5, 1, 1> translate x*L2*0.75 scale <2.5, 1, 1> translate x*L2*0.75
} }
#local R = rand(Rng1); #local R = rand(Rng1);
#if (R < 0.333) #if (R < 0.333) texture { T_Brass_2C }
texture { T_Brass_2C } #elseif (R < 0.25) texture { GoldDark }
#elseif (R < 0.25) #elseif (R < 0.50) texture { T_Chrome_5A }
texture { GoldDark } #else texture { T_Gold_3C }
#elseif (R < 0.50)
texture { T_Chrome_5A }
#else
// texture { Lightning1 rotate z*90 scale 0.09 }
texture { T_Gold_3C }
#end #end
} }
} }
@ -63,12 +58,12 @@ object {
union { union {
object { Corps_Wagonnet_0 (Longueur) } object { Corps_Wagonnet_0 (Longueur) }
#for (Foo, 0, 5) #for (Foo, 0, 5)
#local DX = (-1.5+Foo*0.35); #local DX = 0.35 - (Foo*0.24);
#local RP = -30 + (60 * rand(Rng1)); #local RP = -30 + (60 * rand(Rng1));
object { Pointe_Wagonnet_0 () object { Pointe_Wagonnet_0 ()
translate <DX, 0.28, 0> rotate x*RP } translate <DX, 0.31, 0> rotate x*RP }
#end #end
object { Repere scale 0.75 translate <0.6, 0.55, 0.25> } // object { Repere scale 0.75 translate <0.06, 0.55, 0.25> }
} }
#end // macro #end // macro
/* =============================================================== */ /* =============================================================== */
@ -83,7 +78,7 @@ merge {
// mettre une base de la colonne // mettre une base de la colonne
cylinder { <-1, 0, 0>, <-1, 0.20, 0> Val*1.49 } cylinder { <-1, 0, 0>, <-1, 0.20, 0> Val*1.49 }
cylinder { < 1, 0, 0>, < 1, 0.20, 0> Val*1.41 } cylinder { < 1, 0, 0>, < 1, 0.20, 0> Val*1.41 }
sphere { < 1, 0.20, 0> Val*1.41 }
cylinder { <-1, 0, 0>, <-1, Ha, 0>, Val } cylinder { <-1, 0, 0>, <-1, Ha, 0>, Val }
cylinder { < 1, 0, 0>, < 1, Ha, 0>, Val } cylinder { < 1, 0, 0>, < 1, Ha, 0>, Val }
#if (rand(Rng1) < 0.50) #if (rand(Rng1) < 0.50)
@ -99,14 +94,11 @@ merge {
rotate <90, 0, 0> translate Ha*y rotate <90, 0, 0> translate Ha*y
} }
#local R = rand(Rng1); #local R = rand(Rng1);
#if (R < 0.25) #if (R < 0.20) texture { T_Stone40 scale 5+rand(Rng1) }
texture { T_Stone40 scale 5+rand(Rng1) } #elseif (R < 0.40) texture { T_Stone44 scale 4+rand(Rng1) }
#elseif (R < 0.50) #elseif (R < 0.60) texture { T_Stone32 scale 6+3*rand(Rng1) }
texture { T_Stone44 scale 4+rand(Rng1) } #elseif (R < 0.80) texture { T_Stone24 scale 5+rand(Rng1) }
#elseif (R < 0.75) #else texture { T_Stone36 scale 3+rand(Rng1) }
texture { T_Stone32 scale 5+rand(Rng1) }
#else
texture { T_Stone36 scale 3+rand(Rng1) }
#end #end
} }
} }