le commit en chocolat

This commit is contained in:
Tonton Th 2025-04-22 00:49:18 +02:00
parent a9ec016184
commit c82f6f4de5
18 changed files with 176 additions and 132 deletions

View File

@ -19,18 +19,18 @@
#declare POS_Cutoff = <-24, 0, -7>;
#local TY = 1.5;
#local TY = 1.55;
#declare Pos = <0.70, -0.70, 0.45>;
#declare Rad = 0.40 + (1.52*NormClock);
#declare Pos = <0.50, -0.70, 0.75>;
#declare Rad = 0.40 + (1.*NormClock);
difference {
object { HexaBenz () }
sphere { Pos, Rad }
translate y*TY + POS_Cutoff
}
// sphere { Pos, 0.10 translate y*TY + POS_Cutoff }
// object { Repere scale 2 translate y*2.8 + POS_Cutoff }
sphere { Pos, 0.025 translate y*TY + POS_Cutoff texture { T_WIP_alert } }
// object { Repere translate y*2.8 + POS_Cutoff }
/* this one is for debugging */
object { OpenBox translate y*TY + POS_Cutoff }
@ -47,12 +47,12 @@ object { Le_Decor }
// =======================================================
#local CamX = -25.4 + (2.29*Cos_01(NormClock));
#local CamX = -27.4 + (3.29*Cos_01(NormClock));
#local CamY = 2.1 - (0.24*sqrt(NormClock));
#local CamZ = -0.85 + (2.02*NormClock);
camera {
location <CamX, CamY, CamZ>
look_at <0, 1.5, 0> + POS_Cutoff
angle 39 - 5*Cos_01(NormClock)
angle 35 - 5*Cos_01(NormClock)
}

View File

@ -32,7 +32,7 @@ object { Le_Decor }
camera {
location <45, 126, 18>
look_at <0, 1.18, 0.17 + (1.9*NormClock)>
look_at <0, 1.18, 0.17 + (2.9*NormClock)>
angle 49
}

View File

