/* * 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 } } // =======================================================