un bon gros paquet de changements :)

This commit is contained in:
Tonton Th 2026-02-09 12:29:28 +01:00
parent 9de6929b48
commit 47a2089561
22 changed files with 239 additions and 141 deletions

View File

@ -15,7 +15,7 @@
#include "hexastar.inc" #include "hexastar.inc"
// les machins avec des bugs // les machins avec des bugs
// #include "hexastar.inc" #include "architecture.inc"
// les constructions en chantier // les constructions en chantier
#include "xperiment.inc" #include "xperiment.inc"

View File

@ -6,25 +6,48 @@
*/ */
// =========================================================== // ===========================================================
#local Sz = 0.3; #declare SzC = 0.3;
#macro Base_Col_A () #macro Base_Col_A ()
merge { merge {
box { <-Sz, 0, -Sz>, <Sz, 0.222, Sz> } box { <-SzC, 0, -SzC>, <SzC, 0.222, SzC> }
#local B = Sz * 0.7; #local B = SzC * 0.7;
box { <-B, 0, -B>, <B, 0.333, B> } box { <-B, 0, -B>, <B, 0.333, B> }
#local R = rand(Rng1);
#if (R < 0.33)
texture { T_Stone25 }
#else
texture { T_Stone26 }
#end
} }
#end #end
// ----------------------------------------------------------- // -----------------------------------------------------------
#macro Haut_Col_A () #macro Haut_Col_A ()
object { difference {
box { <-1, 0, -1>, <1, 0.333, 1> } #local S = SzC * 0.87;
box { <-S, 0, -S>, <S, 0.222, S> }
#local E = SzC + 1;
#local R = S * 0.42;
cylinder { <-E, 0, S>, <E, 0, S>, R }
cylinder { <-E, 0, -S>, <E, 0, -S>, R }
#local R = rand(Rng1);
#if (R < 0.33)
texture { T_Stone27 }
#else
texture { T_Stone28 }
#end
} }
#end #end
// ----------------------------------------------------------- // -----------------------------------------------------------
#macro Fut_Col_A (H) #macro Fut_Col_A (H)
object { object {
cylinder { 0, H*y, 0.42 } cylinder { 0, H*y, 0.15 }
} #local R = rand(Rng1);
#if (R < 0.43)
texture { T_Stone29 }
#else
texture { T_Stone34 scale 3 }
#end
}
#end #end
// ----------------------------------------------------------- // -----------------------------------------------------------
#macro Colonne_A (H) #macro Colonne_A (H)
@ -35,4 +58,49 @@ union {
} }
#end #end
// =========================================================== // ===========================================================
// bon, on a un pilier/colonne donc de quoi poser
// dessus un linteau pour avoir un genre de portique
// pour remplacer les arches de l'approche.
#macro Linteau_A (Lg, Epp)
merge {
#local L = Lg + 0.42;
#local K = 0.28;
box { <-L, 0, -K>, <L, Epp, K> }
cylinder { <0, Epp, -K*0.9>, <0, Epp, K*0.9>, K }
#local R = rand(Rng1);
#if (R < 0.63)
texture { T_Grnt6 scale 4 }
#else
texture { T_Stone34 scale 3 }
#end
}
#end // macro
// -----------------------------------------------------------
#macro Linteau_B (Lg, Epp)
merge {
#local L = Lg + 0.20;
#local K = 0.36;
box { <-L, 0, -K>, <L, Epp, K> }
cylinder { <0, Epp, -K*0.9>, <0, Epp, K*0.9>, K }
texture { T_WIP_rasta }
}
#end // macro
// =========================================================== // ===========================================================
#macro Portique_A ()
union {
#local Larg = 2.8;
#local Haut = 3.4;
object { Colonne_A (Haut) translate -x*Larg }
object { Colonne_A (Haut) translate x*Larg }
#local R = rand(Rng1);
#if (R < 0.80)
object { Linteau_A (Larg,0.26) translate y*(Haut+0.20) }
#else
object { Linteau_B (Larg,0.28) translate y*(Haut+0.20) }
#end
}
#end // macro
// ===========================================================

