#include "consts.inc" // Eulitz Brilliant #declare ANGLE_CULASSE = 40.48; #declare ANGLE_COURONNE = 33.36; #declare HAUTEUR_TABLE = 2*14.45; #declare HAUTEUR_RONDISTE = 0.03; #declare O_Diamond = intersection { sphere {0, 1 } // TABLE plane {y, HAUTEUR_TABLE/100} // CULASSE (Pavilion main) // 8 principaux #local i = 0; #while (i<8) plane {-y, 0 rotate (ANGLE_CULASSE-1.3)*z translate 1.0005*x-HAUTEUR_RONDISTE/2*y rotate i*360/8*y } #local i = i+1; #end // 16 halefis (Pavilion breaks) #local i = 1; #while (i<= 16) plane {-y, 0 rotate (ANGLE_CULASSE+0.5)*z translate 0.98125*x-HAUTEUR_RONDISTE/2*y rotate (i+1/2)*360/16*y } #local i = i+1; #end // COURONNE (Crown mains) // 8 principaux #local i = 0; #while (i<8) plane {y, 0 rotate (ANGLE_COURONNE-2.5)*-z translate 0.99925*x+HAUTEUR_RONDISTE/2*y rotate i*360/8*y } #local i = i+1; #end // 16 halefis (Crown breaks) #local i = 1; #while (i<= 16) plane {y, 0 rotate (ANGLE_COURONNE+2.75)*-z translate 0.9795*x+HAUTEUR_RONDISTE/2*y rotate (i+1/2)*360/16*y } #local i = i+1; #end // L'étoile (Star) #local i = 0; #while (i<8) plane {y, 0 rotate (ANGLE_COURONNE/2)*-z translate 1.387*x+HAUTEUR_RONDISTE/2*y rotate (i+1/2)*360/8*y } #local i = i+1; #end // Rondiste (Girdle) #local i = 0; #while (i<16) plane {z, 0.9768 rotate (i+1/2)*360/16*y } #local i = i+1; #end } #macro M_Diamond (_color, _purety, _samples, _density) texture{pigment {rgbt <1,1,1,_purety>}} interior { ior 2.417 #if (_samples != 0) dispersion 1.044 dispersion_samples _samples #end fade_power 1001 fade_color _color fade_distance 1/_density //media {samples 1 scattering{1, 0.01}} } #end #macro makeDiamond (_color, _purety, _samples, _density) object { O_Diamond material {M_Diamond (_color, _purety, _samples, _density)} finish { reflection {0.2, 0.8 fresnel} conserve_energy ambient 0 diffuse 0 specular 0.8 roughness 0.05 } } #end