HexaCone/hexastar.inc
2026-01-04 23:01:37 +01:00

63 lines
1.5 KiB
PHP

/*
* H E X A S T A R
*
* nouveau du dernier jour de 2025, courage paur 2026 <3
*/
/* ------------------------------------------------------------ */
/* ============================================================ */
/* Un des six éléments de base */
#declare HS_radius = 0.496;
#macro HS_element_a ()
union {
#local R_a = 0.18;
#local Small = 0.00001;
cone { <-1.5, 0, 0>, Small, <-0.6, 0, 0>, R_a }
sphere { 0, R_a scale <0.3, 1, 1> translate <-0.6, 0, 0> }
cone { < 1.5, 0, 0>, Small, < 0.6, 0, 0>, R_a }
sphere { 0, R_a scale <0.3, 1, 1> translate < 0.6, 0, 0> }
#local R = rand(Rng1);
#if ( R < 0.50 ) texture { GoldDark }
#else texture { T_Gold_3C }
#end
}
#end // macro
/* ------------------------------------------------------------ */
/*
* element central
*/
#declare HS_element_central = object
{
torus { HS_radius, 0.019 scale <1, 15.92, 1> rotate z*90 }
texture { Gold_Nugget }
}
/* ============================================================ */
/* On regroupe les six élements */
#declare HS_les_elements = object
{
union {
#for (Foo, 0, 360, 60)
#local E = HS_radius;
#local Ty = E * cos(radians(Foo));
#local Tz = E * sin(radians(Foo));
object {
HS_element_a ()
translate <0, Ty, Tz>
}
#end // end for
object { HS_element_central }
}
}
/* ============================================================ */
/* Et voici l'engin final */
#declare HexaStar = object
{
object { HS_les_elements }
}
// #debug "++++++++++ hexastar loaded !\n"
/* ============================================================ */