@ -8,16 +8,18 @@
#include "groundbase.inc"
#include "gadgets.inc"
/* ======================================================= */
/*
* essai du 12 mars 2025
*/
#declare RedB_0_X = 18;
#declare RedB_0_Z = 28;
#declare RedB_0_X = 19;
#declare RedB_0_Z = 29;
#declare RedB_1_X = -24;
#declare RedB_1_Z = 4;
#declare RedB_1_Z = 7;
#declare Pos_RedB_0 = <RedB_0_X, 0, RedB_0_Z>;
#declare Pos_RedB_1 = <RedB_1_X, 0, RedB_1_Z>;
@ -26,9 +28,9 @@
difference {
#local R = 2.46;
cylinder { 0, y*0.40, R }
cylinder { 0, y*0.36, R*0.98 }
cone { y*0.37, R*0.80, y*0.42, R*0.83 }
#for (Foo, 20, 339, 10)
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)
#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> }
@ -48,11 +50,15 @@ union {
box { <-1, 0, -1>, <1, 1.94, 1> }
translate y*(H_gyro+H_gylampe+0.04)
}
#if (rand(Rng1) < 0.5)
#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 }
#end
#undef R
}
#end // macro
@ -105,7 +111,22 @@ union {
}
#end
/* ======================================================= */
/* 11 avril 2025, je pose un grand cercle d'hexapoles
*/
#declare Les_HexaPoles = object
{
union {
#for (Ang, 0, 359, 15)
#local E = (SzSol * 1.40) + (6*rand(Rng1));
#local Ra = radians(Ang);
#local Xp = E * cos(Ra);
#local Zp = E * sin(Ra);
object { HexaPole () translate <Xp, 0, Zp> }
#end
}
}
/* ======================================================= */
#declare Rhxba = 0.30;
#declare R2hxba = Rhxba * 0.48;
@ -172,9 +193,9 @@ blob {
*/
#fopen Holes "WS/holes.log" write
#for (Idx, 0, 5)
#local Angle = (Idx + 0.17) * 1.090;
#local Px = sin(Angle) * (SzSol * 1.21);
#local Pz = cos(Angle) * (SzSol * 1.23);
#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")
#end
@ -191,7 +212,7 @@ difference {
cylinder { -y*5, y*5, 3.4 translate UnderHoles[Foo] }
#end
}
texture { T_Planete_A scale 0.3333 }
texture { T_Planete_A scale 0.42 }
/*
texture {
pigment { color Gray20 }
@ -215,31 +236,6 @@ union {
/* ======================================================= */
#declare OpenBox = object
{
union {
#local R = 0.010;
/* les verticales */
cylinder { <-1, -1, -1>, <-1, 1, -1>, R }
cylinder { < 1, -1, -1>, < 1, 1, -1>, R }
cylinder { <-1, -1, 1>, <-1, 1, 1>, R }
cylinder { < 1, -1, 1>, < 1, 1, 1>, R }
/* en bas */
cylinder { < 1, -1, 1>, <-1, -1, 1>, R }
cylinder { < 1, -1, -1>, <-1, -1, -1>, R }
cylinder { <-1, -1, 1>, <-1, -1, -1>, R }
cylinder { < 1, -1, 1>, < 1, -1, -1>, R }
/* en haut */
cylinder { < 1, 1, 1>, <-1, 1, 1>, R }
cylinder { < 1, 1, -1>, <-1, 1, -1>, R }
cylinder { <-1, 1, 1>, <-1, 1, -1>, R }
cylinder { < 1, 1, 1>, < 1, 1, -1>, R }
#undef R
texture { WIP_color }
}
}
/* ======================================================= */
/*
@ -267,7 +263,7 @@ union {
object { Quad_lampe translate <-T, H, T> }
object { Quad_lampe translate < T, H, T> }
}
rotate -12 * y
rotate -19 * y
}
/* ======================================================= */
@ -349,11 +345,14 @@ sky_sphere {
union {
object { Underground }
object { La_GroundBase }
object { RedBase_0 (T_Beton_1) translate <RedB_0_X, 0, RedB_0_Z> }
object { RedBase_0 (T_Beton_2) translate <RedB_1_X, 0, RedB_1_Z> }
object { RedBase_0 (T_Beton_1)
translate <RedB_0_X, 0, RedB_0_Z> }
object { RedBase_0 (T_Beton_2)
translate <RedB_1_X, 0, RedB_1_Z> }
// object { Les_Lumieres }
object { QuadriLight }
object { Les_GyroPhares () }
object { Les_HexaPoles }
}
}
/* ------------------------------------------------------------ */

View File

@ -17,30 +17,40 @@
// =======================================================
#declare POS_Cutoff = <-24, 0, -7>;
#local TY = 1.5;
#declare Kbox = (2.03*NormClock);
difference {
object { HexaCone () }
box { -1, 1 translate z*Kbox }
translate y*1.5 + Pos_RedB_1
translate y*TY + POS_Cutoff
}
// object { Repere translate y*1.5 + Pos_RedB_1 }
// object { Repere scale 2 translate y*2.6 + POS_Cutoff }
/* this one is for debugging */
// object { OpenBox translate <0, 1.5, Kbox> }
object { OpenBox translate y*TY + POS_Cutoff }
// =======================================================
light_source {
<-24, 0.4, -1>
colour Orange
parallel
point_at y*TY + POS_Cutoff
}
object { Le_Decor }
// =======================================================
#local CamX = -33.4 + (2.89*Cos_01(NormClock));
#local CamY = 2.5 + (0.24*sqrt(NormClock));
#local CamZ = 5.85 + (2.42*NormClock);
#local CamX = -25.4 + (2.19*Cos_01(NormClock));
#local CamY = 1.6 - (0.24*sqrt(NormClock));
#local CamZ = -0.85 + (2.02*NormClock);
camera {
location <CamX, CamY, CamZ>
look_at <0, 1.5, 0> + Pos_RedB_1
look_at <0, 1.5, 0> + POS_Cutoff
angle 39 - 5*Cos_01(NormClock)
}

View File

@ -24,8 +24,8 @@ object { BiBenz rotate -y*(clock*0.19) translate Pos_RedB_0 }
{
#local K = 1.27;
union {
object { HexaCone () rotate y*90 translate <-K, 1.7, 1> }
object { HexaCone () translate < K, 1.9, 1> }
object { HexaCone () rotate y*90 translate <-K, 1.7, 0> }
object { HexaCone () translate < K, 1.9, 0> }
}
}
object { BiCone rotate -y*(Cos_010(NormClock)*777) translate Pos_RedB_1 }
@ -43,17 +43,16 @@ object { HexaCone () rotate y*((12*NormClock)+80) translate P }
* 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 = -3+(11*NormClock);
#declare Dy = rand(Rng1)-3+(11*NormClock);
#declare Tr = UnderHoles[Foo] + <0, Dy, 0>;
// #write (Trid, Foo, " ", NormClock, " ", Dy, " ",
// UnderHoles[Foo], " ", Tr, "\n")
object { Trident_A () rotate y*((rand(Rng1)-NormClock)*77)
translate Tr }
#declare Ry = ((rand(Rng1)-NormClock)*77);
#write (Trid, Foo, " ", NormClock, " ", Dy, " ",
Ry, " ", Tr, "\n")
object { Trident_A () rotate y*Ry translate Tr }
#end
// #fclose Trid
#fclose Trid
/*
* echange hexacone et hexabenz
@ -78,12 +77,12 @@ object { HexaBenz ()
/*
* passage d'un hexawood près de la base
*/
#declare A = <-21, 0.4, (SzSol/2)+4>;
#declare B = < 24, 0.5, (SzSol/2)+1>;
#declare A = <-25, 0.4, (SzSol/2)+4>;
#declare B = < 29, 0.5, (SzSol/2)+1>;
#declare P = Interpolate(A, B, NormClock);
#local K = NormClock*36;
#local R = 16.64 * cos(K);
#local H = 0.48 * pow(sin(K), 3);
#local H = 0.52 * pow(sin(K), 3);
#declare P_hexawood = P + <0, 0.26+H, 0>;
object { HexaWood rotate z*R translate P_hexawood }

