add the "hexawood" to the family

This commit is contained in:
Tonton Th 2025-02-12 14:09:11 +01:00
parent 39adef1e90
commit 14a03b78eb
3 changed files with 145 additions and 34 deletions

View File

@ -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

View File

@ -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 <Tx, 0, Tz>
}
#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 <RX, 37, 0> 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 <CamX, CamY, 9.99>
look_at <0, 0.5, 0>
look_at <0, 0.79, 0>
angle 32 + 4*Cos_01(NormClock)
}

102
hexawood.inc Normal file
View File

@ -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 <Tx, 0.20, Tz>
}
#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 <El, 0.5, 1>
}
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 <Tx, 0.20, Tz> }
#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 <Tx, 0, Tz> }
#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 <Tx, 0, Tz> }
#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 }
}
}
// =======================================================