// Last edited on 2009-11-22 17:37:10 by stolfilocal // Processed by remove-cam-lights #macro eixo(ponta,cor,nome) union{ sphere{ <0,0,0>, 0.02 } cylinder{ <0,0,0>, 0.91*ponta, 0.02 } cone{ 0.90*ponta, 0.06, ponta, 0.00 } texture{ pigment{ color rgb cor } finish{ ambient 0.5 diffuse 0.5 } } } #end #macro eixos(tamanho) union{ object{ eixo( , <1.0,0.2,0.2>, "X") } object{ eixo( <0,tamanho,0>, <0.0,0.8,0.0>, "Y") } object{ eixo( <0,0,tamanho>, <0.3,0.3,1.0>, "Z") } } #end background{ color rgb < 1.00, 1.00, 1.00 > } #declare tx_plastico = texture{ pigment{ color rgb < 0.50, 0.50, 0.50 > } finish{ ambient 0.5 diffuse 0.5 reflection 0.25 * <1,1,1> } } #declare tx_fosca = texture{ pigment{ color rgb < 1.00, 1.00, 1.00 > } finish{ ambient 0.1 diffuse 0.1 reflection 0.8 * <1,1,1> } } #declare tx_espelho = texture{ pigment{ color rgb < 1.00, 0.90, 0.70 > } finish{ diffuse 0.1 reflection 0.8*< 1.00, 0.90, 0.70 > ambient 0.1 } } #declare tx_furo = texture{ pigment{ color rgb < 0.10, 0.80, 1.00 > filter 0.70 } finish{ diffuse 0.01 ambient 0.02} } #declare tx_vidro = texture{ pigment{ color rgb < 0.97, 0.98, 1.00 > filter 0.70 } finish{ diffuse 0.03 reflection 0.25 ambient 0.02 specular 0.25 roughness 0.005 } } #declare tx_world = texture{ pigment{ color rgb < 1.0, 1.0, 1.0 > } finish{ diffuse 0.01 ambient 0.02} } #declare raio = 2.000; #declare l11 = <0.50, 0.00>; #declare l12 = <0.25, 0.25>; #declare l13 = <0.15, 0.50>; #declare l22 = <0.15, 1.00>; #declare l23 = <0.25, 1.25>; #declare l14 = (l13 + l22)/2; #declare l21 = l14; #declare l32 = <0.40, 1.50>; #declare l33 = <0.30, 1.75>; #declare l34 = <0.50, 2.00>; #declare l24 = (l23 + l32)/2; #declare l31 = l24; #macro metade_coluna1 () union{ lathe{ bezier_spline 12 l11,l12,l13,l14,l21,l22,l23,l24, l31, l32, l33, l34 } } #end #macro coluna1 () union{ object{ metade_coluna1() texture {tx_plastico} rotate x*90 } object{ metade_coluna1() texture {tx_plastico} rotate x*(-90) } } #end #declare p11 = < 0.00, 1.00 >; #declare p12 = < -1.00, 1.00 >; #declare p13 = < -0.25, 0.25 >; #declare p14 = < -1.00, 0.00 >; #declare p21 = < -1.00, 0.00 >; #declare p22 = < -1.00, -1.00 >; #declare p23 = < -0.25, -0.25 >; #declare p24 = < 0.00, -1.00 >; #declare p31 = < 0.00, -1.00 >; #declare p32 = < 1.00, -1.00 >; #declare p33 = < 0.25, -0.25 >; #declare p34 = < 1.00, 0.00 >; #declare p41 = < 1.00, 0.00 >; #declare p42 = < 1.00, 1.00 >; #declare p43 = < 0.25, 0.25 >; #declare p44 = < 0.00, 1.00 >; #macro metade_coluna2 () union{ prism{ bezier_spline 0, 2, 16, p11,p12,p13,p14,p21,p22,p23,p24,p31,p32,p33,p34,p41,p42,p43,p44 } } #end #macro coluna2 () union{ object{ metade_coluna2() texture {tx_plastico} rotate x*90} object{ metade_coluna2() texture {tx_plastico} rotate x*90 translate z*(-2)} scale<0.50,0.50,0.00> } #end #macro metade_coluna3 () union{ prism{ conic_sweep bezier_spline -2.00, 0.50, 16, p11,p12,p13,p14,p21,p22,p23,p24,p31,p32,p33,p34,p41,p42,p43,p44 } } #end #macro coluna3 () union{ object{ metade_coluna3() texture {tx_plastico} rotate x*90 translate z*0.25 } object{ metade_coluna3() texture {tx_plastico} rotate x*(-90) translate z*(-0.25) } scale <0.25,0.25,0.00> } #end #macro box_maker (xi, yi, zi) box{ < xi, yi, zi >, < 0.0, 0.0, 0.0> texture { tx_plastico } } #end #macro bloco () union{ box_maker(7.50,5.00,0.50) } #end union { // object{ eixos(15.00) } union{ object{ bloco() } } union{ object {coluna3() translate <1.0, 1.0, 2.25>} object {coluna3() translate <1.0, 4.0, 2.25>} } union{ object {coluna2() translate <6.0, 1.5, 2.0>} object {coluna2() translate <6.0, 3.5, 2.0>} } union{ object {coluna1() translate <2.5, 0.75, 2.0>} object {coluna1() translate <2.5, 4.25, 2.0>} object {coluna1() translate <3.5, 0.75, 2.0>} object {coluna1() translate <3.5, 4.25, 2.0>} object {coluna1() translate <4.5, 0.75, 2.0>} object {coluna1() translate <4.5, 4.25, 2.0>} } union{ object{ bloco() scale <0.90,0.90,0.50> translate <0.125,0.25,3.75> } } } // Original camera parameters: // #local cam_ctr = <-2,0,0> // #local cam_loc = <15.00,10,5.00> // #local cam_vec = (<15.00,10,5.00>-<-2,0,0>) // #local cam_sky = z #include "camlight.inc" camlight(<2,1.5,1>,6.50,<9,7,3>,35.00,z,1.2)