Compare commits
28 Commits
3fdfa5a0c0
...
iohd2026
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c9dba8d6aa | ||
|
|
c77b6684dd | ||
|
|
cde4dac7df | ||
|
|
baa76d2cf9 | ||
|
|
2c2accd83a | ||
|
|
9c63031460 | ||
|
|
e20ef98199 | ||
|
|
c13e3a181c | ||
|
|
564ccab632 | ||
|
|
32300d389a | ||
|
|
f3eabfb68b | ||
|
|
c37530d999 | ||
|
|
15849c4aa2 | ||
|
|
3f57aec353 | ||
|
|
90562d2ce6 | ||
|
|
daaa8eeb01 | ||
|
|
35e6c0dfb5 | ||
|
|
6ee8932ba4 | ||
|
|
a3558cc1db | ||
|
|
2eea147f82 | ||
|
|
4dca1e7d79 | ||
|
|
0207fc942b | ||
|
|
59c2b266ef | ||
|
|
f6104c8b5d | ||
|
|
676cf5bd87 | ||
|
|
c0a0d2467e | ||
|
|
5e5d0ae116 | ||
|
|
b6ac4f8ce5 |
@@ -15,11 +15,11 @@ object { Le_Decor }
|
|||||||
|
|
||||||
// =======================================================
|
// =======================================================
|
||||||
|
|
||||||
#declare LocX = 0;
|
#declare LocX = -0.5 + Cos_010(NormClock);
|
||||||
#declare LocY = 3.6 - NormClock;
|
#declare LocY = 2.6 - NormClock;
|
||||||
#declare LocZ = -220 + (120 * NormClock);
|
#declare LocZ = -200 + (118 * NormClock);
|
||||||
#declare LocCam = <LocX, LocY, LocZ>;
|
#declare LocCam = <LocX, LocY, LocZ>;
|
||||||
#declare LatCam = <0, 1.2, 0>;
|
#declare LatCam = <0, 0.92+NormClock, 0>;
|
||||||
|
|
||||||
// object { Repere scale 5 translate Interpolate(LocCam, LatCam, 0.50) }
|
// object { Repere scale 5 translate Interpolate(LocCam, LatCam, 0.50) }
|
||||||
|
|
||||||
|
|||||||
@@ -71,7 +71,7 @@ merge {
|
|||||||
#if (R < 0.63)
|
#if (R < 0.63)
|
||||||
texture { T_Grnt6 scale 4 }
|
texture { T_Grnt6 scale 4 }
|
||||||
#else
|
#else
|
||||||
texture { T_Stone34 scale 3+rand(Rng2) }
|
texture { T_Stone34 scale 3+rand(Rng1) }
|
||||||
#end
|
#end
|
||||||
}
|
}
|
||||||
#end // macro
|
#end // macro
|
||||||
@@ -82,7 +82,10 @@ merge {
|
|||||||
#local K = 0.36;
|
#local K = 0.36;
|
||||||
box { <-L, 0, -K>, <L, Epp, K> }
|
box { <-L, 0, -K>, <L, Epp, K> }
|
||||||
cylinder { <0, Epp, -K*0.9>, <0, Epp, K*0.9>, K }
|
cylinder { <0, Epp, -K*0.9>, <0, Epp, K*0.9>, K }
|
||||||
texture { T_WIP_dents rotate y*(rand(Rng1)*77) }
|
#local R = rand(Rng1);
|
||||||
|
#if (R < 0.63) texture { T_Crack3 } // XXX
|
||||||
|
#else texture { T_Grnt19a }
|
||||||
|
#end
|
||||||
}
|
}
|
||||||
#end // macro
|
#end // macro
|
||||||
|
|
||||||
|
|||||||
10
around.pov
10
around.pov
@@ -16,16 +16,16 @@ object { Le_Decor }
|
|||||||
|
|
||||||
// =======================================================
|
// =======================================================
|
||||||
|
|
||||||
#declare R_around = 128;
|
#declare R_around = 120;
|
||||||
#declare CK = 2.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 = 15.777 + (4*Cos_010(NormClock));
|
#declare CamY = 15 + (6*Cos_010(NormClock));
|
||||||
#declare CamZ = R_around * 1.5 * sin(CK);
|
#declare CamZ = R_around * 1.8 * sin(CK);
|
||||||
|
|
||||||
camera {
|
camera {
|
||||||
location <CamX, CamY, CamZ>
|
location <CamX, CamY, CamZ>
|
||||||
look_at <0, 2, 0>
|
look_at <0, 0.5 + NormClock, 0>
|
||||||
right <image_width/image_height, 0, 0>
|
right <image_width/image_height, 0, 0>
|
||||||
angle 44
|
angle 36
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
#include "globals.inc"
|
#include "globals.inc"
|
||||||
|
|
||||||
#declare NO_DYNAMIC = 1;
|
#declare NO_DYNAMIC = 0;
|
||||||
#include "all.inc"
|
#include "all.inc"
|
||||||
|
|
||||||
// =======================================================
|
// =======================================================
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ union {
|
|||||||
object { Le_Decor }
|
object { Le_Decor }
|
||||||
|
|
||||||
camera {
|
camera {
|
||||||
location <45, 149+(99*NormClock), 18-(12*NormClock)>
|
location <46, 149+(117*NormClock), 18-(12*NormClock)>
|
||||||
look_at <0, 1.18, 0.17 + (2.4*NormClock)>
|
look_at <0, 1.18, 0.17 + (2.4*NormClock)>
|
||||||
right <image_width/image_height, 0, 0>
|
right <image_width/image_height, 0, 0>
|
||||||
angle 50
|
angle 50
|
||||||
|
|||||||
23
contexte.inc
23
contexte.inc
@@ -24,10 +24,10 @@ union {
|
|||||||
|
|
||||||
#declare RedB_0_X = 19; #declare RedB_0_Z = 29;
|
#declare RedB_0_X = 19; #declare RedB_0_Z = 29;
|
||||||
|
|
||||||
#declare RedB_1_X = -24; #declare RedB_1_Z = 8;
|
#declare RedB_1_X = -34; #declare RedB_1_Z = 11;
|
||||||
|
|
||||||
// XXX #declare RedB_2_X = 36; #declare RedB_2_Z = -21;
|
// XXX #declare RedB_2_X = 36; #declare RedB_2_Z = -21;
|
||||||
#declare RedB_2_X = 2; #declare RedB_2_Z = -40;
|
#declare RedB_2_X = 2; #declare RedB_2_Z = -40;
|
||||||
|
|
||||||
#declare RedB_3_X = 42; #declare RedB_3_Z = -5;
|
#declare RedB_3_X = 42; #declare RedB_3_Z = -5;
|
||||||
|
|
||||||
@@ -109,7 +109,7 @@ union {
|
|||||||
|
|
||||||
#macro Les_GyroPhares ()
|
#macro Les_GyroPhares ()
|
||||||
union {
|
union {
|
||||||
#local E = SzSol * 0.471;
|
#local E = SzSol * 0.496;
|
||||||
#for (Idx, 0, 359, 60)
|
#for (Idx, 0, 359, 60)
|
||||||
#local Ang = radians(Idx+9.33);
|
#local Ang = radians(Idx+9.33);
|
||||||
#local Dx = E * sin(Ang);
|
#local Dx = E * sin(Ang);
|
||||||
@@ -290,9 +290,9 @@ union {
|
|||||||
object { Chose () translate < 20, 0, -36> }
|
object { Chose () translate < 20, 0, -36> }
|
||||||
/* a l'exterieur du 'circular' */
|
/* a l'exterieur du 'circular' */
|
||||||
#for (foo, 0, 359, 18)
|
#for (foo, 0, 359, 18)
|
||||||
#local CK = radians(foo + (9*rand(Rng1)));
|
#local CK = radians(foo + (8*rand(Rng1)));
|
||||||
#local DX = 76 * sin(CK);
|
#local DX = 71 * sin(CK);
|
||||||
#local DZ = 74 * cos(CK);
|
#local DZ = 67 * cos(CK);
|
||||||
object { Chose () translate < DX, 0, DZ> } // XXX
|
object { Chose () translate < DX, 0, DZ> } // XXX
|
||||||
#end
|
#end
|
||||||
}
|
}
|
||||||
@@ -316,7 +316,7 @@ union {
|
|||||||
|
|
||||||
#if (1)
|
#if (1)
|
||||||
light_source {
|
light_source {
|
||||||
<-5, 5.60, 18>
|
<-8, 5.60, 18>
|
||||||
#if ( (clock > 290) & (clock<344) )
|
#if ( (clock > 290) & (clock<344) )
|
||||||
#local Couleur = rgb <0.20, 0.20, 0.90>;
|
#local Couleur = rgb <0.20, 0.20, 0.90>;
|
||||||
#else
|
#else
|
||||||
@@ -345,7 +345,7 @@ sky_sphere {
|
|||||||
[ 0.9 color rgb <.5, .5, .47> ]
|
[ 0.9 color rgb <.5, .5, .47> ]
|
||||||
[ 1.0 color Gray20 ]
|
[ 1.0 color Gray20 ]
|
||||||
}
|
}
|
||||||
turbulence 3.14159 + 0.84 * Cos_010(NormClock)
|
turbulence 2.222 + 0.84 * Cos_010(NormClock)
|
||||||
scale 1.600
|
scale 1.600
|
||||||
// translate -1
|
// translate -1
|
||||||
}
|
}
|
||||||
@@ -379,13 +379,13 @@ union {
|
|||||||
object { QuadriLight }
|
object { QuadriLight }
|
||||||
object { Les_GyroPhares () }
|
object { Les_GyroPhares () }
|
||||||
object { Les_HexaPoles }
|
object { Les_HexaPoles }
|
||||||
object { HorlogeDouble rotate y*(27*NormClock)
|
object { HorlogeDouble rotate y*(114*NormClock)
|
||||||
translate < 8, 0, -30> }
|
translate < 8, 0, -30> }
|
||||||
object { Les_Choses }
|
object { Les_Choses }
|
||||||
object { Les_Arches (1.9) rotate y*132 translate <-34, 0, -26> }
|
object { Les_Arches (1.9) rotate y*112 translate <-34, 0, -26> }
|
||||||
|
|
||||||
// XXX object { Les_Cahutes () rotate y*17 translate <2, 0, -40> }
|
// XXX object { Les_Cahutes () rotate y*17 translate <2, 0, -40> }
|
||||||
object { Les_Cahutes () rotate y*17 translate <37, 0, -20> }
|
object { Les_Cahutes () rotate y*17 translate <39, 0, -20> }
|
||||||
|
|
||||||
/* --------- les trucs dans le Y négatif */
|
/* --------- les trucs dans le Y négatif */
|
||||||
// object { Trois_Arches (1.4) scale 2.4 translate <0, 0, -131> }
|
// object { Trois_Arches (1.4) scale 2.4 translate <0, 0, -131> }
|
||||||
@@ -400,7 +400,6 @@ union {
|
|||||||
#end // for
|
#end // for
|
||||||
|
|
||||||
/* --------- les trucs dans le Y positif */
|
/* --------- les trucs dans le Y positif */
|
||||||
// object { OpenBox(1.6, 0.11) translate <-3, 3.58, 112> }
|
|
||||||
object { Blob_Boxed scale 4 translate <-3, 3.58, 112> }
|
object { Blob_Boxed scale 4 translate <-3, 3.58, 112> }
|
||||||
object { Blob_Boxed scale 4 rotate y*45 translate <3, 6.7, 161> }
|
object { Blob_Boxed scale 4 rotate y*45 translate <3, 6.7, 161> }
|
||||||
|
|
||||||
|
|||||||
@@ -18,7 +18,7 @@
|
|||||||
|
|
||||||
#declare Kbox = (2.03*NormClock);
|
#declare Kbox = (2.03*NormClock);
|
||||||
difference {
|
difference {
|
||||||
object { HexaCone () rotate <3-(6*NormClock), 5, -3> }
|
object { HexaCone () rotate <9-(11*NormClock), 6, -7> }
|
||||||
box { -1, 1 translate z*Kbox }
|
box { -1, 1 translate z*Kbox }
|
||||||
translate y*TY + POS_Cutoff
|
translate y*TY + POS_Cutoff
|
||||||
}
|
}
|
||||||
@@ -29,7 +29,7 @@ difference {
|
|||||||
|
|
||||||
// =======================================================
|
// =======================================================
|
||||||
light_source {
|
light_source {
|
||||||
<-24, 0.4, -1>
|
<-14, 0.4, -1>
|
||||||
colour Orange
|
colour Orange
|
||||||
parallel
|
parallel
|
||||||
point_at y*TY + POS_Cutoff
|
point_at y*TY + POS_Cutoff
|
||||||
@@ -40,7 +40,7 @@ object { Le_Decor }
|
|||||||
// =======================================================
|
// =======================================================
|
||||||
|
|
||||||
#local CamX = POS_Cutoff.x + 3.5 + (3.14*Cos_01(NormClock));
|
#local CamX = POS_Cutoff.x + 3.5 + (3.14*Cos_01(NormClock));
|
||||||
#local CamY = 2.1 + (1.11*sqrt(NormClock));
|
#local CamY = 2.01 + (1.14*sqrt(NormClock));
|
||||||
#local CamZ = POS_Cutoff.z + 4.30 - (1.02*NormClock);
|
#local CamZ = POS_Cutoff.z + 4.30 - (1.02*NormClock);
|
||||||
|
|
||||||
camera {
|
camera {
|
||||||
|
|||||||
14
dynamic.inc
14
dynamic.inc
@@ -7,11 +7,11 @@
|
|||||||
|
|
||||||
|
|
||||||
object {
|
object {
|
||||||
#local CK = clock / 210; // en radians
|
#local CK = (clock / 230) - 0.75; // en radians
|
||||||
#local RD = 63; // rayon deplacement
|
#local RD = 63; // rayon deplacement
|
||||||
#local Xp = RD * sin(CK);
|
#local Xp = RD * sin(CK);
|
||||||
#local Zp = RD * cos(CK);
|
#local Zp = RD * cos(CK);
|
||||||
#declare Loc_Patrouille = <Xp+10, 75+(11*NormClock), Zp>;
|
#declare Loc_Patrouille = <Xp+10, 70+(11*NormClock), Zp>;
|
||||||
|
|
||||||
object { Patrouille }
|
object { Patrouille }
|
||||||
rotate y*degrees(CK)
|
rotate y*degrees(CK)
|
||||||
@@ -36,10 +36,12 @@ object {
|
|||||||
|
|
||||||
/// =======================================================
|
/// =======================================================
|
||||||
/* des trucs autour des trous du sol. */
|
/* des trucs autour des trous du sol. */
|
||||||
// object { Les_HexaBalls rotate y*clock translate UnderHoles[2] }
|
// Les_Machins --> 'gadgets.inc'
|
||||||
object { Les_Machins rotate -y*clock translate UnderHoles[2] }
|
object { Les_Machins rotate -y*clock translate UnderHoles[2] }
|
||||||
object { Les_Machins rotate y*clock translate UnderHoles[5] }
|
object { Les_Machins rotate y*clock translate UnderHoles[5] }
|
||||||
|
|
||||||
|
// object { Les_HexaBalls rotate y*clock translate UnderHoles[2] }
|
||||||
|
|
||||||
/// =======================================================
|
/// =======================================================
|
||||||
/*
|
/*
|
||||||
* deux hexabenz sur une base exterieure
|
* deux hexabenz sur une base exterieure
|
||||||
@@ -48,11 +50,11 @@ object { Les_Machins rotate y*clock translate UnderHoles[5] }
|
|||||||
{
|
{
|
||||||
#local K = 1.39;
|
#local K = 1.39;
|
||||||
union {
|
union {
|
||||||
object { HexaBenz () rotate y*90 translate <-K, 1.83, 0> }
|
object { HexaBenz () rotate y*94 translate <-K, 1.86, 0> }
|
||||||
object { HexaBenz () translate < K, 1.66, 0> }
|
object { HexaBenz () rotate -x*7 translate < K, 1.96, 0> }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
object { BiBenz rotate -y*(clock*0.26) translate Pos_RedB_0 }
|
object { BiBenz rotate -y*(clock*0.28) translate Pos_RedB_0 }
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* deux hexacones se tournent autour
|
* deux hexacones se tournent autour
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
#for (idZ, -3, 3)
|
#for (idZ, -3, 3)
|
||||||
|
|
||||||
#local posX = (idX * 4.76) + (rand(Rng1)-0.5);
|
#local posX = (idX * 4.76) + (rand(Rng1)-0.5);
|
||||||
#local posY = 3.2 + (NormClock * 12 * (rand(Rng1)+0.95));
|
#local posY = 3.2 + (NormClock * 17 * (rand(Rng1)+0.95));
|
||||||
#local posZ = (idZ * 4.44) ;
|
#local posZ = (idZ * 4.44) ;
|
||||||
#local Rx = (rand(Rng1) - 0.5) * 12;
|
#local Rx = (rand(Rng1) - 0.5) * 12;
|
||||||
#local Ry = (rand(Rng1) - 0.5) * (24+NormClock);
|
#local Ry = (rand(Rng1) - 0.5) * (24+NormClock);
|
||||||
@@ -56,12 +56,14 @@ object { Le_Decor }
|
|||||||
#local CamY = 0.42 + (18.36 * Cos_01(NormClock));
|
#local CamY = 0.42 + (18.36 * Cos_01(NormClock));
|
||||||
#local CamZ = 122 - (22.9 * Cos_01(NormClock));
|
#local CamZ = 122 - (22.9 * Cos_01(NormClock));
|
||||||
|
|
||||||
|
#local LatX = 3 * NormClock;
|
||||||
#local LatY = (Y_mean / Y_count) - (0.5*NormClock);
|
#local LatY = (Y_mean / Y_count) - (0.5*NormClock);
|
||||||
|
#local LatZ = 2.22;
|
||||||
// #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 <LatX, LatY, LatZ>
|
||||||
right <image_width/image_height, 0, 0>
|
right <image_width/image_height, 0, 0>
|
||||||
angle 56 - (28 * NormClock)
|
angle 54 - (35 * NormClock)
|
||||||
}
|
}
|
||||||
|
|||||||
346
essai.pov
346
essai.pov
@@ -16,27 +16,60 @@
|
|||||||
-* __________________________
|
-* __________________________
|
||||||
*/
|
*/
|
||||||
// =======================================================
|
// =======================================================
|
||||||
|
// nouveau du 25 février 2026
|
||||||
|
|
||||||
|
#macro Un_Autre_Cube (Ratio)
|
||||||
|
difference {
|
||||||
|
#local D = 1.000000;
|
||||||
|
box { <-D, -D, -D>, <D, D, D> }
|
||||||
|
#local V = Ratio * D;
|
||||||
|
#local M = D * 1.1;
|
||||||
|
box { <-M, -V, -V>, <M, V, V> }
|
||||||
|
box { <-V, -M, -V>, <V, M, V> }
|
||||||
|
box { <-V, -V, -M>, <V, V, M> }
|
||||||
|
texture { Flashy scale 4 }
|
||||||
|
}
|
||||||
|
#end
|
||||||
|
// =======================================================
|
||||||
// nouveau du 10 février 2026
|
// nouveau du 10 février 2026
|
||||||
|
//
|
||||||
#macro Anemone_A (E, H)
|
#macro Anemone_A (E, H)
|
||||||
union {
|
union {
|
||||||
#for (foo, 0, 5)
|
#for (foo, 0, 5)
|
||||||
#local A = radians(foo*60);
|
#local A = (NormClock*7) + (0.5*radians(foo*60));
|
||||||
#local DX = E * sin(A);
|
#local DX = (E+rand(Rng1)) * sin(A);
|
||||||
#local DZ = E * cos(A);
|
#local DZ = (E+rand(Rng1)) * cos(A);
|
||||||
cone { y*(H/8), 0.20, <DX, H, DZ>, 0.001
|
cone {
|
||||||
|
#local RC = 0.15 + (rand(Rng1) * 0.50);
|
||||||
|
#local H2 = H + rand(Rng1);
|
||||||
|
y*(H*(0.01)), 0.15, <DX, H2, DZ>, 0.001
|
||||||
#local Rv = 0.7 + (0.2*rand(Rng1));
|
#local Rv = 0.7 + (0.2*rand(Rng1));
|
||||||
#local Gv = 0.6 + (0.2*rand(Rng1));
|
#local Gv = 0.4 + (0.5*rand(Rng1));
|
||||||
#local Bv = 0.6 + (0.3*rand(Rng1));
|
#local Bv = 0.6 + (0.4*rand(Rng1));
|
||||||
texture {
|
texture {
|
||||||
pigment { rgb <Rv, Gv, Bv> }
|
pigment { rgb <Rv, Gv, Bv> }
|
||||||
finish { phong 0.51 reflection 0.05 }
|
normal { dents 6.66 scale 0.03+(0.17*rand(Rng1)) }
|
||||||
|
finish { phong 0.51 reflection 0.08 }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
sphere { 0, 0.45 texture { T_WIP_color } }
|
sphere { 0, 0.45 scale <1, 0.717, 1> texture { T_WIP_color } }
|
||||||
#end // for
|
#end // for
|
||||||
}
|
}
|
||||||
#end // macro
|
#end // macro
|
||||||
|
|
||||||
|
#declare Des_Anemones = object
|
||||||
|
{
|
||||||
|
union {
|
||||||
|
object { Anemone_A (3.00-NormClock, 1.50+NormClock)
|
||||||
|
translate < 4, 0, 0> }
|
||||||
|
object { Anemone_A (2.40-NormClock, 2.50+NormClock)
|
||||||
|
translate <-4, 0, 0> }
|
||||||
|
object { Anemone_A (1.40+NormClock, 1.50*NormClock)
|
||||||
|
translate < 0, 0, -4> }
|
||||||
|
object { Anemone_A (1.40+NormClock, 1.50-NormClock)
|
||||||
|
translate < 0, 0, 4> }
|
||||||
|
}
|
||||||
|
}
|
||||||
// =======================================================
|
// =======================================================
|
||||||
/*
|
/*
|
||||||
* new Thu Dec 18 01:14:19 AM UTC 2025
|
* new Thu Dec 18 01:14:19 AM UTC 2025
|
||||||
@@ -45,11 +78,10 @@ union {
|
|||||||
*/
|
*/
|
||||||
#macro Le_ConeStack ()
|
#macro Le_ConeStack ()
|
||||||
|
|
||||||
#ifdef (DEBUG_LEVEL)
|
#ifdef (DEBUG_LEVEL)
|
||||||
#debug "Cone Stack : DEBUG_LEVEL activated\n"
|
#debug "Cone Stack : DEBUG_LEVEL activated\n"
|
||||||
#fopen Log "WS/log.essai" write
|
#fopen Log "WS/log.essai" write
|
||||||
#end // debug level
|
#end // debug level
|
||||||
|
|
||||||
union {
|
union {
|
||||||
#local Hcs = 0.550;
|
#local Hcs = 0.550;
|
||||||
#local Rco = R_basecone * 3.333;
|
#local Rco = R_basecone * 3.333;
|
||||||
@@ -58,11 +90,9 @@ union {
|
|||||||
#local Dy = Foo * (Hcs + 0.0333);
|
#local Dy = Foo * (Hcs + 0.0333);
|
||||||
#local Dz = 0.385 * cos(Foo+NormClock);
|
#local Dz = 0.385 * cos(Foo+NormClock);
|
||||||
#local DV = <Dx, Dy, Dz>;
|
#local DV = <Dx, Dy, Dz>;
|
||||||
|
#ifdef (DEBUG_LEVEL)
|
||||||
#ifdef (DEBUG_LEVEL)
|
#write (Log, Foo, " ", DV, "\n")
|
||||||
#write (Log, Foo, " ", DV, "\n")
|
#end
|
||||||
#end
|
|
||||||
|
|
||||||
union {
|
union {
|
||||||
cone { 0, Rco, <0, Hcs, 0>, 0.001
|
cone { 0, Rco, <0, Hcs, 0>, 0.001
|
||||||
#if (rand(Rng1) < 0.50) texture { Y_Texture }
|
#if (rand(Rng1) < 0.50) texture { Y_Texture }
|
||||||
@@ -78,30 +108,54 @@ union {
|
|||||||
}
|
}
|
||||||
#end // for Foo
|
#end // for Foo
|
||||||
}
|
}
|
||||||
|
#ifdef (DEBUG_LEVEL)
|
||||||
#ifdef (DEBUG_LEVEL)
|
#fclose Log
|
||||||
#fclose Log
|
#end // debug level
|
||||||
#end // debug level
|
|
||||||
|
|
||||||
#end // macro
|
#end // macro
|
||||||
|
|
||||||
|
|
||||||
// =======================================================
|
// =======================================================
|
||||||
/* nouveau du 20 octobre 2025
|
#macro HexoFlash_body (Ra, He)
|
||||||
* Un semblant de wagonnet qui va tourner sur le
|
merge {
|
||||||
* rail circulaire
|
cylinder { 0, y*He, Ra }
|
||||||
*/
|
sphere { y*He, Ra }
|
||||||
|
/* XXX
|
||||||
|
* faire la place pour la lampe
|
||||||
|
*/
|
||||||
|
|
||||||
#declare Les_Wagonnets = object
|
texture { LeGris }
|
||||||
{
|
|
||||||
#local L = 2.4;
|
|
||||||
|
|
||||||
union {
|
|
||||||
object { Wagonnet_0(L) translate <0, 1, 1.9> }
|
|
||||||
object { Wagonnet_0(L+1) translate <0, 3+NormClock, 0> }
|
|
||||||
object { Wagonnet_0(L) translate <0, 1, -1.8> }
|
|
||||||
}
|
}
|
||||||
}
|
#end // macro
|
||||||
|
|
||||||
|
#macro HexoFlash_light (Ra, Val)
|
||||||
|
difference {
|
||||||
|
sphere { 0, Ra*1.46 }
|
||||||
|
#local WB = 0.08;
|
||||||
|
#local H1 = -0.10;
|
||||||
|
#local H2 = 0.10;
|
||||||
|
union {
|
||||||
|
box { <-1, H1, -WB>, <1, H2, WB> }
|
||||||
|
box { <-WB, H1, -1>, <WB, H2, 1> }
|
||||||
|
}
|
||||||
|
texture {
|
||||||
|
#if (rand(Rng1) < 0.70) pigment { color Orange }
|
||||||
|
#else pigment { color Orange }
|
||||||
|
#end
|
||||||
|
finish { emission 0.8 }
|
||||||
|
}
|
||||||
|
scale <1, 1.2, 1>
|
||||||
|
}
|
||||||
|
#end // macro
|
||||||
|
|
||||||
|
#macro HexoFlash (Ra, He)
|
||||||
|
union {
|
||||||
|
#local Ha = 2+rand(Rng1);
|
||||||
|
#local Hb = Ha * 0.8;
|
||||||
|
object { HexoFlash_body (Ra, Ha) }
|
||||||
|
object { HexoFlash_light (Ra, Ha)
|
||||||
|
translate y*Hb }
|
||||||
|
}
|
||||||
|
#end // macro
|
||||||
|
|
||||||
// =======================================================
|
// =======================================================
|
||||||
/*
|
/*
|
||||||
@@ -122,21 +176,37 @@ merge {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// ------------------------------------
|
||||||
// -------------------------------------------------------
|
#declare Texture_du_Vase = texture
|
||||||
|
{
|
||||||
|
pigment {
|
||||||
|
gradient y
|
||||||
|
color_map {
|
||||||
|
[ 0.000 color Green ]
|
||||||
|
[ 0.333 color Gray ]
|
||||||
|
[ 0.500 color Orange ]
|
||||||
|
[ 0.666 color Gray50 ]
|
||||||
|
[ 1.000 color Green ]
|
||||||
|
}
|
||||||
|
turbulence 1.24 // piturb :)
|
||||||
|
scale <1, 0.25, 1>
|
||||||
|
rotate <10, 0, 4>
|
||||||
|
}
|
||||||
|
finish { phong 0.25 }
|
||||||
|
}
|
||||||
|
|
||||||
// -------------------------------------------------------
|
// -------------------------------------------------------
|
||||||
// the place to try new textures
|
// the place to try new textures
|
||||||
#declare ProtoTextures = object
|
#declare ProtoTextures = object
|
||||||
{
|
{
|
||||||
#local TX = 2.55;
|
#local TX = 2.45;
|
||||||
#local TZ = 2.95;
|
#local TZ = 2.95;
|
||||||
#local Kro = 32 + (NormClock * 37);
|
#local Kro = 32 + (NormClock * 666);
|
||||||
union {
|
union {
|
||||||
object { Obj_BasicTexture texture { R_Texture }
|
object { Obj_BasicTexture texture { R_Texture }
|
||||||
rotate y * (rand(Rng1)*Kro)
|
rotate y * (rand(Rng1)*Kro)
|
||||||
translate <TX, 0, -TZ> }
|
translate <TX, 0, -TZ> }
|
||||||
object { Obj_BasicTexture texture { G_Texture }
|
object { Obj_BasicTexture texture { Texture_du_Vase }
|
||||||
rotate y * (rand(Rng1)*Kro)
|
rotate y * (rand(Rng1)*Kro)
|
||||||
translate <TX, 0, 0> }
|
translate <TX, 0, 0> }
|
||||||
object { Obj_BasicTexture texture { B_Texture }
|
object { Obj_BasicTexture texture { B_Texture }
|
||||||
@@ -159,36 +229,145 @@ union {
|
|||||||
|
|
||||||
// =======================================================
|
// =======================================================
|
||||||
/* Les choses, c'est l'espèce de vase avec des tiges
|
/* Les choses, c'est l'espèce de vase avec des tiges
|
||||||
qui bougent, je devrais trouver un nom plus parlant */
|
qui bougent, je devrais trouver un nom plus parlant.
|
||||||
|
- - - - -
|
||||||
|
Mieux, on garde la chose mais on en dérive le vase
|
||||||
|
*/
|
||||||
|
|
||||||
|
// ------------------------------------
|
||||||
|
|
||||||
|
#macro Vase_le_corps_a ()
|
||||||
|
intersection {
|
||||||
|
box { <-5, -5, -5>, <5, 0, 5> }
|
||||||
|
difference {
|
||||||
|
sphere { 0, 0.34 }
|
||||||
|
sphere { 0, 0.30 }
|
||||||
|
scale <1, 1.60, 1>
|
||||||
|
}
|
||||||
|
#local R = rand(Rng1);
|
||||||
|
#if (R < 0.75)
|
||||||
|
texture { Texture_du_Vase rotate y*(clock*3) }
|
||||||
|
#else
|
||||||
|
texture { T_WIP_redwave scale 0.15 + 0.333*rand(Rng1)
|
||||||
|
rotate <75*rand(Rng1), 75*rand(Rng1), 75*rand(Rng1)>
|
||||||
|
}
|
||||||
|
#end
|
||||||
|
}
|
||||||
|
#end
|
||||||
|
|
||||||
|
// ------------------------------------
|
||||||
|
// des poignées sur le haut du vase
|
||||||
|
// XXX pas vraiment au point !
|
||||||
|
#macro Vase_le_corps_b ()
|
||||||
|
union {
|
||||||
|
#for (foo, 0, 359.999, 60)
|
||||||
|
#local Dx = 0.33 * sin(radians(foo));
|
||||||
|
#local Dz = 0.32 * cos(radians(foo));
|
||||||
|
torus { 0.025, 0.015 scale <1, 1.2, 4>
|
||||||
|
rotate z*42 rotate y*(foo-90)
|
||||||
|
translate <Dx, 0, Dz>
|
||||||
|
} // torus
|
||||||
|
#end // end for (foo
|
||||||
|
texture { G_Texture }
|
||||||
|
}
|
||||||
|
#end // end macro
|
||||||
|
|
||||||
|
// ------------------------------------
|
||||||
|
// ASSEMBLER LE CORPS
|
||||||
|
#macro Vase_le_corps ()
|
||||||
|
union {
|
||||||
|
object { Vase_le_corps_a () }
|
||||||
|
object { Vase_le_corps_b () }
|
||||||
|
// this 'translate' must be computed ?
|
||||||
|
translate y*0.95
|
||||||
|
}
|
||||||
|
#end
|
||||||
|
// ------------------------------------
|
||||||
|
// LE PIED
|
||||||
|
|
||||||
|
#macro Vase_le_pied ()
|
||||||
|
union {
|
||||||
|
cylinder { 0, y*0.80, 0.08 }
|
||||||
|
cylinder { 0, y*0.08, 0.20 }
|
||||||
|
sphere { 0, 0.20 scale <1, 0.15, 1> translate y*0.08 }
|
||||||
|
texture { T_WIP_dents scale 0.15 }
|
||||||
|
}
|
||||||
|
#end
|
||||||
|
// ------------------------------------
|
||||||
|
// LES TIGES
|
||||||
|
|
||||||
|
#macro Vase_les_tiges ()
|
||||||
|
union {
|
||||||
|
#local CK = NormClock * (7.876+rand(Rng1));
|
||||||
|
#for (Foo, 0, 9)
|
||||||
|
|
||||||
|
// tout cela est bien tortueux !
|
||||||
|
|
||||||
|
#local CK2 = CK + Foo;
|
||||||
|
#local C2X = (R_C + 0.051) * sin(CK2+rand(Rng1)) * sin(CK*3);
|
||||||
|
#local C2Z = (R_C + 0.051) * (sin(-CK2+rand(Rng1)) *
|
||||||
|
cos(CK*(rand(Rng1))));
|
||||||
|
#local Rt = 0.02+(0.02*Cos_010(NormClock))-0.03*rand(Rng1);
|
||||||
|
#local H = 0.38 + 0.65*rand(Rng1);
|
||||||
|
union {
|
||||||
|
cylinder { 0, <C2X, H, C2Z>, Rt }
|
||||||
|
sphere { <C2X, H, C2Z>, Rt }
|
||||||
|
#local R = rand(Rng1);
|
||||||
|
#if (R < 0.25) texture { tPlasticOrange }
|
||||||
|
#elseif (R < 0.50) texture { tPlasticBlue }
|
||||||
|
#elseif (R < 0.65) texture { tPlasticPrune }
|
||||||
|
#else texture { tPlasticGreen }
|
||||||
|
#end // if
|
||||||
|
}
|
||||||
|
#end // for
|
||||||
|
translate y*0.87
|
||||||
|
}
|
||||||
|
// #debug "== Fin Vase les tiges\n"
|
||||||
|
#end // macro
|
||||||
|
// ------------------------------------
|
||||||
|
// ------------------------------------
|
||||||
|
|
||||||
|
#macro Vase ()
|
||||||
|
union {
|
||||||
|
Vase_le_pied ()
|
||||||
|
Vase_le_corps ()
|
||||||
|
Vase_les_tiges ()
|
||||||
|
}
|
||||||
|
#end // macro
|
||||||
|
|
||||||
|
// ------------------------------------
|
||||||
|
// =======================================================
|
||||||
|
|
||||||
#declare Des_Choses = object
|
#declare Des_Choses = object
|
||||||
{
|
{
|
||||||
union {
|
union {
|
||||||
object { Chose () translate < 2.2, 0, 2.32> }
|
object { Vase () scale 2 translate < 2.2, 0, 2.52> }
|
||||||
object { Chose () translate <-2.9, 0, 3.91> }
|
object { Vase () scale 1.4 translate <-2.9, 0, 3.91> }
|
||||||
object { Chose () translate < 2.9, 0, -4.07> }
|
object { Chose () scale 2 translate < 2.9, 0, -4.07> }
|
||||||
object { Chose () translate <-4.5, 0, -4> }
|
object { Vase () translate <-4.5, 0, -4> }
|
||||||
object { Repere translate 0.05*y }
|
object { Repere translate 0.15*y }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// =======================================================
|
// =======================================================
|
||||||
|
// =======================================================
|
||||||
#declare GyroTrucs = object
|
#declare GyroTrucs = object
|
||||||
{
|
{
|
||||||
union {
|
union {
|
||||||
#for (I, 0, 359, 30)
|
#for (I, 0, 359, 20)
|
||||||
#declare E = 12 + (3*rand(Rng1));
|
#declare E = 12 + (3.5*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));
|
||||||
#local R = rand(Rng1);
|
#local R = rand(Rng1);
|
||||||
#if (R > 0.52)
|
#if (R > 0.76)
|
||||||
object { GyroPhare () translate <Dx, 0, Dz> }
|
object { GyroPhare () translate <Dx, 0, Dz> }
|
||||||
#elseif (R > 0.36)
|
#elseif (R > 0.65)
|
||||||
object { Colonne_A (3.8)
|
object { Obj_BasicTexture
|
||||||
rotate y*(90*rand(Rng1))
|
texture { T_WIP_redwave }
|
||||||
|
scale 0.75
|
||||||
|
rotate y * (5*(.5-rand(Rng1))*clock)
|
||||||
translate <Dx, 0, Dz> }
|
translate <Dx, 0, Dz> }
|
||||||
#else
|
#else
|
||||||
object { Colonne_A (2.8)
|
object { HexoFlash (0.14, 1.85 + (0.444*rand(Rng1)) )
|
||||||
rotate y*(90*rand(Rng1))
|
|
||||||
translate <Dx, 0, Dz> }
|
translate <Dx, 0, Dz> }
|
||||||
#end
|
#end
|
||||||
#end // for
|
#end // for
|
||||||
@@ -203,9 +382,9 @@ object { GyroTrucs }
|
|||||||
{
|
{
|
||||||
union {
|
union {
|
||||||
object { Portique_A () translate z*6.5 }
|
object { Portique_A () translate z*6.5 }
|
||||||
object { Portique_A () scale 2 translate z*2 }
|
object { Portique_A () scale 1.6 translate z*2 }
|
||||||
object { Portique_A () scale 1.8 }
|
object { Portique_A () scale 1.2 }
|
||||||
object { Portique_A () scale 2 translate -z*3 }
|
object { Portique_A () scale 1.4 translate -z*3 }
|
||||||
object { Portique_A () rotate y*9 translate -z*6.5 }
|
object { Portique_A () rotate y*9 translate -z*6.5 }
|
||||||
// object { Fleche translate y }
|
// object { Fleche translate y }
|
||||||
}
|
}
|
||||||
@@ -214,16 +393,19 @@ union {
|
|||||||
|
|
||||||
#debug " !!! ACTION !!!\n"
|
#debug " !!! ACTION !!!\n"
|
||||||
|
|
||||||
|
#local Rv = 0.5 + (0.1*sin(clock*0.113));
|
||||||
|
#local Gv = 0.21;
|
||||||
|
#local Bv = 0.25 * abs(sin(clock*0.014));
|
||||||
light_source {
|
light_source {
|
||||||
<-19, 44, -7>
|
<-32, 40, -7>
|
||||||
colour Gray40
|
colour <Rv, Gv, Bv>
|
||||||
parallel
|
parallel
|
||||||
point_at 0
|
point_at 0
|
||||||
}
|
}
|
||||||
|
|
||||||
// ------------------------------------------------------ ##
|
// ------------------------------------------------------ ##
|
||||||
|
|
||||||
#declare Selector = int(clock/57);
|
#declare Selector = int(clock/90);
|
||||||
#debug concat("Selector = ", str(Selector, 6, 0), "\n")
|
#debug concat("Selector = ", str(Selector, 6, 0), "\n")
|
||||||
|
|
||||||
#declare AngleCam = 27 - 3*Cos_01(NormClock);
|
#declare AngleCam = 27 - 3*Cos_01(NormClock);
|
||||||
@@ -231,41 +413,23 @@ union {
|
|||||||
#switch (Selector)
|
#switch (Selector)
|
||||||
#case (0)
|
#case (0)
|
||||||
object { Des_Choses }
|
object { Des_Choses }
|
||||||
|
#local AngleCam = 17;
|
||||||
#break
|
#break
|
||||||
#case (1)
|
#case (1)
|
||||||
object { Architecture rotate -y*(clock*0.666) }
|
object { Des_Anemones }
|
||||||
#local AngleCam = 31.0;
|
object { Repere translate y*0.08 }
|
||||||
#break
|
#break
|
||||||
#case (2)
|
#case (2)
|
||||||
object { HoleBorder_A (2.12) translate y }
|
object { HoleBorder_B (2.222) }
|
||||||
|
object { ProtoTextures }
|
||||||
#break
|
#break
|
||||||
#case (3)
|
#case (3)
|
||||||
object { HorlogeDouble scale 2 rotate -y*(6*clock) }
|
object { Blob_Boxed scale 3 translate y*2 }
|
||||||
object { Repere translate y*1 }
|
// object { Repere translate y*1 }
|
||||||
#break
|
#break
|
||||||
#case (4)
|
#case (4)
|
||||||
object { Blob_Boxed
|
object { Un_Autre_Cube (0.666) rotate y*42 translate <3, 1.8, 0> }
|
||||||
scale 4.000
|
object { Un_Autre_Cube (0.888) translate <0, 1.8, 2> }
|
||||||
rotate <7, 0, 12> translate 3.7*y
|
|
||||||
rotate -y*(clock*2) }
|
|
||||||
#break
|
|
||||||
#case (5)
|
|
||||||
object { Anemone_A (3.10-NormClock, 1.50+NormClock)
|
|
||||||
translate < 4, 0, 0> }
|
|
||||||
object { Anemone_A (2.40-NormClock, 2.50+NormClock)
|
|
||||||
translate <-4, 0, 0> }
|
|
||||||
object { Anemone_A (1.40+NormClock, 1.50*NormClock)
|
|
||||||
translate < 0, 0, -4> }
|
|
||||||
object { Anemone_A (1.40+NormClock, 1.50-NormClock)
|
|
||||||
translate < 0, 0, 4> }
|
|
||||||
object { Repere }
|
|
||||||
#break
|
|
||||||
#case (6)
|
|
||||||
object { HexaStar scale 3 rotate y*(clock*0.5) translate y*3 }
|
|
||||||
#break
|
|
||||||
#case (7)
|
|
||||||
#local Pos = <0.5-NormClock, 0, 0>;
|
|
||||||
object { ProtoTextures rotate -y*(55*Cos_01(NormClock)) }
|
|
||||||
#break
|
#break
|
||||||
|
|
||||||
#end // switch selector
|
#end // switch selector
|
||||||
@@ -289,7 +453,7 @@ plane {
|
|||||||
camera {
|
camera {
|
||||||
orthographic
|
orthographic
|
||||||
location <CamX, CamY, CamZ>
|
location <CamX, CamY, CamZ>
|
||||||
look_at <0, 1.6, 0>
|
look_at <0, 1.5, 0>
|
||||||
|
|
||||||
right <image_width/image_height, 0, 0>
|
right <image_width/image_height, 0, 0>
|
||||||
angle AngleCam
|
angle AngleCam
|
||||||
|
|||||||
28
gadgets.inc
28
gadgets.inc
@@ -135,8 +135,11 @@ texture { T_WIP_bluewave scale 0.21 rotate <clock, clock/2, clock/3> }
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* ======================================================= */
|
/* ======================================================= */
|
||||||
|
/*
|
||||||
|
* 18 février 2026, cette horloge mérite vraiment
|
||||||
|
* d'être refaite de fond en comble, parce que ce
|
||||||
|
* code est vraiment gruik.
|
||||||
|
*/
|
||||||
|
|
||||||
#declare Horloge = object
|
#declare Horloge = object
|
||||||
{
|
{
|
||||||
@@ -152,7 +155,7 @@ scale 1.96
|
|||||||
rotate 90*x
|
rotate 90*x
|
||||||
translate <-4.5, 0.046, 0>
|
translate <-4.5, 0.046, 0>
|
||||||
}
|
}
|
||||||
// =======================================================
|
// ----------------------------------------------------------
|
||||||
// nouveau du 3 janvier 2026
|
// nouveau du 3 janvier 2026
|
||||||
#local Horloge2 = object
|
#local Horloge2 = object
|
||||||
{
|
{
|
||||||
@@ -162,14 +165,14 @@ object { Horloge scale <1, 0.28, 1> rotate -x*90
|
|||||||
#declare HorlogeDouble = object
|
#declare HorlogeDouble = object
|
||||||
{
|
{
|
||||||
union {
|
union {
|
||||||
box { <-3.20, 0.0, -0.07>, <3.20, 1.68, 0.07>
|
box { <-3.10, 0.0, -0.06>, <3.10, 1.68, 0.06>
|
||||||
texture { LeGris } }
|
texture { LeGris } }
|
||||||
#local EC = 0.12;
|
#local EC = 0.18;
|
||||||
object { Horloge2 rotate y*180 translate z*EC }
|
object { Horloge2 rotate y*180 translate z*EC }
|
||||||
object { Horloge2 translate -z*EC }
|
object { Horloge2 translate -z*EC }
|
||||||
}
|
}
|
||||||
scale 0.51
|
scale 0.42
|
||||||
translate y*0.999
|
translate y*0.50
|
||||||
}
|
}
|
||||||
// =======================================================
|
// =======================================================
|
||||||
/*
|
/*
|
||||||
@@ -200,7 +203,7 @@ prism {
|
|||||||
#macro HexaPole_tubes ()
|
#macro HexaPole_tubes ()
|
||||||
#local R = 0.033;
|
#local R = 0.033;
|
||||||
#local E = 0.49;
|
#local E = 0.49;
|
||||||
#local H = H_cone*0.705;
|
#local H = H_cone*0.666;
|
||||||
union {
|
union {
|
||||||
#for (A, 0, 359, 60)
|
#for (A, 0, 359, 60)
|
||||||
#local Xp = E * cos(radians(A));
|
#local Xp = E * cos(radians(A));
|
||||||
@@ -274,12 +277,13 @@ union {
|
|||||||
texture { Soft_Silver scale 6.50 }
|
texture { Soft_Silver scale 6.50 }
|
||||||
}
|
}
|
||||||
#end
|
#end
|
||||||
// ------------------------------------------------------ ##
|
// ----------------------------------------------------------- ##
|
||||||
|
/* XXX +++ make this a #macro +++ */
|
||||||
#declare Blob_Boxed = object
|
#declare Blob_Boxed = object
|
||||||
{
|
{
|
||||||
union {
|
union {
|
||||||
object { OpenBox(0.5, 0.01) }
|
object { OpenBox(0.5, 0.01) }
|
||||||
object { HexaBlob }
|
object { HexaBlob rotate <clock*2.2, clock*2.7, clock*1.8> }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// =======================================================
|
// =======================================================
|
||||||
@@ -289,7 +293,7 @@ union {
|
|||||||
*/
|
*/
|
||||||
#macro Bubble ()
|
#macro Bubble ()
|
||||||
sphere {
|
sphere {
|
||||||
0, 0.070
|
0, 0.070 + 0.056*rand(Rng1)
|
||||||
#local R = rand(Rng1);
|
#local R = rand(Rng1);
|
||||||
#if ( R < 0.25 ) texture { Ruby_Glass }
|
#if ( R < 0.25 ) texture { Ruby_Glass }
|
||||||
#elseif ( R < 0.50 ) texture { Orange_Glass }
|
#elseif ( R < 0.50 ) texture { Orange_Glass }
|
||||||
@@ -314,7 +318,7 @@ union {
|
|||||||
#declare Les_Machins = object
|
#declare Les_Machins = object
|
||||||
{
|
{
|
||||||
union {
|
union {
|
||||||
#local Rk = 3.90 + NormClock;
|
#local Rk = 3.60 + NormClock;
|
||||||
#for (foo, 0, 359, 45)
|
#for (foo, 0, 359, 45)
|
||||||
#local Xpos = Rk * sin(radians(foo));
|
#local Xpos = Rk * sin(radians(foo));
|
||||||
#local Zpos = Rk * cos(radians(foo));
|
#local Zpos = Rk * cos(radians(foo));
|
||||||
|
|||||||
3
gif89a/README.md
Normal file
3
gif89a/README.md
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
|
||||||
|
|
||||||
|
Space for the flashy Compuserve pictures.
|
||||||
24
globals.inc
24
globals.inc
@@ -11,7 +11,7 @@ global_settings {
|
|||||||
#include "stones.inc"
|
#include "stones.inc"
|
||||||
#include "woods.inc"
|
#include "woods.inc"
|
||||||
|
|
||||||
#declare Rng1 = seed(1221);
|
#declare Rng1 = seed(314);
|
||||||
#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);
|
||||||
@@ -36,7 +36,7 @@ global_settings {
|
|||||||
#declare H_gyro = 1.80;
|
#declare H_gyro = 1.80;
|
||||||
#declare H_gylampe = 0.25;
|
#declare H_gylampe = 0.25;
|
||||||
|
|
||||||
#declare H_QuadriLight = 37;
|
#declare H_QuadriLight = 42;
|
||||||
#declare E_QuadriLight = SzSol * 1.35;
|
#declare E_QuadriLight = SzSol * 1.35;
|
||||||
|
|
||||||
#declare R_circular = (SzSol * 1.60);
|
#declare R_circular = (SzSol * 1.60);
|
||||||
@@ -77,7 +77,7 @@ finish { phong 0.70 reflection 0.05 }
|
|||||||
#declare T_Planete_B = texture
|
#declare T_Planete_B = texture
|
||||||
{
|
{
|
||||||
pigment { rgb <0.42, 0.50, 0.70> }
|
pigment { rgb <0.42, 0.50, 0.70> }
|
||||||
normal { dents 0.14 scale 0.5}
|
normal { dents 0.18 scale 0.5}
|
||||||
finish { metallic 0.50 reflection 0.33 }
|
finish { metallic 0.50 reflection 0.33 }
|
||||||
}
|
}
|
||||||
/* ------------------------------------------------------------ */
|
/* ------------------------------------------------------------ */
|
||||||
@@ -227,6 +227,24 @@ scale <3, 4, 3>
|
|||||||
finish { phong 1 }
|
finish { phong 1 }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#declare T_WIP_redwave = texture
|
||||||
|
{
|
||||||
|
pigment {
|
||||||
|
wood
|
||||||
|
color_map {
|
||||||
|
[0.0 color Gray60 ]
|
||||||
|
[0.49 color Gray80 ]
|
||||||
|
[0.51 color Red ]
|
||||||
|
[1.0 color Red ]
|
||||||
|
}
|
||||||
|
turbulence 0.14
|
||||||
|
translate <NormClock*0.5, sqrt(NormClock*0.49),
|
||||||
|
NormClock*0.6>
|
||||||
|
scale <0.7, 0.23, 1>
|
||||||
|
}
|
||||||
|
finish { ambient 0.7 }
|
||||||
|
}
|
||||||
|
|
||||||
// le 10 fevrier 2026 -----------------
|
// le 10 fevrier 2026 -----------------
|
||||||
#declare T_WIP_dents = texture
|
#declare T_WIP_dents = texture
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ 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 <clock, clock, clock>
|
texture { T_WIP_bluewave rotate <clock, clock, clock>
|
||||||
scale 0.79 }
|
scale 0.59 }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#declare Cabane_Compteur = object
|
#declare Cabane_Compteur = object
|
||||||
|
|||||||
@@ -15,13 +15,15 @@ object { Le_Decor }
|
|||||||
|
|
||||||
#declare Loc_cam = <0.63, 2, 2*NormClock> + (Pos_RedB_0 * 1.32);
|
#declare Loc_cam = <0.63, 2, 2*NormClock> + (Pos_RedB_0 * 1.32);
|
||||||
|
|
||||||
|
#declare Lat_Y = 1.21 + 0.16*NormClock;
|
||||||
|
|
||||||
camera {
|
camera {
|
||||||
location Loc_cam
|
location Loc_cam
|
||||||
look_at Pos_RedB_0 + <0, 1.20, 0>
|
look_at Pos_RedB_0 + <0, Lat_Y, 0>
|
||||||
right <image_width/image_height, 0, 0>
|
right <image_width/image_height, 0, 0>
|
||||||
// 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 40 - 14 * Cos_01(NormClock)
|
angle 40 - 15 * Cos_01(NormClock)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -16,11 +16,11 @@ object { Le_Decor }
|
|||||||
|
|
||||||
// object { Repere scale 2 }
|
// object { Repere scale 2 }
|
||||||
|
|
||||||
#declare Loc_cam = <2, 2.7-NormClock, 1> + (Pos_RedB_1 * 1.303);
|
#declare Loc_cam = <2, 2.7-NormClock, 1> + (Pos_RedB_1 * 1.308);
|
||||||
|
|
||||||
camera {
|
camera {
|
||||||
location Loc_cam
|
location Loc_cam
|
||||||
#local H = 1.16 + (NormClock*0.36);
|
#local H = 1.16 + (NormClock*0.39);
|
||||||
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>
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ object { Le_Decor }
|
|||||||
|
|
||||||
// object { Repere translate <10, 1, 10> }
|
// object { Repere translate <10, 1, 10> }
|
||||||
|
|
||||||
#declare LOC = <-3.4 - NormClock, 1.60, 31.9-NormClock>;
|
#declare LOC = <-3.4 - NormClock, 4.57, 31.9-NormClock>;
|
||||||
|
|
||||||
#declare LAT = <P_hexawood.x, 0.95+(NormClock*0.11), P_hexawood.z>;
|
#declare LAT = <P_hexawood.x, 0.95+(NormClock*0.11), P_hexawood.z>;
|
||||||
|
|
||||||
|
|||||||
@@ -87,7 +87,7 @@ light_source { <23, 10, 15>, rgb <0.77, 0.79, 0.80> }
|
|||||||
|
|
||||||
// -------------------------------------------------------------
|
// -------------------------------------------------------------
|
||||||
camera {
|
camera {
|
||||||
location <9+NormClock, 1.60+(8.6*NormClock), 11.59>
|
location <9+NormClock, 1.60+(11*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)
|
||||||
@@ -95,6 +95,6 @@ camera {
|
|||||||
aperture 0.046
|
aperture 0.046
|
||||||
blur_samples 30
|
blur_samples 30
|
||||||
#end
|
#end
|
||||||
angle 57
|
angle 61 - (5*NormClock)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ object { Le_Decor }
|
|||||||
|
|
||||||
#declare CamX = 1.72;
|
#declare CamX = 1.72;
|
||||||
#declare CamY = 7 + (4*Cos_01(NormClock));
|
#declare CamY = 7 + (4*Cos_01(NormClock));
|
||||||
|
#declare CamZ = -2.5;
|
||||||
|
|
||||||
#declare LatX = 20 * cos(CK*1.08);
|
#declare LatX = 20 * cos(CK*1.08);
|
||||||
#declare LatY = 3.0 - sqrt(NormClock);
|
#declare LatY = 3.0 - sqrt(NormClock);
|
||||||
@@ -28,7 +29,7 @@ object { Le_Decor }
|
|||||||
|
|
||||||
camera {
|
camera {
|
||||||
// orthographic
|
// orthographic
|
||||||
location <CamX, CamY, 0>
|
location <CamX, CamY, CamZ>
|
||||||
look_at <LatX, LatY, LatZ>
|
look_at <LatX, LatY, LatZ>
|
||||||
right <image_width/image_height, 0, 0>
|
right <image_width/image_height, 0, 0>
|
||||||
angle 65 + (NormClock * 15)
|
angle 65 + (NormClock * 15)
|
||||||
|
|||||||
@@ -13,22 +13,26 @@
|
|||||||
|
|
||||||
object { Le_Decor }
|
object { Le_Decor }
|
||||||
|
|
||||||
|
// object { Repere scale 5 translate y*4 }
|
||||||
|
|
||||||
/* =============================================================== */
|
/* =============================================================== */
|
||||||
|
|
||||||
#declare CamX = 90 - (4 * NormClock);
|
#declare CamX = 90 - (4 * NormClock);
|
||||||
#declare CamY = 207;
|
#declare CamY = 176;
|
||||||
#declare CamZ = 170 - (33 * NormClock);
|
#declare CamZ = 170 - (33 * NormClock);
|
||||||
|
|
||||||
|
/* XXX to be verified !
|
||||||
#declare LatX = Loc_Patrouille.x;
|
#declare LatX = Loc_Patrouille.x;
|
||||||
#declare LatY = Loc_Patrouille.y;
|
#declare LatY = Loc_Patrouille.y;
|
||||||
#declare LatZ = Loc_Patrouille.z;
|
#declare LatZ = Loc_Patrouille.z;
|
||||||
|
*/
|
||||||
|
|
||||||
camera {
|
camera {
|
||||||
location <CamX, CamY, CamZ>
|
location <CamX, CamY, CamZ>
|
||||||
look_at Loc_Patrouille
|
look_at Loc_Patrouille
|
||||||
|
|
||||||
right <image_width/image_height, 0, 0>
|
right <image_width/image_height, 0, 0>
|
||||||
angle 16
|
angle 13
|
||||||
}
|
}
|
||||||
|
|
||||||
/* =============================================================== */
|
/* =============================================================== */
|
||||||
|
|||||||
@@ -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 3.5
|
angle 5.1
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* H E X A C O N E - S C E N E
|
* H E X A C O N E - S C E N E
|
||||||
* nouveau projet Thu Dec 5 11:37:05 AM UTC 2024
|
* nouveau projet Thu Dec 5 11:37:05 AM UTC 2024
|
||||||
|
* The first one...
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#version 3.7;
|
#version 3.7;
|
||||||
@@ -14,17 +15,17 @@
|
|||||||
|
|
||||||
object { Le_Decor }
|
object { Le_Decor }
|
||||||
|
|
||||||
#declare CK = 144 + (clock * 0.27);
|
#declare CK = 144 + (clock * 0.25);
|
||||||
|
|
||||||
#declare Dcam = 3.75;
|
#declare Dcam = 3.75;
|
||||||
#declare CamX = Dcam * cos(radians(CK+0.9));
|
#declare CamX = Dcam * cos(radians(CK+0.9));
|
||||||
#declare CamZ = Dcam * 1.20 * sin(radians(CK));
|
#declare CamZ = Dcam * 1.20 * sin(radians(CK));
|
||||||
|
|
||||||
#declare LatZ = 2.45 + (0.9 * Cos_010(NormClock));
|
#declare LatY = 2.45 + (1.47 * Cos_010(NormClock));
|
||||||
|
|
||||||
camera {
|
camera {
|
||||||
location <CamX, 1.97, CamZ>
|
location <CamX, 1.97, CamZ>
|
||||||
look_at <0.03, LatZ, 0.17>
|
look_at <0.03, LatY, 0.17>
|
||||||
right <image_width/image_height, 0, 0>
|
right <image_width/image_height, 0, 0>
|
||||||
// focal_point Lat
|
// focal_point Lat
|
||||||
// aperture 0.046
|
// aperture 0.046
|
||||||
|
|||||||
@@ -15,12 +15,12 @@ object { Le_Decor }
|
|||||||
// XXX instrumenter la caméra serait un GROS plus !!!
|
// XXX instrumenter la caméra serait un GROS plus !!!
|
||||||
// =======================================================
|
// =======================================================
|
||||||
|
|
||||||
#declare Debut = <-33, 89, 289> ;
|
#declare Debut = <-33, 92, 289> ;
|
||||||
#declare Fin = < 36, 81, -2> ;
|
#declare Fin = < 36, 83, -2> ;
|
||||||
#declare Pos = sqrt(NormClock);
|
#declare Pos = sqrt(NormClock);
|
||||||
#declare PosCam = Interpolate(Debut, Fin, Pos);
|
#declare PosCam = Interpolate(Debut, Fin, Pos);
|
||||||
|
|
||||||
#declare LatX = 0.614 * sin(NormClock*9.7);
|
#declare LatX = 0.614 * sin(NormClock*13.37);
|
||||||
#declare LatZ = -(150 + (7*NormClock));
|
#declare LatZ = -(150 + (7*NormClock));
|
||||||
#declare LatCam = PosCam + <LatX, -95, LatZ>;
|
#declare LatCam = PosCam + <LatX, -95, LatZ>;
|
||||||
|
|
||||||
@@ -30,6 +30,6 @@ camera {
|
|||||||
location PosCam
|
location PosCam
|
||||||
look_at LatCam
|
look_at LatCam
|
||||||
right <image_width/image_height, 0, 0>
|
right <image_width/image_height, 0, 0>
|
||||||
angle 66
|
angle 62
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ if [ $# == 1 ] ; then
|
|||||||
SEQ=$1
|
SEQ=$1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
GIF="t-$SEQ.gif"
|
GIF="gif89a/$SEQ.gif"
|
||||||
|
|
||||||
# echo "seq $SEQ -> $GIF" | tee -a WS/log
|
# echo "seq $SEQ -> $GIF" | tee -a WS/log
|
||||||
|
|
||||||
|
|||||||
@@ -41,8 +41,8 @@ FILMNAME="$2"
|
|||||||
# echo "Encoding $SRCDIR to $FILMNAME" | tee -a WS/log
|
# echo "Encoding $SRCDIR to $FILMNAME" | tee -a WS/log
|
||||||
ffmpeg -nostdin \
|
ffmpeg -nostdin \
|
||||||
-y -r 30 -f image2 -i frames/${SRCDIR}/%05d.png \
|
-y -r 30 -f image2 -i frames/${SRCDIR}/%05d.png \
|
||||||
-metadata artist='--[ tTh ]--' \
|
-metadata artist='--[ tTh des Bourtoulots ]--' \
|
||||||
-metadata title='-- HexaCone --' \
|
-metadata title='--[ la famille HexaCone ]--' \
|
||||||
-c:v libx264 \
|
-c:v libx264 \
|
||||||
-pix_fmt yuv420p \
|
-pix_fmt yuv420p \
|
||||||
-tune film \
|
-tune film \
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ IDX=0
|
|||||||
SPOOL="frames/Spool"
|
SPOOL="frames/Spool"
|
||||||
SEQNAME="none"
|
SEQNAME="none"
|
||||||
TMP="WS/tmp.png"
|
TMP="WS/tmp.png"
|
||||||
FONTE="Helvetica-Bold"
|
FONTE="FreeSerif-Bold"
|
||||||
|
|
||||||
source tools/fonctions.sh
|
source tools/fonctions.sh
|
||||||
|
|
||||||
@@ -39,13 +39,13 @@ tools/plot-timing.sh $1
|
|||||||
local NBRE=78
|
local NBRE=78
|
||||||
|
|
||||||
convert "WS/negatif.png" \
|
convert "WS/negatif.png" \
|
||||||
-gravity north \
|
-gravity center \
|
||||||
-font $FONTE \
|
-font $FONTE \
|
||||||
-pointsize 100 \
|
-pointsize 139 \
|
||||||
-kerning 8 \
|
-kerning 8 \
|
||||||
-fill $TEXTCOL \
|
-fill $TEXTCOL \
|
||||||
-strokewidth 2 -stroke $STROKOL \
|
-strokewidth 3 -stroke $STROKOL \
|
||||||
-annotate +0+530 "$1" \
|
-annotate +0+0 "$1" \
|
||||||
${INTER}
|
${INTER}
|
||||||
|
|
||||||
for foo in $(seq 0 $NBRE)
|
for foo in $(seq 0 $NBRE)
|
||||||
@@ -80,7 +80,7 @@ local NBRE=300
|
|||||||
local SRC="frames/hexacone/00199.png"
|
local SRC="frames/hexacone/00199.png"
|
||||||
local GRAY="/dev/shm/tmp-titre.png"
|
local GRAY="/dev/shm/tmp-titre.png"
|
||||||
|
|
||||||
convert -colorspace gray -colors 23 $SRC $GRAY
|
convert -colorspace gray -colors 90 $SRC $GRAY
|
||||||
|
|
||||||
for foo in $(seq 0 $NBRE)
|
for foo in $(seq 0 $NBRE)
|
||||||
do
|
do
|
||||||
@@ -91,7 +91,7 @@ do
|
|||||||
-pointsize 140 \
|
-pointsize 140 \
|
||||||
-kerning 6 \
|
-kerning 6 \
|
||||||
-fill $TEXTCOL \
|
-fill $TEXTCOL \
|
||||||
-strokewidth 5 -stroke $STROKOL \
|
-strokewidth 3 -stroke $STROKOL \
|
||||||
-annotate +0+${Ypos} "La famille\nHexaCone" \
|
-annotate +0+${Ypos} "La famille\nHexaCone" \
|
||||||
${TMP}
|
${TMP}
|
||||||
# identify ${TMP}
|
# identify ${TMP}
|
||||||
@@ -107,9 +107,9 @@ local NBRE=180
|
|||||||
datetime=$(LANG=fr date -u +"%Y/%m/%d %H:%M")
|
datetime=$(LANG=fr date -u +"%Y/%m/%d %H:%M")
|
||||||
echo " $datetime" | tee -a WS/log
|
echo " $datetime" | tee -a WS/log
|
||||||
|
|
||||||
local SRC="frames/escadrille/00449.png"
|
local SRC="frames/patrouille/00165.png"
|
||||||
local GRAY="/dev/shm/tmp-titre.png"
|
local GRAY="/dev/shm/tmp-fin.png"
|
||||||
convert -colorspace gray -colors 60 $SRC $GRAY
|
convert -colorspace gray -colors 90 $SRC $GRAY
|
||||||
|
|
||||||
for foo in $(seq 0 $NBRE)
|
for foo in $(seq 0 $NBRE)
|
||||||
do
|
do
|
||||||
@@ -130,6 +130,7 @@ do
|
|||||||
${TMP}
|
${TMP}
|
||||||
# identify ${TMP}
|
# identify ${TMP}
|
||||||
copy_a_file ${TMP}
|
copy_a_file ${TMP}
|
||||||
|
|
||||||
printf "."
|
printf "."
|
||||||
done
|
done
|
||||||
echo
|
echo
|
||||||
|
|||||||
@@ -40,17 +40,18 @@ do
|
|||||||
fi
|
fi
|
||||||
set -e
|
set -e
|
||||||
sqn=$(echo ${SEQNAME} | tr [a-z] [A-Z])
|
sqn=$(echo ${SEQNAME} | tr [a-z] [A-Z])
|
||||||
txt=$(printf "%s %03d" ${sqn} ${frame} | \
|
txt=$(printf "%03d" ${frame} | tr '01' 'ol')
|
||||||
tr '01' 'ol')
|
|
||||||
# echo $frame $img $txt
|
# echo $frame $img $txt
|
||||||
convert ${TMPIMG} \
|
convert ${TMPIMG} \
|
||||||
-font Courier-Bold \
|
-font Courier-Bold \
|
||||||
-pointsize 44 \
|
-pointsize 48 \
|
||||||
-kerning 3 \
|
-kerning 4 \
|
||||||
-fill ${TEXTCOL} \
|
-strokewidth 1 \
|
||||||
-strokewidth 2 -stroke $STROKOL \
|
-fill ${STROKOL} -stroke ${TEXTCOL} \
|
||||||
-gravity north \
|
-gravity south-west \
|
||||||
-annotate +0+5 "$txt" \
|
-annotate +25+5 "$txt" \
|
||||||
|
-gravity south-east \
|
||||||
|
-annotate +25+5 "$sqn" \
|
||||||
${img}
|
${img}
|
||||||
fin=$(date +%s)
|
fin=$(date +%s)
|
||||||
echo ; sleep 1
|
echo ; sleep 1
|
||||||
|
|||||||
@@ -34,8 +34,7 @@ do
|
|||||||
# echo $imgA $imgB
|
# echo $imgA $imgB
|
||||||
printf "%8d" $frame
|
printf "%8d" $frame
|
||||||
composite $imgA $imgB \
|
composite $imgA $imgB \
|
||||||
-blend 50% \
|
-blend 25% \
|
||||||
-blur 1x1 \
|
|
||||||
$imgC
|
$imgC
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|||||||
@@ -11,6 +11,7 @@
|
|||||||
#include "all.inc"
|
#include "all.inc"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
* XXX
|
||||||
* why this two moving hexathings are not in "dynamic.inc" ?
|
* why this two moving hexathings are not in "dynamic.inc" ?
|
||||||
*/
|
*/
|
||||||
object { HexaCone () rotate z*9.1 translate <7, 3+NormClock, -8> }
|
object { HexaCone () rotate z*9.1 translate <7, 3+NormClock, -8> }
|
||||||
@@ -28,7 +29,7 @@ object { HexaWood translate P }
|
|||||||
|
|
||||||
object { Le_Decor }
|
object { Le_Decor }
|
||||||
|
|
||||||
#declare CamY = 36 - (10.01 * Cos_01(NormClock));
|
#declare CamY = 47 - (9.50 * Cos_01(NormClock));
|
||||||
#declare LatY = -4 + ( 2.12 * NormClock);
|
#declare LatY = -4 + ( 2.12 * NormClock);
|
||||||
|
|
||||||
camera {
|
camera {
|
||||||
@@ -38,5 +39,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 45 + (63*NormClock)
|
angle 45 + (65*NormClock)
|
||||||
}
|
}
|
||||||
|
|||||||
20
trident.pov
20
trident.pov
@@ -16,13 +16,25 @@ object { Le_Decor }
|
|||||||
// object { Repere scale 2 }
|
// object { Repere scale 2 }
|
||||||
|
|
||||||
#declare CK = 0.8 - (NormClock * 0.71);
|
#declare CK = 0.8 - (NormClock * 0.71);
|
||||||
#declare DX_cam = 6.9 * cos(CK);
|
#if (NormClock < 0.5000)
|
||||||
#declare DZ_cam = 5.4 * sin(CK);
|
#declare DX_cam = -6.9 * cos(CK);
|
||||||
#declare Loc_cam = <DX_cam, 1.0, DZ_cam> + Pos_RedB_2;
|
#declare DY_cam = 1.0;
|
||||||
|
#declare DZ_cam = -5.4 * sin(CK);
|
||||||
|
|
||||||
|
#declare DY_lat = 2.10 + NormClock;
|
||||||
|
#else
|
||||||
|
#declare DX_cam = -4.9 * sin(CK);
|
||||||
|
#declare DY_cam = 9.9 + (5*NormClock);
|
||||||
|
#declare DZ_cam = -2.6 * cos(CK);
|
||||||
|
|
||||||
|
#declare DY_lat = 0;
|
||||||
|
#end
|
||||||
|
|
||||||
|
#declare Loc_cam = <DX_cam, DY_cam, DZ_cam> + Pos_RedB_2;
|
||||||
|
|
||||||
camera {
|
camera {
|
||||||
location Loc_cam
|
location Loc_cam
|
||||||
look_at Pos_RedB_2 + <0, 1.95+NormClock, 0>
|
look_at Pos_RedB_2 + <0, DY_lat, 0>
|
||||||
right <image_width/image_height, 0, 0>
|
right <image_width/image_height, 0, 0>
|
||||||
|
|
||||||
// focal_point <0.37, 0.0, 0>
|
// focal_point <0.37, 0.0, 0>
|
||||||
|
|||||||
@@ -24,8 +24,9 @@ difference {
|
|||||||
}
|
}
|
||||||
#end // for
|
#end // for
|
||||||
#local R = rand(Rng1);
|
#local R = rand(Rng1);
|
||||||
#if (R < 0.42) texture { LeGris }
|
#if (R < 0.42) texture { LeGris }
|
||||||
#else texture { T_Beton_1 }
|
#elseif (R < 0.64) texture { T_Beton_2 }
|
||||||
|
#else texture { T_Beton_1 }
|
||||||
#end
|
#end
|
||||||
}
|
}
|
||||||
#end
|
#end
|
||||||
@@ -263,7 +264,7 @@ difference {
|
|||||||
|
|
||||||
#local R = rand(Rng1);
|
#local R = rand(Rng1);
|
||||||
// #debug concat("Random = ", str(R, 6, 4), "\n")
|
// #debug concat("Random = ", str(R, 6, 4), "\n")
|
||||||
#if ( R < 0.23 ) texture { T_Planete_A }
|
#if ( R < 0.23 ) texture { T_Planete_B }
|
||||||
#elseif ( R < 0.56 ) texture { T_Beton_1 }
|
#elseif ( R < 0.56 ) texture { T_Beton_1 }
|
||||||
#else texture { T_Beton_2 }
|
#else texture { T_Beton_2 }
|
||||||
#end // if
|
#end // if
|
||||||
|
|||||||
Reference in New Issue
Block a user