View File

@ -16,16 +16,16 @@ object { Le_Decor }
// ======================================================= // =======================================================
#declare R_around = 125; #declare R_around = 128;
#declare CK = 1.9 + (3.141592654 * NormClock); #declare CK = 2.9 + (3.141592654 * NormClock);
#declare CamX = R_around * cos(CK); #declare CamX = R_around * cos(CK);
#declare CamY = 12.777; #declare CamY = 15.777 + (4*Cos_010(NormClock));
#declare CamZ = R_around * sin(CK); #declare CamZ = R_around * sin(CK);
camera { camera {
location <CamX, CamY, CamZ> location <CamX, CamY, CamZ>
look_at <0, 2, 0> look_at <0, 2, 0>
right <image_width/image_height, 0, 0> right <image_width/image_height, 0, 0>
angle 44 angle 45
} }

View File

@ -17,7 +17,7 @@ object { Le_Decor }
// ======================================================= // =======================================================
#declare R_circ = R_circular + 0.07; #declare R_circ = R_circular + 0.07;
#declare CK = 1.9 + (1.43 * Cos_01(NormClock)); #declare CK = 2.9 + (1.51 * Cos_01(NormClock));
#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

@ -4,9 +4,18 @@
/* voir aussi le fichier 'globals.inc' */ /* voir aussi le fichier 'globals.inc' */
/* ======================================================= */
// #debug "+++++++++++++++++++++ debut contexte\n"
/* ======================================================= */ /* ======================================================= */
#debug "+++++++++++++++++++++ debut contexte\n" #macro Trois_Portiques (Dist)
union {
object { Portique_A () }
object { Portique_A () translate z*5 }
object { Portique_A () translate z*10 }
// XXX scale 1.85
}
#end // macro trois portiques
/* ======================================================= */ /* ======================================================= */
/* /*
@ -37,7 +46,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.16) #if (rand(Rng1) > 0.17)
#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> }
@ -58,8 +67,8 @@ union {
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) texture { T_Stone25 scale 1+rand(Rng1) } #if (R < 0.33) texture { T_Stone25 scale 1+rand(Rng1) }
#elseif (R < 0.66666) texture { T_Stone15 scale 1+rand(Rng1) } #elseif (R < 0.66) texture { T_Stone15 scale 1+rand(Rng1) }
#else texture { T_Stone6 } #else texture { T_Stone6 }
#end #end
#undef R #undef R
@ -386,14 +395,15 @@ union {
object { Les_Cahutes () translate <2, 0, -40> } object { Les_Cahutes () translate <2, 0, -40> }
/* --------- les trucs dans le Y négatif */ /* --------- les trucs dans le Y négatif */
object { Trois_Arches (1.4) scale 2.7 translate <0, 0, -131> } // object { Trois_Arches (1.4) scale 2.4 translate <0, 0, -131> }
object { Trois_Portiques (1.4) translate <0, 0, -111> }
object { OpenBox(1.5, 0.06) translate <-19, 1.49, -88> } object { OpenBox(1.5, 0.06) translate <-19, 1.49, -88> }
object { OpenBox(1.5, 0.06) translate <-19, 1.52, -104> } object { OpenBox(1.5, 0.06) translate <-21, 1.52, -104> }
object { OpenBox(1.5, 0.06) translate <-19, 1.52, -144> } object { OpenBox(1.5, 0.06) translate <-20, 1.52, -144> }
#for (Foo, 0, 5) #for (Foo, 0, 5)
object { Les_Cahutes () translate <29, 0, -(77+Foo*11)> } object { Les_Cahutes () translate <27, 0, -(77+Foo*11)> }
#end // for #end // for
/* --------- les trucs dans le Y positif */ /* --------- les trucs dans le Y positif */

View File

