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 */
// 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 }
// =======================================================
@ -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 CamZ = -0.85 + (2.02*NormClock);

View File

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

View File

@ -22,7 +22,7 @@ object { Le_Decor }
// =======================================================
#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 CamY = 3.08 + abs(sin(CK/4.00));

View File

@ -46,17 +46,14 @@ texture { T }
union {
cylinder { 0, y*H_gyro, R_gyro }
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> }
translate y*(H_gyro+H_gylampe+0.04)
}
#local R = rand(Rng1);
#if (R < 0.33333)
texture { T_Stone25 scale 1+rand(Rng1) }
#elseif (R < 0.66666)
texture { T_Stone15 scale 1+rand(Rng1) }
#else
texture { T_Stone6 }
#if (R < 0.33333) texture { T_Stone25 scale 1+rand(Rng1) }
#elseif (R < 0.66666) texture { T_Stone15 scale 1+rand(Rng1) }
#else texture { T_Stone6 }
#end
#undef R
}
@ -93,7 +90,6 @@ union {
union {
object { GyroPhare_mat () }
object { GyroPhare_lampe ()
// rotate y*rand(Rng1)*clock
translate y*(H_gyro+0.02) }
}
#end // macro
@ -168,19 +164,19 @@ merge {
}
}
#declare Les_Bibelots = object
#declare Les_HexaBalls = object
{
union {
object { HexaBalls
texture { Lightning1 scale 0.44 }
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
texture { Lightning2 scale 0.56 }
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]
/*
* 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)
#local Angle = (Idx + 0.19) * 1.090;
#local Px = sin(Angle) * (SzSol * 0.97);
#local Pz = cos(Angle) * (SzSol * 1.04);
#declare UnderHoles[Idx] = <Px, 0, Pz>;
#write (Holes, Idx, " ", Angle, " ", UnderHoles[Idx], "\n")
// XXX #write (Holes, Idx, " ", Angle, " ", UnderHoles[Idx], "\n")
#end
#fclose Holes
// XXX #fclose Holes
#declare Underground = object
{
difference {
// plane { y, 0 }
#local Big = 300;
box { <-Big, -0.15, -Big>, < Big, 0.0000, Big> }
box { <-Big, -0.19, -Big>, < Big, 0.0000, Big> }
#undef Big
#for (Foo, 0, 5)
cylinder { -y*5, y*5, 3.2 translate UnderHoles[Foo] }
#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
color White
fade_distance SzSol * 0.40
fade_power 1.22
fade_power 1.25
}
}
@ -299,16 +286,15 @@ union {
#local DX = 66 * sin(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
#end
}
}
/* ======================================================= */
/*
* cette partie demande des explications
*/
#declare Les_Lumieres = object
{
union {
@ -335,30 +321,21 @@ union {
point_at <0, 0.95, -0.22>
}
#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 {
pigment {
gradient y
color_map {
[ 0.2 color Gray20 ]
[ 0.4 color rgb <.5, .3, .5> ]
[ 0.7 color Gray30 ]
[ 0.9 color rgb <.5, .6, .5> ]
[ 0.4 color rgb <.5, .3, .4> ]
[ 0.7 color Gray40 ]
[ 0.9 color rgb <.5, .5, .4> ]
[ 1.0 color Gray20 ]
}
turbulence 3.14159 + 0.84 * Cos_010(NormClock)
@ -368,9 +345,7 @@ sky_sphere {
#local Kem = 0.09;
emission rgb <Kem, Kem, Kem>
}
// }
/* ======================================================= */
/* ======================================================= */
/*
* Et on rassemble tous les éléments...
@ -396,10 +371,12 @@ union {
object { Les_Cahutes () translate <22, 0, -9> }
/* les trucs dans le Y négatif */
object { OpenBox(2, 0.08) rotate <5, 7, -12+(24*NormClock)>
translate <-22, 4, -79> }
object { Les_Cahutes () rotate y*7 translate <35, 0, -84> }
object { Les_Cahutes () rotate y*7 translate <34, 0, -76> }
object { OpenBox(2, 0.08) rotate <0, -12+(24*NormClock), 0>
translate <-19, 4, -86> }
object { OpenBox(2, 0.08) rotate <0, -120+(4*NormClock), 0>
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 */
// object { Repere scale 2 translate y*2.6 + POS_Cutoff }
// object { OpenBox translate y*TY + POS_Cutoff }
// object { Repere scale 2 translate y*2.1 + POS_Cutoff }
// object { OpenBox (1, 0.02) translate y*TY + POS_Cutoff }
// =======================================================
light_source {
@ -44,12 +44,12 @@ object { Le_Decor }
// =======================================================
#local CamX = POS_Cutoff.x + 4 + (3.14*Cos_01(NormClock));
#local CamY = 1.9 - (0.27*sqrt(NormClock));
#local CamZ = POS_Cutoff.z - 1.85 + (4.02*NormClock);
#local CamX = POS_Cutoff.x + 7 + (3.14*Cos_01(NormClock));
#local CamY = 2.1 + (0.51*sqrt(NormClock));
#local CamZ = POS_Cutoff.z + 5.95 - (1.02*NormClock);
camera {
location <CamX, CamY, CamZ>
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
// qui bougent sur le rail circulaire
#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 Zpos = R_circular * cos(CK);
#declare AR = degrees(CK);
@ -21,8 +20,9 @@ object {
}
#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] }
/// =======================================================
@ -61,26 +61,20 @@ object { BiCone rotate -y*(Cos_010(NormClock)*55.38) translate Pos_RedB_1 }
#declare P = Interpolate(A, B, NormClock);
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
* trous de l'underground
*/
#fopen Trid "WS/tridents.log" write
// #fopen Trid "WS/tridents.log" write
#for (Foo, 0, 5)
#declare Dy = rand(Rng1)-3+(11*NormClock);
#declare Tr = UnderHoles[Foo] + <0, Dy, 0>;
#declare Ry = ((rand(Rng1)-NormClock)*87);
#write (Trid, Foo, " ", NormClock, " ", Dy, " ",
Ry, " ", Tr, "\n")
// #write (Trid, Foo, " ", NormClock, " ", Dy, " ",
// Ry, " ", Tr, "\n")
object { Trident_A () rotate y*Ry translate Tr }
#end
#fclose Trid
// #fclose Trid
/*
* ----------------------------

View File

@ -22,16 +22,16 @@
#for (idZ, -3, 3)
#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 Rx = (rand(Rng1) - 0.5) * 8;
#local Ry = (rand(Rng1) - 0.5) * 14;
#local Rx = (rand(Rng1) - 0.5) * 12;
#local Ry = (rand(Rng1) - 0.5) * (14+NormClock);
#local Rz = (rand(Rng1) - 0.5) * 11;
// #debug concat("X ", str(posX,7,3), " 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 (rand(Rng1) < 0.555)
object { HexaCone () rotate <Rx, Ry, Rz>
@ -60,5 +60,5 @@ object { Le_Decor }
camera {
location <CamX, CamY, CamZ>
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;
#include "globals.inc"
#debug "\n GLOBALS INCLUDED\n"
#include "contexte.inc"
#include "gadgets.inc"
@ -24,15 +23,15 @@
* rail circulaire
*/
#declare Un_Wagonnet = object
#declare Les_Wagonnets = object
{
#local R = 3.2;
#local L = 2.4;
object { Wagonnet_0 (R)
rotate y*clock*2
union {
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 {
#for (A, 0, 32, 1)
#local CK = (NormClock*55.00) + (A*0.08);
#local CK = (NormClock*55.00) + (A*0.28);
object { Une_Boule ()
#local TX = 1.6 * sin(CK);
#local TX = 1.9 * sin(CK);
#local TY = 1.4 * cos(sin(CK));
#local TZ = 2.0 * cos(1-CK);
translate <TX, TY, TZ>
}
object { Repere scale 2 }
// object { Repere scale 2 }
#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
{
union {
object { Chose () translate -<-1.7, 0, 0.8> }
object { Chose () translate -< 1.5, 0, 1.2> rotate -y*clock }
object { Chose () translate -< 1.1, 0, -1.2> rotate y*clock }
object { Chose () translate < 2.0, 0, 2.32> }
object { Chose () translate <-2.9, 0, 3.91> }
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"
union {
#for (I, 0, 359, 30)
#declare E = 12;
#declare E = 12 + rand(Rng1);
#declare Dx = E * sin(radians(I));
#declare Dz = E * cos(radians(I));
object { GyroPhare () translate <Dx, 0, Dz> }
@ -134,6 +136,13 @@ object { Gyros }
#debug " !!! ACTION !!!\n"
light_source {
<-18, 54, -7>
colour Gray40
parallel
point_at 0
}
// ------------------------------------------------------ ##
#declare Selector = mod(int(clock/60)+19, 8);
@ -146,7 +155,8 @@ object { Gyros }
union {
object { OpenBox(1, 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
}
#break
@ -155,21 +165,19 @@ object { Gyros }
#declare AngleCam = 22;
#break
#case (2)
object { HexaPole translate y }
object { HexaPole () translate y }
#break
#case (3)
object { Des_Choses }
#break
#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
#case (5)
object { Les_Boules translate y*0.8 }
#break
#case (6)
object { Un_Wagonnet translate < 1, 1, 0> }
object { Un_Wagonnet translate y+NormClock }
object { Un_Wagonnet translate <-1, 1, 0> }
object { Les_Wagonnets rotate y*(clock) }
#break
#case (7)
#local Pos = <0, 0, 0>;

View File

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

View File

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

View File

@ -18,6 +18,8 @@ merge {
}
#end
/* ------------------------------------------------------------ */
#macro HW_Cones ()
union {
#for (foo, 0, 360, 60)
@ -40,6 +42,7 @@ union {
}
#end
/* ------------------------------------------------------------ */
#macro HW_Chassis ()
difference {
@ -61,36 +64,39 @@ difference {
#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 = 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> }
cylinder { -y, y, 0.07 translate <Tx, 0, Tz> }
#end
translate y*0.10
#local R = rand(Rng1);
#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
/* ------------------------------------------------------------ */
#macro HW_une_patte ()
merge {
sphere { 0, 0.025 scale <1, 0.24, 1> translate 0.30*y }
cylinder { 0, 0.30*y, 0.025 }
sphere { 0, 0.07 scale <1, 0.29, 1> }
/* XXX */
#local RP = 0.042;
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);
#if ( R < 0.3 )
texture { Tinny_Brass }
#elseif ( R < 0.8 )
texture { New_Penny }
#else
texture { T_Brass_2C }
#if ( R < 0.3 ) texture { Tinny_Brass }
#elseif ( R < 0.8 ) texture { New_Penny }
#else texture { T_Brass_2C }
#end // if
#end // macro
/* ------------------------------------------------------------ */
#declare HW_les_pattes = object
{
union {
@ -104,22 +110,23 @@ union {
}
}
/* ------------------------------------------------------------ */
#declare HW_Anneau0 = object
{
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)
#local DX = Hc_rad*0.31 * sin(radians(Foo));
#local DZ = Hc_rad*0.31 * cos(radians(Foo));
#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
}
texture { GoldDark }
rotate y * 45 * Cos_010(NormClock)
rotate y * 65 * Cos_010(NormClock)
translate y*0.32
}
/* ------------------------------------------------------------ */
#declare HexaWood = object
{
union {

View File

@ -73,11 +73,13 @@ light_source { <23, 6, 15>, rgb <0.77, 0.79, 0.80> }
// -------------------------------------------------------------
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>
#if (0)
focal_point <0.0, 0.0, 0>
aperture 0.046
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> }
#local DistCam = 299;
#local CK = -1.101 + (0.201 * NormClock);
#local DistCam = 380;
#local CK = -1.101 - (0.130 * NormClock);
#declare CamX = DistCam * sin(CK);
#declare CamY = 28;
#declare CamZ = DistCam * cos(CK);
@ -47,5 +47,5 @@ camera {
// focal_point <2, 1, 12>
// aperture 0.046
// blur_samples 30
angle 6.5
angle 4.0
}

View File

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

View File

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