#declare Quartz_points=array[12]{ <-14.91567, 154.10626, 11.59036>, <-26.83381, 72.48792, -53.31302>, <27.87835, 72.48792, -52.31035>, <-55.70766, 72.48792, 22.56635>, <41.34445, 72.48792, 12.88574>, <-1.90362, 72.48792, 51.37527>, <-1.90362, -83.06764, 51.37527>, <-55.70766, -83.06764, 22.56636>, <-26.83381, -83.06764, -53.31301>, <27.87835, -83.06764, -52.31034>, <41.34445, -83.06764, 12.88575>, <8.27690, -143.19962, -16.37625> } // BBox: <-55.70766,-143.19962,-53.31302>,<41.34445,154.10626,51.37527> #declare Quartz_mesh=mesh { triangle {<-14.91567, 154.10626, 11.59036>, <-26.83381, 72.48792, -53.31302>, <27.87835, 72.48792, -52.31035> } triangle {<-14.91567, 154.10626, 11.59036>, <-55.70766, 72.48792, 22.56635>, <-26.83381, 72.48792, -53.31302> } triangle {<-14.91567, 154.10626, 11.59036>, <27.87835, 72.48792, -52.31035>, <41.34445, 72.48792, 12.88574> } triangle {<-14.91567, 154.10626, 11.59036>, <41.34445, 72.48792, 12.88574>, <-1.90362, 72.48792, 51.37527> } triangle {<-14.91567, 154.10626, 11.59036>, <-1.90362, 72.48792, 51.37527>, <-55.70766, 72.48792, 22.56635> } triangle {<-1.90362, 72.48792, 51.37527>, <-1.90362, -83.06764, 51.37527>, <-55.70766, -83.06764, 22.56636> } triangle {<-55.70766, -83.06764, 22.56636>, <-55.70766, 72.48792, 22.56635>, <-1.90362, 72.48792, 51.37527> } triangle {<41.34445, 72.48792, 12.88574>, <41.34445, -83.06764, 12.88575>, <-1.90362, -83.06764, 51.37527> } triangle {<-1.90362, -83.06764, 51.37527>, <-1.90362, 72.48792, 51.37527>, <41.34445, 72.48792, 12.88574> } triangle {<27.87835, 72.48792, -52.31035>, <27.87835, -83.06764, -52.31034>, <41.34445, -83.06764, 12.88575> } triangle {<41.34445, -83.06764, 12.88575>, <41.34445, 72.48792, 12.88574>, <27.87835, 72.48792, -52.31035> } triangle {<-26.83381, 72.48792, -53.31302>, <-26.83381, -83.06764, -53.31301>, <27.87835, -83.06764, -52.31034> } triangle {<27.87835, -83.06764, -52.31034>, <27.87835, 72.48792, -52.31035>, <-26.83381, 72.48792, -53.31302> } triangle {<-55.70766, 72.48792, 22.56635>, <-55.70766, -83.06764, 22.56636>, <-26.83381, -83.06764, -53.31301> } triangle {<-26.83381, -83.06764, -53.31301>, <-26.83381, 72.48792, -53.31302>, <-55.70766, 72.48792, 22.56635> } triangle {<-1.90362, -83.06764, 51.37527>, <8.27690, -143.19962, -16.37625>, <-55.70766, -83.06764, 22.56636> } triangle {<-55.70766, -83.06764, 22.56636>, <8.27690, -143.19962, -16.37625>, <-26.83381, -83.06764, -53.31301> } triangle {<8.27690, -143.19962, -16.37625>, <27.87835, -83.06764, -52.31034>, <-26.83381, -83.06764, -53.31301> } triangle {<8.27690, -143.19962, -16.37625>, <41.34445, -83.06764, 12.88575>, <27.87835, -83.06764, -52.31034> } triangle {<8.27690, -143.19962, -16.37625>, <-1.90362, -83.06764, 51.37527>, <41.34445, -83.06764, 12.88575> } } #macro Q(col) union { object { Quartz_mesh hollow material { texture { pigment {color rgbf col } normal { crackle 3 turbulence 0.7 scale 30 } finish { ambient 0.05 diffuse 0.1 specular 0.5 roughness 1/20 } } interior { ior 1+1/10 media { emission <1,1,0.5>*1/40 density { spherical color_map { [0.0 color rgb 0] [0.4 color rgb 1] } scale <50,120,50> turbulence 0.7 omega 0.3 octaves 3 lambda 1.3 } density { wood turbulence 0.3 lambda 1.1 omega 0.3 color_map { [0.0 color rgb 0] [1.0 color rgb 1] } translate <4465,256,2688> rotate x*90 scale 10 } intervals 15 samples 3,10 } } } } #declare Cyl_width=2.2; union { cylinder { Quartz_points[0],Quartz_points[1],Cyl_width } cylinder { Quartz_points[0],Quartz_points[2],Cyl_width } cylinder { Quartz_points[0],Quartz_points[3],Cyl_width } cylinder { Quartz_points[0],Quartz_points[4],Cyl_width } cylinder { Quartz_points[0],Quartz_points[5],Cyl_width } cylinder { Quartz_points[11],Quartz_points[6],Cyl_width } cylinder { Quartz_points[11],Quartz_points[7],Cyl_width } cylinder { Quartz_points[11],Quartz_points[8],Cyl_width } cylinder { Quartz_points[11],Quartz_points[9],Cyl_width } cylinder { Quartz_points[11],Quartz_points[10],Cyl_width } cylinder { Quartz_points[1],Quartz_points[2],Cyl_width } cylinder { Quartz_points[2],Quartz_points[4],Cyl_width } cylinder { Quartz_points[3],Quartz_points[1],Cyl_width } cylinder { Quartz_points[3],Quartz_points[5],Cyl_width } cylinder { Quartz_points[5],Quartz_points[4],Cyl_width } cylinder { Quartz_points[6],Quartz_points[7],Cyl_width } cylinder { Quartz_points[7],Quartz_points[8],Cyl_width } cylinder { Quartz_points[8],Quartz_points[9],Cyl_width } cylinder { Quartz_points[9],Quartz_points[10],Cyl_width } cylinder { Quartz_points[10],Quartz_points[6],Cyl_width } cylinder { Quartz_points[1],Quartz_points[8],Cyl_width } cylinder { Quartz_points[2],Quartz_points[9],Cyl_width } cylinder { Quartz_points[3],Quartz_points[7],Cyl_width } cylinder { Quartz_points[4],Quartz_points[10],Cyl_width } cylinder { Quartz_points[5],Quartz_points[6],Cyl_width } sphere { Quartz_points[0],Cyl_width*2 } sphere { Quartz_points[1],Cyl_width*2 } sphere { Quartz_points[2],Cyl_width*2 } sphere { Quartz_points[3],Cyl_width*2 } sphere { Quartz_points[4],Cyl_width*2 } sphere { Quartz_points[5],Cyl_width*2 } sphere { Quartz_points[6],Cyl_width*2 } sphere { Quartz_points[7],Cyl_width*2 } sphere { Quartz_points[8],Cyl_width*2 } sphere { Quartz_points[9],Cyl_width*2 } sphere { Quartz_points[10],Cyl_width*2 } sphere { Quartz_points[11],Cyl_width*2 } texture { pigment { color rgb < 0.9254902, 0.70980392, 0.050980392>} normal { bozo 1.4 octaves 5 omega 0.2 lambda 1.5 translate <1754,345,432> scale 2 } finish { ambient 0.1 diffuse 0.3 phong 1 phong_size 10 } } } light_source { <0,0,0> color rgb <1,1,1> area_light 10*x,10*z,5,5 fade_distance 100 fade_power 2 } rotate y*10 } #end object { Q(< 0.65882353, 0.023529412, 0.18431373,1-1/8>) translate x*-80 } object { Q(< 0.25490196, 0.68627451, 0.56862745,1-1/8 >) rotate y*130 translate x*80 } light_source{ <-1,1,-1>*1000 color rgb < 0.99607843, 0.98431373, 0.92156863> spotlight point_at 0 radius 20 falloff 30 } light_source{ <-1,0.7,1>*1000 color rgb < 0.99607843, 0.98431373, 0.92156863> spotlight point_at 0 radius 20 falloff 30 rotate y*40 } #declare Cam_loc=<0,0.4,-1>*400; #declare Cam_look=<0,0,0>; camera { location Cam_loc-Cam_look look_at 0 rotate y*0 translate Cam_look } #declare M_water = material { texture { pigment { color rgbf < 0.88235294, 0.88235294, 0.9254902,1-1/2> } normal { waves 0.3/10 translate -0.5 translate <30,0,100> scale 300 frequency 100 } finish { diffuse 0.1 phong 0.5 phong_size 200 ambient 0.0 reflection < 0.74509804, 0.73333333, 0.89019608> } } interior { ior 1.3333 } } plane{ y,-150 material { M_water } }