@ -18,7 +18,7 @@
#declare Kbox = (2.03*NormClock); #declare Kbox = (2.03*NormClock);
difference { difference {
object { HexaCone () } object { HexaCone () rotate <3-(6*NormClock), 5, -3> }
box { -1, 1 translate z*Kbox } box { -1, 1 translate z*Kbox }
translate y*TY + POS_Cutoff translate y*TY + POS_Cutoff
} }

View File

@ -52,18 +52,16 @@
object { Le_Decor } object { Le_Decor }
// object { Repere scale 5 translate y } #local CamX = 8.7 + ( 6.9 * Cos_01(NormClock));
#local CamY = 0.42 + (18.36 * Cos_01(NormClock));
#local CamX = -8.7 + ( 6.9 * Cos_01(NormClock)); #local CamZ = 122 - (22.9 * Cos_01(NormClock));
#local CamY = 0.42 + (17.36 * Cos_01(NormClock));
#local CamZ = 122 - (21.9 * Cos_01(NormClock));
#local LatY = (Y_mean / Y_count) - (0.5*NormClock); #local LatY = (Y_mean / Y_count) - (0.5*NormClock);
#debug concat("escadrille: Lat Y ", str(LatY, 7, 3),"\n") // #debug concat("escadrille: Lat Y ", str(LatY, 7, 3),"\n")
camera { camera {
location <CamX, CamY, CamZ> location <CamX, CamY, CamZ>
look_at <0.0, LatY, 0> look_at <0.0, LatY, 0>
right <image_width/image_height, 0, 0> right <image_width/image_height, 0, 0>
angle 56 - (24 * NormClock) angle 56 - (26 * NormClock)
} }

View File

