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"
// les machins avec des bugs
// #include "hexastar.inc"
#include "architecture.inc"
// les constructions en chantier
#include "xperiment.inc"

View File

@ -6,25 +6,48 @@
*/
// ===========================================================
#local Sz = 0.3;
#declare SzC = 0.3;
#macro Base_Col_A ()
merge {
box { <-Sz, 0, -Sz>, <Sz, 0.222, Sz> }
#local B = Sz * 0.7;
box { <-B, 0, -B>, <B, 0.333, B> }
box { <-SzC, 0, -SzC>, <SzC, 0.222, SzC> }
#local B = SzC * 0.7;
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
// -----------------------------------------------------------
#macro Haut_Col_A ()
object {
box { <-1, 0, -1>, <1, 0.333, 1> }
difference {
#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
// -----------------------------------------------------------
#macro Fut_Col_A (H)
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
// -----------------------------------------------------------
#macro Colonne_A (H)
@ -35,4 +58,49 @@ union {
}
#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 CK = 1.9 + (3.141592654 * NormClock);
#declare R_around = 128;
#declare CK = 2.9 + (3.141592654 * NormClock);
#declare CamX = R_around * cos(CK);
#declare CamY = 12.777;
#declare CamY = 15.777 + (4*Cos_010(NormClock));
#declare CamZ = R_around * sin(CK);
camera {
location <CamX, CamY, CamZ>
look_at <0, 2, 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 CK = 1.9 + (1.43 * Cos_01(NormClock));
#declare CK = 2.9 + (1.51 * Cos_01(NormClock));
#declare CamX = R_circ * cos(CK);
#declare CamY = 3.08 + abs(sin(CK/4.00));

View File

@ -4,9 +4,18 @@
/* 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 }
cone { y*0.37, R*0.80, y*0.425, R*0.83 }
#for (Foo, 0, 359, 10)
#if (rand(Rng1) > 0.16)
#if (rand(Rng1) > 0.17)
#local Dx = R * sin(radians(Foo));
#local Dz = R * cos(radians(Foo));
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)
}
#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) }
#if (R < 0.33) texture { T_Stone25 scale 1+rand(Rng1) }
#elseif (R < 0.66) texture { T_Stone15 scale 1+rand(Rng1) }
#else texture { T_Stone6 }
#end
#undef R
@ -386,14 +395,15 @@ union {
object { Les_Cahutes () translate <2, 0, -40> }
/* --------- 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.52, -104> }
object { OpenBox(1.5, 0.06) translate <-19, 1.52, -144> }
object { OpenBox(1.5, 0.06) translate <-21, 1.52, -104> }
object { OpenBox(1.5, 0.06) translate <-20, 1.52, -144> }
#for (Foo, 0, 5)
object { Les_Cahutes () translate <29, 0, -(77+Foo*11)> }
object { Les_Cahutes () translate <27, 0, -(77+Foo*11)> }
#end // for
/* --------- les trucs dans le Y positif */

View File

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

View File

@ -52,18 +52,16 @@
object { Le_Decor }
// object { Repere scale 5 translate y }
#local CamX = -8.7 + ( 6.9 * Cos_01(NormClock));
#local CamY = 0.42 + (17.36 * Cos_01(NormClock));
#local CamZ = 122 - (21.9 * Cos_01(NormClock));
#local CamX = 8.7 + ( 6.9 * Cos_01(NormClock));
#local CamY = 0.42 + (18.36 * Cos_01(NormClock));
#local CamZ = 122 - (22.9 * Cos_01(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 {
location <CamX, CamY, CamZ>
look_at <0.0, LatY, 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;
#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
#local Horloge2 = object
@ -40,7 +30,6 @@ union {
scale 0.8
translate y*2.35
}
// =======================================================
/*
* 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
@ -211,7 +167,7 @@ finish { phong 0.23 ambient 0.50 }
#declare T_WIP_1 = texture
{
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 }
}
@ -256,47 +212,48 @@ union {
object { Chose () translate < 2.2, 0, 2.32> }
object { Chose () translate <-2.9, 0, 3.91> }
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 { Repere translate 0.05*y }
}
}
// =======================================================
#declare Gyros = object
#declare GyroTrucs = object
{
// #debug " Les gyros !!!\n"
union {
#for (I, 0, 359, 30)
#declare E = 12 + (3*rand(Rng1));
#declare Dx = E * sin(radians(I));
#declare Dz = E * cos(radians(I));
// XXX object { GyroPhare () translate <Dx, 0, Dz> }
object { Colonne_A (3.2) translate <Dx, 0, Dz> }
#end
#local R = rand(Rng1);
#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 // for
}
}
object { Gyros }
object { GyroTrucs }
// ========================================================##
#local Fleche = object
#declare Architecture = object
{
union {
cylinder { -5*x, 5*x, 0.09 }
cone { 5*x, 0.27, 6.66*x, 0.00007 }
}
texture { LeGris }
}
// ------------------------------------------------------ ##
#declare La_Patrouille = object
{
union {
object { Patrouille }
object { Fleche translate y }
object { Portique_A () translate z*4 }
object { Portique_A () scale 2 translate z*2 }
object { Portique_A () scale 1.5 }
object { Portique_A () scale 2 translate -z*2 }
object { Portique_A () translate -z*4 }
// object { Fleche translate y }
}
}
// ------------------------------------------------------ ##
@ -322,8 +279,7 @@ union {
object { Des_Choses }
#break
#case (1)
object { La_Patrouille rotate -y*(clock*0.666)
translate y*2.5 }
object { Architecture rotate -y*(clock*0.666) }
#local AngleCam = 31.0;
#break
#case (2)
@ -357,8 +313,6 @@ plane {
texture { Ground_Texture }
}
// object { Repere translate y*1.0 }
// =======================================================
#local CamX = -2.7 + (1.8*Cos_010(NormClock));
@ -370,8 +324,6 @@ plane {
#local CamY = CamY * K * 0.61;
#local CamZ = CamZ * K;
camera {
location <CamX, CamY, CamZ>
look_at <0, 1.6, 0>

View File

@ -8,14 +8,37 @@
#declare Repere = object
{
union {
#local R = 0.01555555;
cylinder { 0, <1, 0, 0>, R pigment { color Red } }
cylinder { 0, <0, 1, 0>, R pigment { color Green } }
cylinder { 0, <0, 0, 1>, R pigment { color Blue } }
#local R = 0.015;
#local R2 = R * 2.33;
#local LC = 1.15;
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 R_C = 0.35;
#declare Fleche = object
{
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 ! */
#macro Chose_le_pied ()

View File

@ -46,6 +46,13 @@ global_settings {
* 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
{
#local V = (sin(clock*0.122) / 2) + 0.5;

View File

@ -47,7 +47,8 @@ texture { T_Beton_2 }
text {
ttf "datas/ComicMono-Bold.ttf" Texte 0.1, 0
// 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

View File

@ -6,7 +6,7 @@
#include "globals.inc"
#declare DEBUG_LEVEL = 1;
// #declare DEBUG_LEVEL = 1;
#declare NO_DYNAMIC = 0;
#include "all.inc"
@ -20,7 +20,7 @@ object { Le_Decor }
camera {
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>
right <image_width/image_height, 0, 0>
// focal_point <0.37, 0.90, 0>

View File

@ -27,8 +27,7 @@ union {
/*
* element central --- À REFAIRE EN MACRO !
*/
#declare HS_element_central = object
{
#macro HS_element_central ()
union {
torus { HS_radius*0.73, 0.0180 }
#local L = 0.0028;
@ -36,16 +35,16 @@ union {
cylinder { -y*L, y*L, R }
sphere { 0, R translate -y*L }
sphere { 0, R translate y*L }
}
scale <1, 25.10, 1>
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
}
scale <1, 24.10, 1>
rotate z*90
#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 */
#macro HS_element_queue ()
@ -55,8 +54,8 @@ union {
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> }
#local R = rand(Rng1);
#if ( R < 0.35 ) texture { C_Texture }
#elseif ( R < 0.50 ) texture { M_Texture }
#if ( R < 0.35 ) texture { Rust }
#elseif ( R < 0.50 ) texture { T_Gold_5A }
#elseif ( R < 0.80 ) texture { Aluminum }
#else texture { T_Gold_3C }
#end
@ -68,7 +67,7 @@ union {
// UNE ANTENNE ?
/* ============================================================ */
/* On regroupe les six élements */
/* On regroupe les N*six élements */
#declare HS_les_elements = object
{
union {
@ -82,7 +81,7 @@ union {
translate <0, Ty, Tz>
}
#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>
// aperture 0.046
// 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));
merge {
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>
}
#end
}
#local R = rand(Rng1);
texture { T_WIP_color }
}

View File

@ -25,6 +25,6 @@ camera {
location LOC
look_at LAT
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;
#declare PosX = RO * sin(CK);
@ -67,9 +67,17 @@ object { HexaCone ()
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 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
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 {
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>
right <image_width/image_height, 0, 0>
#if (0)

View File

@ -17,7 +17,7 @@ object { HexaCone () translate <PosX, PosY, PosZ> }
/* 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 { Le_Decor }

View File

@ -33,8 +33,8 @@ object { Le_Decor }
// object { Repere scale 3 translate <SzSol, 2, SzSol> }
#local DistCam = 430 + (12 * NormClock);
#local CK = -1.101 - (0.051 * NormClock);
#local DistCam = 440 + (12 * NormClock);
#local CK = -1.101 - (0.042 * NormClock);
#declare CamX = DistCam * sin(CK);
#declare CamY = 28;
#declare CamZ = DistCam * cos(CK);
@ -46,5 +46,5 @@ camera {
// focal_point <2, 1, 12>
// aperture 0.046
// 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 !!!
// =======================================================
#declare Debut = <-14, 89, 284> ;
#declare Fin = < 19, 81, -3> ;
#declare Debut = <-33, 89, 289> ;
#declare Fin = < 36, 81, -2> ;
#declare Pos = sqrt(NormClock);
#declare PosCam = Interpolate(Debut, Fin, Pos);

View File

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

View File

@ -85,6 +85,38 @@ union {
}
#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
*/