diff --git a/gadgets.inc b/gadgets.inc new file mode 100644 index 0000000..8d621cd --- /dev/null +++ b/gadgets.inc @@ -0,0 +1,68 @@ +/* + * H E X A C O N E - G A D G E T S + * nouveau projet du Thu Dec 5 11:37:05 AM UTC 2024 + */ + +#version 3.7; + +#include "globals.inc" + +// ======================================================= +#declare QuadriPole = object +{ +#local R = 0.02; +#local E = 0.25; +#local H = H_cone*2; +union { + cylinder { 0, y*H, R translate -x*E } + cylinder { 0, y*H, R translate x*E } + cylinder { 0, y*H, R translate -z*E } + cylinder { 0, y*H, R translate z*E } + } +texture { WIP_color } +#undef E +#undef H +#undef R +} +// ======================================================= +/* + * first written macro for testing the generation of + * differente instances of the same shape. + */ +#macro Bubble () +sphere { + 0, 0.065 + #local R = rand(Rng1); + #if ( R < 0.333 ) + texture { Ruby_Glass } + #elseif ( R < 0.666 ) + texture { Orange_Glass } + #else + texture { Gold_Nugget } + #end + #undef R + } +#end + +#macro Un_Machin () +union { + #for (Y, 1, 8, 1) + object { Bubble() translate y*Y*0.1 } + #end + } +#end + +#declare Les_Machins = object +{ +union { + #local Rk = 3.95 + NormClock; + #for (foo, 0, 359, 45) + #local Xpos = Rk * sin(radians(foo)); + #local Zpos = Rk * cos(radians(foo)); + object { Un_Machin () translate } + #end + #undef Rk + } +} + +// =======================================================