@ -11,16 +11,6 @@
#declare NO_DYNAMIC = 1; #declare NO_DYNAMIC = 1;
#include "all.inc" #include "all.inc"
// =======================================================
#include "architecture.inc"
// =======================================================
#declare LeGris = texture
{
/* moi j'dis qu'il est temps de définir un "gris de base" */
pigment { color Gray70 }
finish { phong 0.33 ambient 0.33 }
}
// ======================================================= // =======================================================
// nouveau du 3 janvier 2026 // nouveau du 3 janvier 2026
#local Horloge2 = object #local Horloge2 = object
@ -40,7 +30,6 @@ union {
scale 0.8 scale 0.8
translate y*2.35 translate y*2.35
} }
// ======================================================= // =======================================================
/* /*
* new Thu Dec 18 01:14:19 AM UTC 2025 * new Thu Dec 18 01:14:19 AM UTC 2025
@ -107,39 +96,6 @@ union {
} }
} }
// =======================================================
/* nouveau du 7 octobre 2025 */
#macro Une_Boule ()
sphere {
0, 0.18 + (rand(Rng1) * 0.06)
#local R = rand(Rng1);
#if (R < 0.333) texture { C_Texture }
#elseif (R < 0.666) texture { M_Texture }
#else texture { Y_Texture }
#end
finish { phong 0.7 specular 0.3 }
}
#end // macro
/* TODO
* trouver une meilleure méthode de placement
*/
#declare Les_Boules = object
{
union {
#for (A, 0, 64, 1)
#local CK = (NormClock*55.00) + (A*0.28);
object { Une_Boule ()
#local TX = 3.2 * sin(CK);
#local TY = 0.4 * cos(sin(CK));
#local TZ = 3.0 * cos(1-CK);
translate <TX, TY, TZ>
}
object { Repere scale 2 }
#end // for
}
}
// ======================================================= // =======================================================
/* /*
* nouveau du 25 octobre 2025 * nouveau du 25 octobre 2025
@ -211,7 +167,7 @@ finish { phong 0.23 ambient 0.50 }
#declare T_WIP_1 = texture #declare T_WIP_1 = texture
{ {
pigment { color <0.36, 0.6, 0.79> } pigment { color <0.36, 0.6, 0.79> }
normal { dents 2.94 scale 0.5} normal { dents 2.94 scale 0.5 }
finish { specular 0.40 ambient 0.69 } finish { specular 0.40 ambient 0.69 }
} }
@ -256,47 +212,48 @@ union {
object { Chose () translate < 2.2, 0, 2.32> } object { Chose () translate < 2.2, 0, 2.32> }
object { Chose () translate <-2.9, 0, 3.91> } object { Chose () translate <-2.9, 0, 3.91> }
object { Chose () translate < 2.9, 0, -4.07> } object { Chose () translate < 2.9, 0, -4.07> }
object { Colonne_A (2) translate <-3.1, 0, -3> }
object { Chose () translate <-4.5, 0, -4> } object { Chose () translate <-4.5, 0, -4> }
object { Repere translate 0.05*y } object { Repere translate 0.05*y }
} }
} }
// ======================================================= // =======================================================
#declare Gyros = object #declare GyroTrucs = object
{ {
// #debug " Les gyros !!!\n"
union { union {
#for (I, 0, 359, 30) #for (I, 0, 359, 30)
#declare E = 12 + (3*rand(Rng1)); #declare E = 12 + (3*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));
// XXX object { GyroPhare () translate <Dx, 0, Dz> } #local R = rand(Rng1);
object { Colonne_A (3.2) translate <Dx, 0, Dz> } #if (R > 0.52)
object { GyroPhare () translate <Dx, 0, Dz> }
#elseif (R > 0.36)
object { Colonne_A (3.8)
rotate y*(90*rand(Rng1))
translate <Dx, 0, Dz> }
#else
object { Colonne_A (2.8)
rotate y*(90*rand(Rng1))
translate <Dx, 0, Dz> }
#end #end
#end // for
} }
} }
object { Gyros } object { GyroTrucs }
// ========================================================## // ========================================================##
#local Fleche = object #declare Architecture = object
{ {
union { union {
cylinder { -5*x, 5*x, 0.09 } object { Portique_A () translate z*4 }
cone { 5*x, 0.27, 6.66*x, 0.00007 } object { Portique_A () scale 2 translate z*2 }
} object { Portique_A () scale 1.5 }
texture { LeGris } object { Portique_A () scale 2 translate -z*2 }
} object { Portique_A () translate -z*4 }
// object { Fleche translate y }
// ------------------------------------------------------ ##
#declare La_Patrouille = object
{
union {
object { Patrouille }
object { Fleche translate y }
} }
} }
// ------------------------------------------------------ ## // ------------------------------------------------------ ##
@ -322,8 +279,7 @@ union {
object { Des_Choses } object { Des_Choses }
#break #break
#case (1) #case (1)
object { La_Patrouille rotate -y*(clock*0.666) object { Architecture rotate -y*(clock*0.666) }
translate y*2.5 }
#local AngleCam = 31.0; #local AngleCam = 31.0;
#break #break
#case (2) #case (2)
@ -357,8 +313,6 @@ plane {
texture { Ground_Texture } texture { Ground_Texture }
} }
// object { Repere translate y*1.0 }
// ======================================================= // =======================================================
#local CamX = -2.7 + (1.8*Cos_010(NormClock)); #local CamX = -2.7 + (1.8*Cos_010(NormClock));
@ -370,8 +324,6 @@ plane {
#local CamY = CamY * K * 0.61; #local CamY = CamY * K * 0.61;
#local CamZ = CamZ * K; #local CamZ = CamZ * K;
camera { camera {
location <CamX, CamY, CamZ> location <CamX, CamY, CamZ>
look_at <0, 1.6, 0> look_at <0, 1.6, 0>

View File

@ -8,14 +8,37 @@
#declare Repere = object #declare Repere = object
{ {
union { union {
#local R = 0.01555555; #local R = 0.015;
cylinder { 0, <1, 0, 0>, R pigment { color Red } } #local R2 = R * 2.33;
cylinder { 0, <0, 1, 0>, R pigment { color Green } } #local LC = 1.15;
cylinder { 0, <0, 0, 1>, R pigment { color Blue } } merge {
cylinder { 0, <1, 0, 0>, R }
cone { <1, 0, 0>, R2, <LC, 0, 0>, 0 }
texture { R_Texture }
}
merge {
cylinder { 0, <0, 1, 0>, R }
cone { <0, 1, 0>, R2, <0, LC, 0>, 0 }
texture { G_Texture }
}
merge {
cylinder { 0, <0, 0, 1>, R }
cone { <0, 0, 1>, R2, <0, 0, LC>, 0 }
texture { B_Texture }
}
} }
} }
/* ======================================================= */ #declare Fleche = object
#declare R_C = 0.35; {
union {
cylinder { -5*x, 5*x, 0.09 }
cone { 5*x, 0.27, 6.66*x, 0.00007 }
}
texture { LeGris }
}
// ------------------------------------------------------ ##
#declare R_C = 0.335;
/* ce truc mérite un nom plus parlant ! */ /* ce truc mérite un nom plus parlant ! */
#macro Chose_le_pied () #macro Chose_le_pied ()

