103 lines
2.0 KiB
PHP
103 lines
2.0 KiB
PHP
/*
|
|
* 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 }
|
|
}
|
|
}
|
|
|
|
// =======================================================
|