add the "hexawood" to the family
This commit is contained in:
102
hexawood.inc
Normal file
102
hexawood.inc
Normal 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 }
|
||||
}
|
||||
}
|
||||
|
||||
// =======================================================
|
||||
Reference in New Issue
Block a user