2024-12-16 03:53:42 +11:00
|
|
|
/*
|
2024-12-31 22:51:12 +11:00
|
|
|
* H E X A C O N E - E S S A I
|
2025-01-08 10:13:37 +11:00
|
|
|
* nouveau projet du Thu Dec 5 11:37:05 AM UTC 2024
|
2024-12-16 03:53:42 +11:00
|
|
|
*/
|
|
|
|
|
|
|
|
#version 3.7;
|
|
|
|
|
2024-12-29 14:56:10 +11:00
|
|
|
#include "globals.inc"
|
2024-12-24 06:09:00 +11:00
|
|
|
|
2024-12-16 03:53:42 +11:00
|
|
|
#include "contexte.inc"
|
2024-12-23 01:05:36 +11:00
|
|
|
#include "elements.inc"
|
2025-01-08 10:13:37 +11:00
|
|
|
#include "hexabenz.inc"
|
2024-12-23 01:05:36 +11:00
|
|
|
|
|
|
|
// =======================================================
|
|
|
|
|
2025-01-14 10:38:40 +11:00
|
|
|
#macro GyroPhare_mat ()
|
|
|
|
cylinder {
|
|
|
|
0, y*H_gyro, R_gyro
|
|
|
|
#if (rand(Rng1) < 0.5)
|
|
|
|
texture { T_Stone25 scale 1+rand(Rng1) }
|
|
|
|
#else
|
|
|
|
texture { T_Stone6 }
|
|
|
|
#end
|
|
|
|
}
|
|
|
|
#end // macro
|
|
|
|
|
|
|
|
#macro GyroPhare_lampe ()
|
|
|
|
union {
|
|
|
|
difference {
|
|
|
|
cylinder { 0, y*0.20, R_gyro }
|
|
|
|
cylinder { y*0.01, y*0.19, R_gyro*0.97 }
|
|
|
|
#local WB = 0.015;
|
|
|
|
box { <-1, 0.03, -WB>, <1, 0.18, WB> }
|
|
|
|
box { <-WB, 0.03, -1>, <WB, 0.18, 1> }
|
|
|
|
#undef WB
|
|
|
|
pigment { color White }
|
|
|
|
rotate y*(0.5-rand(Rng1))*clock
|
|
|
|
}
|
|
|
|
light_source { y*0.10 rgb <0.8, 0.9, 0.999999999> }
|
|
|
|
}
|
|
|
|
#end // macro
|
|
|
|
|
|
|
|
#macro GyroPhare ()
|
|
|
|
union {
|
|
|
|
object { GyroPhare_mat () }
|
|
|
|
object { GyroPhare_lampe ()
|
|
|
|
// rotate y*rand(Rng1)*clock
|
|
|
|
translate y*(H_gyro+0.02) }
|
|
|
|
}
|
|
|
|
#end // macro
|
|
|
|
// =======================================================
|
|
|
|
|
2025-01-08 10:13:37 +11:00
|
|
|
#macro Bubble ()
|
|
|
|
sphere {
|
2025-01-14 10:38:40 +11:00
|
|
|
0, 0.06
|
2025-01-12 12:33:39 +11:00
|
|
|
#if ( rand(Rng1) < 0.333 )
|
|
|
|
texture { Ruby_Glass }
|
|
|
|
#elseif ( rand(Rng1) < 0.666 )
|
2025-01-14 10:38:40 +11:00
|
|
|
texture { Orange_Glass }
|
2025-01-12 12:33:39 +11:00
|
|
|
#else
|
2025-01-14 10:38:40 +11:00
|
|
|
texture { Gold_Nugget }
|
2025-01-08 10:13:37 +11:00
|
|
|
#end
|
|
|
|
}
|
|
|
|
#end
|
2024-12-21 00:24:45 +11:00
|
|
|
|
2025-01-08 10:13:37 +11:00
|
|
|
#macro Un_Machin ()
|
|
|
|
union {
|
2025-01-14 10:38:40 +11:00
|
|
|
#for (Y, 1, 8, 1)
|
2025-01-08 10:13:37 +11:00
|
|
|
object { Bubble() translate y*Y*0.1 }
|
|
|
|
#end
|
2024-12-31 22:51:12 +11:00
|
|
|
}
|
2025-01-08 10:13:37 +11:00
|
|
|
#end
|
2024-12-31 22:51:12 +11:00
|
|
|
|
2025-01-08 10:13:37 +11:00
|
|
|
#declare Les_Machins = object
|
|
|
|
{
|
|
|
|
union {
|
2025-01-14 10:38:40 +11:00
|
|
|
#local Rk = 4.15;
|
|
|
|
#for (foo, 0, 360, 15)
|
|
|
|
#local Xpos = Rk * sin(radians(foo));
|
|
|
|
#local Zpos = Rk * cos(radians(foo));
|
|
|
|
#if ( rand(Rng1) < 0.40 )
|
|
|
|
object { GyroPhare () translate <Xpos, 0, Zpos> }
|
2025-01-12 12:33:39 +11:00
|
|
|
#else
|
2025-01-14 10:38:40 +11:00
|
|
|
object { Un_Machin () translate <Xpos, 0.33, Zpos> }
|
2025-01-12 12:33:39 +11:00
|
|
|
#end
|
|
|
|
|
2025-01-08 10:13:37 +11:00
|
|
|
#end
|
2025-01-14 10:38:40 +11:00
|
|
|
|
|
|
|
#undef Rk
|
2025-01-08 10:13:37 +11:00
|
|
|
}
|
|
|
|
}
|
2024-12-31 22:51:12 +11:00
|
|
|
|
2025-01-14 10:38:40 +11:00
|
|
|
object { Les_Machins translate y*0.01}
|
2024-12-31 22:51:12 +11:00
|
|
|
|
2025-01-14 10:38:40 +11:00
|
|
|
object { Le_Sol }
|
2025-01-08 10:13:37 +11:00
|
|
|
// object { Repere }
|
2024-12-29 14:56:10 +11:00
|
|
|
|
|
|
|
// =======================================================
|
2024-12-16 03:53:42 +11:00
|
|
|
|
2025-01-14 10:38:40 +11:00
|
|
|
// light_source { <-8, 7, -9>, rgb <0.81, 0.65, NormClock> }
|
|
|
|
// light_source { < 11, 7, 4>, rgb <1-NormClock, 0.28, 0.80> }
|
2024-12-16 08:24:38 +11:00
|
|
|
|
2025-01-14 10:38:40 +11:00
|
|
|
#local CamX = -12.7 + (4.8*NormClock);
|
|
|
|
#local CamY = 8.81 + (11*sqrt(NormClock));
|
2024-12-16 03:53:42 +11:00
|
|
|
camera {
|
2025-01-14 10:38:40 +11:00
|
|
|
location <CamX, CamY, 9.99>
|
|
|
|
look_at <0, 0, 0>
|
|
|
|
angle 42
|
2024-12-16 03:53:42 +11:00
|
|
|
}
|