diff --git a/Makefile b/Makefile index 86d5cb5..0e0d434 100644 --- a/Makefile +++ b/Makefile @@ -3,7 +3,7 @@ DIMS = -W1600 -H1200 # POVOPT = +q9 +a0.02 -d POVOPT = +q9 +A -d POVDEP = contexte.inc elements.inc hexabenz.inc \ - globals.inc datas/hf.png + globals.inc hexawood.inc datas/hf.png CK=230 diff --git a/essai.pov b/essai.pov index af53267..c34b81a 100644 --- a/essai.pov +++ b/essai.pov @@ -11,54 +11,63 @@ #include "gadgets.inc" #include "elements.inc" #include "hexabenz.inc" +#include "hexawood.inc" // ======================================================= -#macro GGG_Un_Cone () -merge { - #local RA = R_basecone; - cone { 0, RA, y*0.89, 0.000001 } - sphere { 0, RA } - } -#end -#macro GGG_Cones () +// ======================================================= +/* + * nouvel éclairage du 10 février 2025 + */ +#declare Quad_lampe = object +{ +light_source { + 0 + color Gray90 + fade_distance SzSol / 2 + fade_power 1.5 + } +} + +#declare QuadriLight = object +{ +#local T = E_QuadriLight; +#local H = H_QuadriLight; +// #local H = 5; + union { - #for (foo, 0, 360, 60) - #local E = 0.50; - #local Tx = 1.333 * E * sin(radians(foo)); - #local Tz = E * cos(radians(foo)); - object { - GGG_Un_Cone () - #if ( rand(Rng1) < 0.5001 ) - texture { T_Wood32 rotate 17 scale 1.50 } - #else - texture { T_Wood23 scale 2.50 } - #end - // rotate -z*foo - translate - } - #end // end for + object { Quad_lampe translate <-T, H, -T> } + object { Quad_lampe translate < T, H, -T> } + object { Quad_lampe translate <-T, H, T> } + object { Quad_lampe translate < T, H, T> } } -#end - -object { GGG_Cones () translate y*0.5 } - +} // ======================================================= -object { OpenBox translate y*1.2 } -object { Le_Decor } +// object { OpenBox translate y*1.30 } +#local RX = -19 + (20*sin(NormClock*9.81) + 8*sin(NormClock*23)); +#local RZ = 30 - (14*Cos_010(NormClock)); +object { HexaWood rotate translate y*0.777 } +// object { QuadriPole translate <-3, 0, 2> } + +object { QuadriLight } + +// object { Le_Decor } + object { Le_Sol } + object { Underground } + // object { La_GroundBase } + object { Les_GyroPhares () } // object { Repere translate y*2 } // ======================================================= #local CamX = -2.7 + (3.8*Cos_010(NormClock)); -#local CamY = 1.81 + (4*sqrt(NormClock)); -#local CamZ = 1.7 + (3.8*Cos_010(NormClock)); +#local CamY = 0.81 + (4*sqrt(NormClock)); +#local CamZ = 2.7 - (0.8*Cos_010(NormClock)); camera { - // fisheye location - look_at <0, 0.5, 0> + look_at <0, 0.79, 0> angle 32 + 4*Cos_01(NormClock) } diff --git a/hexawood.inc b/hexawood.inc new file mode 100644 index 0000000..4211909 --- /dev/null +++ b/hexawood.inc @@ -0,0 +1,102 @@ +/* + * H E X A W O O D + */ +// ======================================================= + +// ------------------------------------------------------- + +#macro HW_Un_Cone () +merge { + #local RA = R_basecone * 0.92; + cone { 0, RA, y*0.91, 0.000001 } + sphere { 0, RA } + #undef RA + } +#end + +#macro HW_Cones () +union { + #for (foo, 0, 360, 60) + #local E = 0.58; + #local Tx = 1.414 * E * sin(radians(foo)); + #local Tz = E * cos(radians(foo)); + object { + HW_Un_Cone () + #if ( rand(Rng1) < 0.5 ) + texture { T_Wood32 rotate 37 scale 1.30 } + // texture { WIP_color } + #else + texture { T_Wood23 rotate x*87 scale 1.23 } + // texture { T_WIP_alert } + #end + // rotate -z*foo + translate + } + #end // end for + } +#end + + +#macro HW_Chassis () +difference { + #local El = 1.414; + merge { + torus { 0.70, 0.20 translate y*0.20 } + cylinder { 0, y*0.40, 0.70 } + scale + } + cylinder { -1*y, 0.12*y, 0.08 } + + #for (foo, 0, 360, 60) + #local E = 0.58; + #local Tx = El * E * sin(radians(foo)); + #local Tz = E * cos(radians(foo)); + sphere { 0, 0.17 translate } + #end + #for (foo, 0, 360, 60) + #local E = 0.84; + #local Tx = El * E * sin(radians(foo+30)); + #local Tz = E * cos(radians(foo+30)); + cylinder { -y, y, 0.05 translate } + #end + translate y*0.10 + texture { T_Wood17 scale 0.92 } + } +#end + +#macro HW_une_patte () +merge { + cylinder { 0, 0.30*y, 0.02 } + sphere { 0, 0.07 scale <1, 0.27, 1> } + } +#if ( rand(Rng1) < 0.3 ) + texture { Tinny_Brass } +#else + texture { New_Penny } +#end // if +#end // macro + +#declare HW_les_pattes = object +{ +union { + #local E = 0.84; + #local El = 1.414; + #for (foo, 0, 360, 60) + #local Tx = El * E * sin(radians(foo+30)); + #local Tz = E * cos(radians(foo+30)); + object { HW_une_patte () translate } + #end + } +} + +#declare HexaWood = object +{ +union { + object { HW_Chassis () } + object { HW_les_pattes } + light_source { 0.20*y rgb <0, 0.20, 0.95> } + object { HW_Cones () translate y*0.15 } + } +} + +// =======================================================