View File

@ -46,6 +46,13 @@ global_settings {
* Some textures... * Some textures...
*/ */
#declare LeGris = texture
{
/* moi j'dis qu'il est temps de définir un "gris de base" */
pigment { color Gray70 }
finish { phong 0.33 ambient 0.33 }
}
#declare T_WIP_color = texture #declare T_WIP_color = texture
{ {
#local V = (sin(clock*0.122) / 2) + 0.5; #local V = (sin(clock*0.122) / 2) + 0.5;

View File

@ -47,7 +47,8 @@ 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 x*clock scale 0.75 } texture { T_WIP_bluewave rotate <clock, clock, clock>
scale 0.78 }
} }
} }
#declare Cabane_Compteur = object #declare Cabane_Compteur = object

View File

@ -6,7 +6,7 @@
#include "globals.inc" #include "globals.inc"
#declare DEBUG_LEVEL = 1; // #declare DEBUG_LEVEL = 1;
#declare NO_DYNAMIC = 0; #declare NO_DYNAMIC = 0;
#include "all.inc" #include "all.inc"
@ -20,7 +20,7 @@ object { Le_Decor }
camera { camera {
location Loc_cam location Loc_cam
#local H = 1.16 + (NormClock*0.34); #local H = 1.16 + (NormClock*0.36);
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>

View File

@ -27,8 +27,7 @@ union {
/* /*
* element central --- À REFAIRE EN MACRO ! * element central --- À REFAIRE EN MACRO !
*/ */
#declare HS_element_central = object #macro HS_element_central ()
{
union { union {
torus { HS_radius*0.73, 0.0180 } torus { HS_radius*0.73, 0.0180 }
#local L = 0.0028; #local L = 0.0028;
@ -36,16 +35,16 @@ union {
cylinder { -y*L, y*L, R } cylinder { -y*L, y*L, R }
sphere { 0, R translate -y*L } sphere { 0, R translate -y*L }
sphere { 0, R translate y*L } sphere { 0, R translate y*L }
} scale <1, 24.10, 1>
scale <1, 25.10, 1> rotate z*90
rotate z*90
#local R = rand(Rng1);
#if ( R < 0.33 ) texture { Y_Texture }
#elseif ( R < 0.66 ) texture { T_Gold_1A }
#else texture { Aluminum }
#end
}
#local R = rand(Rng1);
#if ( R < 0.17 ) texture { Y_Texture }
#elseif ( R < 0.66 ) texture { T_Gold_1A }
#else texture { Aluminum }
#end
}
#end
/* ------------------------------------------------------------ */ /* ------------------------------------------------------------ */
/* nouveau 14 janvier 2026 */ /* nouveau 14 janvier 2026 */
#macro HS_element_queue () #macro HS_element_queue ()
@ -55,8 +54,8 @@ union {
cone { < 0.44, 0, 0>, Small, < 0.88, 0, 0>, R_a } cone { < 0.44, 0, 0>, Small, < 0.88, 0, 0>, R_a }
sphere { 0, R_a scale <0.7, 1, 1> translate <0.88, 0, 0> } sphere { 0, R_a scale <0.7, 1, 1> translate <0.88, 0, 0> }
#local R = rand(Rng1); #local R = rand(Rng1);
#if ( R < 0.35 ) texture { C_Texture } #if ( R < 0.35 ) texture { Rust }
#elseif ( R < 0.50 ) texture { M_Texture } #elseif ( R < 0.50 ) texture { T_Gold_5A }
#elseif ( R < 0.80 ) texture { Aluminum } #elseif ( R < 0.80 ) texture { Aluminum }
#else texture { T_Gold_3C } #else texture { T_Gold_3C }
#end #end
@ -68,7 +67,7 @@ union {
// UNE ANTENNE ? // UNE ANTENNE ?
/* ============================================================ */ /* ============================================================ */
/* On regroupe les six élements */ /* On regroupe les N*six élements */
#declare HS_les_elements = object #declare HS_les_elements = object
{ {
union { union {
@ -82,7 +81,7 @@ union {
translate <0, Ty, Tz> translate <0, Ty, Tz>
} }
#end // end for #end // end for
object { HS_element_central } object { HS_element_central () }
} }
} }
/* ============================================================ */ /* ============================================================ */

View File

@ -28,6 +28,6 @@ camera {
// focal_point <0.37, 0.0, 0> // focal_point <0.37, 0.0, 0>
// aperture 0.046 // aperture 0.046
// blur_samples 30 // blur_samples 30
angle 70 - 11 * Cos_01(NormClock) angle 65 - 11 * Cos_01(NormClock)
} }

View File

@ -131,12 +131,12 @@ merge {
#local DZ = Hc_rad*0.35 * cos(radians(Foo+30)); #local DZ = Hc_rad*0.35 * cos(radians(Foo+30));
merge { merge {
cylinder { 0, 0.05*y, 0.006 } cylinder { 0, 0.05*y, 0.006 }
cone { 0.05*y, 0.006, 0.08*y, 0.012 } cone { 0.03*y, 0.006, 0.08*y, 0.012 }
sphere { 0.08*y, 0.013 }
translate <DX, 0, DZ> translate <DX, 0, DZ>
} }
#end #end
} }
#local R = rand(Rng1);
texture { T_WIP_color } texture { T_WIP_color }
} }

View File

@ -25,6 +25,6 @@ camera {
location LOC location LOC
look_at LAT look_at LAT
right <image_width/image_height, 0, 0> right <image_width/image_height, 0, 0>
angle 18 + 2.71*NormClock angle 18 + 2.72*NormClock
} }

