Compare commits

..

3 Commits

Author SHA1 Message Date
Tonton Th
8d438d5885 wip du 2024/01/14 2025-01-14 00:38:40 +01:00
Tonton Th
8c30830837 add global constants 2025-01-13 15:27:56 +01:00
Tonton Th
540dc86601 fine tuning 2025-01-13 15:26:12 +01:00
4 changed files with 82 additions and 29 deletions

View File

@ -2,18 +2,18 @@
* nouveau projet Thu Dec 5 11:37:05 AM UTC 2024
*/
#declare RA = 0.127;
#declare RB = 0.001;
#declare RA = R_basecone;
// #declare RB = 0.001;
#declare HexaCone_shape = object
{
union {
cone { 0, RA, <-1, 0, 0>, RB }
cone { 0, RA, < 1, 0, 0>, RB }
cone { 0, RA, < 0, 0, 1>, RB }
cone { 0, RA, < 0, 0, -1>, RB }
cone { 0, RA, < 0, 1, 0>, RB }
cone { 0, RA, < 0, -1, 0>, RB }
cone { 0, RA, <-1, 0, 0>, 0.0001 }
cone { 0, RA, < 1, 0, 0>, 0.0001 }
cone { 0, RA, < 0, 0, 1>, 0.0001 }
cone { 0, RA, < 0, 0, -1>, 0.0001 }
cone { 0, RA, < 0, 1, 0>, 0.0001 }
cone { 0, RA, < 0, -1, 0>, 0.0001 }
}
}

View File

@ -7,30 +7,65 @@
#include "globals.inc"
#declare NormClock = clock / 360.0;
#include "contexte.inc"
#include "elements.inc"
#include "hexabenz.inc"
// =======================================================
#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
// =======================================================
#macro Bubble ()
sphere {
0, 0.10
0, 0.06
#if ( rand(Rng1) < 0.333 )
texture { Ruby_Glass }
#elseif ( rand(Rng1) < 0.666 )
tus texture { Orange_Glass }
texture { Orange_Glass }
#else
texture { Gold_Nugget scale 0.56 }
texture { Gold_Nugget }
#end
}
#end
#macro Un_Machin ()
union {
#for (Y, -8, 8, 2)
#for (Y, 1, 8, 1)
object { Bubble() translate y*Y*0.1 }
#end
}
@ -39,28 +74,36 @@ union {
#declare Les_Machins = object
{
union {
#for (Xp, -10, 10)
#if ( rand(Rng1) < 0.5 )
object { HexaCone_radar_A translate x*Xp*0.6 }
#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> }
#else
object { Un_Machin () translate x*Xp*0.6 }
object { Un_Machin () translate <Xpos, 0.33, Zpos> }
#end
#end
#undef Rk
}
}
object { Les_Machins }
object { Les_Machins translate y*0.01}
object { Le_Sol }
// object { Repere }
// =======================================================
light_source { <-8, 7, -9>, rgb <0.81, 0.65, NormClock> }
light_source { < 11, 7, 4>, rgb <1-NormClock, 0.28, 0.80> }
// light_source { <-8, 7, -9>, rgb <0.81, 0.65, NormClock> }
// light_source { < 11, 7, 4>, rgb <1-NormClock, 0.28, 0.80> }
#local CamX = -12.7 + (4.8*NormClock);
#local CamY = 8.81 + (11*sqrt(NormClock));
camera {
location <-10.7+4*NormClock, 2.81, 8.09>
look_at <0.0, 0.0, 0>
angle 44
location <CamX, CamY, 9.99>
look_at <0, 0, 0>
angle 42
}

View File

@ -18,7 +18,17 @@ global_settings {
#declare NormClock = clock / 360.0;
/* ------------------------------------------------------------ */
/*
* Some constants...
*/
#declare R_basecone = 0.117;
#declare H_cone = 0.97;
/* ------------------------------------------------------------ */
/*
* Usefull macros
*/
#macro Cos_01( X )
(0.5-0.5*cos( 3.141592654 * X))
#end

View File

@ -1,14 +1,14 @@
/*
* H E X A C O N E
* H E X A B E N Z
*/
// =======================================================
#macro Benz_Cone_Base () // = object
// {
union {
#local RA = 0.117;
#local RA = R_basecone;
#local RB = 0.001;
cone { 0, RA, y*0.89, RB }
cone { 0, RA, y*0.89, 0.0001 }
sphere { 0, RA*1.098 scale <1, 0.62, 3.1> translate -0.02*y }
}
// }
@ -95,7 +95,7 @@ difference {
union {
cylinder { z*LT*1.5, -z*LT, RT }
sphere { z*LT*1.4, RT*0.72 scale <1, 0.73, 1>
translate y*RT*0.87}
translate y*RT*0.77}
}
cylinder { z*4, -z*4, RT*0.95 }
}
@ -119,7 +119,7 @@ union {
// #declare HexaBenz = object
// {
union {
#local Rk = (rand(Rng1)-0.5) * 2038;
#local Rk = (rand(Rng1)-0.5) * 1024;
object { Benz_Cones () rotate z*NormClock*Rk}
object { Benz_Tube () }
}