View File

@ -33,7 +33,7 @@
#if ( (abs(posX)>1.2) & (abs(posZ)>1.2) )
#if (rand(Rng1) < 0.505)
#if (rand(Rng1) < 0.555)
object { HexaCone () rotate <Rx, Ry, Rz>
translate <posX, posY, posZ> }
#else
@ -54,9 +54,9 @@ object { Le_Decor }
// object { Repere scale 5 translate y }
#local CamX = -8.7 + (6.6*Cos_01(NormClock));
#local CamY = 2.95 + (18.64*Cos_01(NormClock));
#local CamZ = 16.86 + (12.9*Cos_01(NormClock));
#local CamX = -8.7 + ( 6.6 * Cos_01(NormClock));
#local CamY = 2.95 + (22.64 * Cos_01(NormClock));
#local CamZ = 16.86 + (12.9 * Cos_01(NormClock));
camera {
location <CamX, CamY, CamZ>

View File

@ -18,20 +18,18 @@
// =======================================================
// #include "dynamic.inc"
/* ======================================================= */
// ------------------------------------------------------ ##
#declare Horloge = object
{
#local Texte = str(NormClock, 6, 4);
#debug concat("Texte horloge ", Texte, "\n\n")
text {
ttf "datas/Rebel-Typographer.ttf" Texte 0.1, 0
ttf "datas/DSEG7Classic-Regular.ttf" Texte 0.1, 0
texture { T_WIP_alert }
}
scale 3.00
rotate -90*x
translate <-4.5,-0.21, 0>
rotate 90*x
translate <-4.5, 0.02, 0>
}
// =======================================================
@ -73,16 +71,7 @@ union {
}
// ------------------------------------------------------ ##
object { Gyros }
/*
light_source {
<-8, 7, 19>
colour Gray60
parallel
point_at 0
}
*/
object { Gyros }
#declare Selector = mod(int(clock/32), 6);
#debug concat("Selector = ", str(Selector, 6, 0), "\n")
@ -93,11 +82,12 @@ union {
#debug " Cabane+Compteur !!!\n"
#break
#case (1)
object { QuadriPole }
#debug " Quadripole !!!\n"
object { HexaPole }
#debug " Hexapole !!!\n"
#break
#case (2)
object { Tridents }
object { Tridents translate y*2 }
object { Cabane_Compteur scale 2 rotate y*clock }
#debug " Deux Tridents !!!\n"
#break
#case (3)
@ -121,7 +111,6 @@ plane {
}
object { Repere translate y*0.6 }
// object { RedBase_0 (T_Planete_B) }
// =======================================================
@ -137,5 +126,5 @@ object { Repere translate y*0.6 }
camera {
location <CamX, CamY, CamZ>
look_at <0, 1.4, 0>
angle 20 - 3*Cos_01(NormClock)
angle 26 - 3*Cos_01(NormClock)
}

View File

@ -6,21 +6,62 @@
#version 3.7;
// =======================================================
#declare QuadriPole = object
{
#local R = 0.02;
#local E = 0.25;
#local H = H_cone*2;
#macro HexaPole ()
#local R = 0.06;
#local E = 0.61;
#local H = H_cone*4;
union {
cylinder { 0, y*H, R translate -x*E }
cylinder { 0, y*H, R translate x*E }
cylinder { 0, y*H, R translate -z*E }
cylinder { 0, y*H, R translate z*E }
#for (A, 0, 359, 60)
#local Xp = E * cos(radians(A));
#local Zp = E * sin(radians(A));
#local Ha = rand(Rng1);
union {
cylinder { 0, y*H, R }
sphere { 0, R*2 scale <1, 0.666, 1> }
sphere { 0, R*2 scale <1, 0.666, 1> translate y*H }
#if (Ha < 0.30)
texture { T_Chrome_1A }
#elseif (Ha < 0.60)
texture { T_Chrome_4D }
#elseif (Ha < 0.90)
texture { T_Brass_2C }
#else
texture { Soft_Silver }
#end
translate <Xp, 0, Zp>
}
#end
}
texture { WIP_color }
#undef E
#undef H
#undef R
#end
// =======================================================
#declare OpenBox = object
{
union {
#local R = 0.010;
/* les verticales */
cylinder { <-1, -1, -1>, <-1, 1, -1>, R }
cylinder { < 1, -1, -1>, < 1, 1, -1>, R }
cylinder { <-1, -1, 1>, <-1, 1, 1>, R }
cylinder { < 1, -1, 1>, < 1, 1, 1>, R }
/* en bas */
cylinder { < 1, -1, 1>, <-1, -1, 1>, R }
cylinder { < 1, -1, -1>, <-1, -1, -1>, R }
cylinder { <-1, -1, 1>, <-1, -1, -1>, R }
cylinder { < 1, -1, 1>, < 1, -1, -1>, R }
/* en haut */
cylinder { < 1, 1, 1>, <-1, 1, 1>, R }
cylinder { < 1, 1, -1>, <-1, 1, -1>, R }
cylinder { <-1, 1, 1>, <-1, 1, -1>, R }
cylinder { < 1, 1, 1>, < 1, 1, -1>, R }
#undef R
texture { Soft_Silver scale 6.50 }
}
}
// =======================================================
/*

View File

@ -33,7 +33,7 @@ global_settings {
#declare H_cone = 0.97;
#declare R_gyro = 0.08;
#declare H_gyro = 2.10;
#declare H_gyro = 1.80;
#declare H_gylampe = 0.25;
#declare H_QuadriLight = 34;

View File

@ -8,9 +8,15 @@
union {
#local RA = R_basecone;
#local RB = 0.001;
cone { 0, RA, y*0.89, 0.0001 }
sphere { 0, RA*1.098 scale <1, 0.58, 3.03>
translate -0.02*y }
difference {
cone { 0, RA, y*0.89, 0.0001 }
cone { 0, RA, y*0.89, 0.0001 translate -0.014*y }
}
difference {
sphere { 0, RA*1.098 scale <1, 0.58, 3.03> }
sphere { 0, RA*1.096 scale <1, 0.58, 3.03> }
translate -0.02*y
}
}
// }
#end
@ -60,8 +66,8 @@ merge {
#for (foo, 0, 360, 30)
#local Tx = E * sin(radians(foo));
#local Ty = E * cos(radians(foo));
#local Dza = z * 0.20;
#local Dzb = z * 0.90;
#local Dza = z * 0.25;
#local Dzb = z * 0.95;
cylinder { -Dza, Dzb, R translate <Tx, Ty, 0> }
sphere { -Dza, R*1.8 translate <Tx, Ty, 0> }
sphere { Dzb, R*1.8 translate <Tx, Ty, 0> }
@ -74,8 +80,6 @@ merge {
}
#end
// XXX #declare Benz_Fuseau = object
// XXX {
#macro Benz_Fuseau ()
difference {
sphere { 0, R_Tube*0.39 }
@ -91,7 +95,6 @@ scale <1, 1, 4.4>
#end
#end // end macro
// XXX }
#declare Benz_Fuseau_Flash = object
{
@ -125,13 +128,16 @@ translate z*L_Tube*1.18
#declare Benz_Cylindre = object
{
#local E_tube = 0.02;
#local R_int = R_Tube - E_tube;
difference {
union {
cylinder { z*L_Tube*1.6, -z*L_Tube, R_Tube }
/* les deux bouts du cylindre creux */
torus { R_Tube, 0.012
#local R2 = (R_Tube + R_int) / 2;
torus { R2, E_tube scale <1, 4, 1>
rotate x*90 translate z*L_Tube*1.6 }
torus { R_Tube, 0.012
torus { R2, E_tube scale <1, 4, 1>
rotate x*90 translate -z*L_Tube }
/* cette sphere devrait devenir
@ -139,7 +145,7 @@ difference {
object { Forme_Cockpit
translate y*R_Tube*0.97}
}
cylinder { z*4, -z*4, R_Tube*0.95 }
cylinder { z*4, -z*4, R_int }
}
texture { Soft_Silver scale 6.0 }
}

View File

@ -24,11 +24,11 @@ object { Le_Decor }
// object { Repere scale 2 }
#declare Loc_cam = <2, 2, -1> + (Pos_RedB_0 * 1.263);
#declare Loc_cam = <2, 2, 1> + (Pos_RedB_1 * 1.563);
camera {
location Loc_cam
look_at Pos_RedB_0 + <0.12, 1.16, 0>
look_at Pos_RedB_1 + <0.02, 1.16, 0>
// focal_point <0.37, 0.90, 0>
// aperture 0.046
// blur_samples 30

View File

@ -23,7 +23,7 @@ object { Le_Decor }
// object { Repere translate <10, 1, 10> }
camera {
location <40, 2, 15>
location <39, 2, 14>
look_at <-20, 1.7, 25.6>
angle 26 + NormClock
}

View File

@ -59,13 +59,13 @@ union {
#declare PosY = 0;
#declare PosZ = RO * cos(CK);
object { HexaBenz ()
rotate -y*CK*62.3 translate <PosX, PosY, PosZ>
rotate -y*CK*82.3 translate <PosX, PosY, PosZ>
}
#declare PosX = RO * sin(CK+2.12);
#declare PosY = 0;
#declare PosZ = RO * cos(CK+2.23);
object { HexaCone ()
rotate y*CK*79.22 translate <PosX, PosY, PosZ>
rotate y*CK*99.22 translate <PosX, PosY, PosZ>
}
object { Planete rotate (-clock*0.21)*y }

View File

@ -56,6 +56,6 @@ camera {
// focal_point <0, 1, 0>
// aperture 0.046
// blur_samples 30
angle 34
angle 32
}

View File

@ -19,12 +19,12 @@
object { Le_Decor }
#declare CK = 144 + (clock * 0.27);
#declare Dcam = 3.95;
#declare CamX = Dcam * sin(radians(CK));
#declare CamZ = Dcam * 1.20 * cos(radians(CK));
#declare CK = 144 + (clock * 0.27);
#declare Dcam = 3.75;
#declare CamX = Dcam * cos(radians(CK));
#declare CamZ = Dcam * 1.20 * sin(radians(CK));
#declare Lat = <0.03, 1.58, 0.17>;
#declare Lat = <0.03, 2.45, 0.17>;
camera {
location <CamX, 1.97, CamZ>
look_at Lat

View File

@ -19,16 +19,16 @@
object { Le_Decor }
object { Repere scale 2 translate y*2 }
// object { Repere scale 2 translate y*2 }
// =======================================================
#declare Debut = <-3, 87, 54> ;
#declare Fin = < 2, 91, 8> ;
#declare Debut = <-3, 87, 94> ;
#declare Fin = < 2, 91, 21> ;
#declare Pos = Cos_01(NormClock);
#declare PosCam = Interpolate(Debut, Fin, Pos);
#declare LatCam = PosCam + <-1, -20, -(NormClock+10)>;
#declare LatCam = PosCam + <-1, -20, -(3+(NormClock+11))>;
camera {
location PosCam

View File

@ -39,7 +39,7 @@ object { HexaWood translate P }
object { Le_Decor }
#declare CamY = 31 + (12.34 * Cos_01(NormClock));
#declare CamY = 32 + (12.36 * Cos_01(NormClock));
#declare LatY = -3 + ( 1.12 * NormClock);
camera {

View File

@ -15,7 +15,7 @@ difference {
#if (Foo < 0.25)
texture { T_Brass_2C }
#elseif (Foo < 0.50)
texture { T_Planete_B }
texture { T_Chrome_2C }
#elseif (Foo < 0.75)
texture { T_Chrome_3A }
#else
@ -44,9 +44,9 @@ merge {
cylinder { <0, -L, 0>, <0, L, 0>, 0.065 }
sphere { 0, 0.065 scale <1, 6, 1> translate y*L }
#if (rand(Rng1) < 0.50)
texture { Lightning2 }
texture { T_Chrome_1C }
#else
texture { New_Penny }
texture { T_Brass_5E }
#end
}
#undef L