View File

@ -51,7 +51,7 @@ union {
} }
// ======================================================= // =======================================================
#local RO = 4.95; #local RO = 5.29;
#local CK = NormClock * 13.37; #local CK = NormClock * 13.37;
#declare PosX = RO * sin(CK); #declare PosX = RO * sin(CK);
@ -67,9 +67,17 @@ object { HexaCone ()
rotate y*CK*99.22 translate <PosX, PosY, PosZ> rotate y*CK*99.22 translate <PosX, PosY, PosZ>
} }
#declare PosX = RO * sin(CK+3.14); #declare PosX = RO * 1.5 * sin(CK+3.14);
#declare PosY = 0; #declare PosY = 0;
#declare PosZ = RO * cos(CK+3.23); #declare PosZ = RO * cos(CK+3.23);
object { Trident_A ()
rotate x*clock
rotate y*CK*99.22 translate <PosX, PosY, PosZ>
}
#declare PosX = RO * sin(CK+5.14);
#declare PosY = 0;
#declare PosZ = RO * cos(CK+5.14);
object { HexaStar object { HexaStar
rotate y*CK*99.22 translate <PosX, PosY, PosZ> rotate y*CK*99.22 translate <PosX, PosY, PosZ>
} }
@ -79,7 +87,7 @@ light_source { <23, 8, 15>, rgb <0.77, 0.79, 0.80> }
// ------------------------------------------------------------- // -------------------------------------------------------------
camera { camera {
location <8+NormClock, -1.0+(8.6*NormClock), 11.59> location <9+NormClock, 1.60+(8.6*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)

View File

@ -17,7 +17,7 @@ object { HexaCone () translate <PosX, PosY, PosZ> }
/* XXX this two object in dynamic.inc ??? */ /* XXX this two object in dynamic.inc ??? */
object { HexaCone () translate <PosX+2.96, PosY+3.22, PosZ-19.5> } object { HexaBenz () translate <PosX+2.96, PosY+3.22, PosZ-19.5> }
object { HexaStar rotate y*90 translate <PosX-1.96, PosY+2.72, PosZ-17.5> } object { HexaStar rotate y*90 translate <PosX-1.96, PosY+2.72, PosZ-17.5> }
object { Le_Decor } object { Le_Decor }

View File

@ -33,8 +33,8 @@ object { Le_Decor }
// object { Repere scale 3 translate <SzSol, 2, SzSol> } // object { Repere scale 3 translate <SzSol, 2, SzSol> }
#local DistCam = 430 + (12 * NormClock); #local DistCam = 440 + (12 * NormClock);
#local CK = -1.101 - (0.051 * NormClock); #local CK = -1.101 - (0.042 * 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);
@ -46,5 +46,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 4.0 angle 3.6
} }

View File

@ -15,8 +15,8 @@ object { Le_Decor }
// XXX instrumenter la caméra serait un GROS plus !!! // XXX instrumenter la caméra serait un GROS plus !!!
// ======================================================= // =======================================================
#declare Debut = <-14, 89, 284> ; #declare Debut = <-33, 89, 289> ;
#declare Fin = < 19, 81, -3> ; #declare Fin = < 36, 81, -2> ;
#declare Pos = sqrt(NormClock); #declare Pos = sqrt(NormClock);
#declare PosCam = Interpolate(Debut, Fin, Pos); #declare PosCam = Interpolate(Debut, Fin, Pos);

View File

@ -78,8 +78,8 @@ union {
// ------------------------------------------------------ // ------------------------------------------------------
#macro Trid_A_tail () #macro Trid_A_tail ()
union { union {
#for (A, 0, 360, 120) #for (A, 0, 359, 120)
#local RY = A + 270*rand(Rng1); #local RY = A + 27*rand(Rng1);
object { Trid_A_ailette () rotate RY*y } object { Trid_A_ailette () rotate RY*y }
#end // for #end // for
} }

View File

@ -85,6 +85,38 @@ union {
} }
#end // macro #end // macro
/* =============================================================== */ /* =============================================================== */
/* nouveau du 7 octobre 2025 */
#macro Une_Boule ()
sphere {
0, 0.18 + (rand(Rng1) * 0.06)
#local R = rand(Rng1);
#if (R < 0.333) texture { C_Texture }
#elseif (R < 0.666) texture { M_Texture }
#else texture { Y_Texture }
#end
finish { phong 0.7 specular 0.3 }
}
#end // macro
/* TODO
* trouver une meilleure méthode de placement
*/
#declare Les_Boules = object
{
union {
#for (A, 0, 64, 1)
#local CK = (NormClock*55.00) + (A*0.28);
object { Une_Boule ()
#local TX = 3.2 * sin(CK);
#local TY = 0.4 * cos(sin(CK));
#local TZ = 3.0 * cos(1-CK);
translate <TX, TY, TZ>
}
object { Repere scale 2 }
#end // for
}
}
/* =============================================================== */
/* /*
* nouveau du 25 octobre 2025 * nouveau du 25 octobre 2025
*/ */