// Last edited on 2009-11-25 14:15:40 by stolfilocal // Processed by remove-cam-lights #include "retalho.inc" #declare grid_rd = 0.03; #include "nuvens.inc" #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 #declare tx_plastico_preto = texture{ pigment{ color rgb 0 } finish{ diffuse 0.1 reflection 0.2*< 1.0, 1.0, 1.0 > ambient 0.6 specular 0.1 roughness 0.005 } } #declare tx_carro = texture{ pigment{ color rgb < 0.7, 0.7, 0.7 > } finish{ ambient 0.1 diffuse 0.7 reflection 0.2*< 1.0, 1.0, 1.0 > } } #declare tx_grade = texture{ pigment{ color rgb < 1.00, 0.80, 0.10 > } finish{ ambient 0.1 diffuse 0.9 } } #declare tx_vidro_preto = texture{ pigment{ color rgb <0.2, 0.2, 0.2> filter 0.20 } finish{ ambient 0.1 diffuse 0.1 reflection 0.3 specular 0.25 roughness 0.005 } } #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 } } background{ color rgb < 0.75, 0.80, 0.85 > } #declare p0_11 = <1.98,0,0>; #declare p0_12 = <1.98,2.9,0>; #declare p0_13 = <1.98,3,0>; #declare p0_14 = <1.98,3.1,0>; #declare p0_21 = <2,0,3>; #declare p0_22 = <2,2.9,3>; #declare p0_23 = <2,3,3>; #declare p0_24 = <2,3.1,0>; #declare p0_31 = <3,0,3>; #declare p0_32 = <3,2.9,3>; #declare p0_33 = <3,3,3>; #declare p0_34 = <3,3.1,0>; #declare p1_21 = <4.1,0,3.5>; #declare p1_22 = <4.1,2.9,3.5>; #declare p1_23 = <4.1,3,3.5>; #declare p1_24 = <4.1,3.1,0>; #declare p1_31 = <6,0,3.9>; #declare p1_32 = <6,2.9,3.9>; #declare p1_33 = <6,3,3.5>; #declare p1_34 = <6,3.1,0>; #declare p2_21 = <8,0,3.9>; #declare p2_22 = <8,2.9,3.9>; #declare p2_23 = <8,3,3.9>; #declare p2_24 = <8,3.1,0>; #declare p2_31 = <9,0,3.9>; #declare p2_32 = <9,2.9,3.9>; #declare p2_33 = <9,3,3.9>; #declare p2_34 = <9,3.1,0>; #declare p3_21 = <9.2,0,2.5>; #declare p3_22 = <9.2,2.9,2.5>; #declare p3_23 = <9.2,3,2.5>; #declare p3_24 = <9.2,3.1,0>; #declare p3_31 = <12,0,2.5>; #declare p3_32 = <12,2.9,2.5>; #declare p3_33 = <12,3,2.5>; #declare p3_34 = <12,3.1,0>; #declare p4_21 = <13,0,2.5>; #declare p4_22 = <13,2.9,2.5>; #declare p4_23 = <13,3,2.5>; #declare p4_24 = <13,3.1,0>; #declare p4_31 = <14,0,2.5>; #declare p4_32 = <14,2.9,2.5>; #declare p4_33 = <14,3,2.5>; #declare p4_34 = <14,3.1,0>; #declare p4_41 = <14.01,0,0>; #declare p4_42 = <14.01,2.9,0>; #declare p4_43 = <14.01,3,0>; #declare p4_44 = <14.01,3.1,0>; #declare p0_41 = (p0_31+p1_21)/2; #declare p0_42 = (p0_32+p1_22)/2; #declare p0_43 = (p0_33+p1_23)/2; #declare p0_44 = (p0_34+p1_24)/2; #declare p1_41 = (p1_31+p2_21)/2; #declare p1_42 = (p1_32+p2_22)/2; #declare p1_43 = (p1_33+p2_23)/2; #declare p1_44 = (p1_34+p2_24)/2; #declare p2_41 = (p2_31+6*p3_21)/7; #declare p2_42 = (p2_32+6*p3_22)/7; #declare p2_43 = (p2_33+6*p3_23)/7; #declare p2_44 = (p2_34+6*p3_24)/7; #declare p3_41 = (p3_31+p4_21)/2; #declare p3_42 = (p3_32+p4_22)/2; #declare p3_43 = (p3_33+p4_23)/2; #declare p3_44 = (p3_34+p4_24)/2; #declare p1_11 = p0_41; #declare p1_12 = p0_42; #declare p1_13 = p0_43; #declare p1_14 = p0_44; #declare p2_11 = p1_41; #declare p2_12 = p1_42; #declare p2_13 = p1_43; #declare p2_14 = p1_44; #declare p3_11 = p2_41; #declare p3_12 = p2_42; #declare p3_13 = p2_43; #declare p3_14 = p2_44; #declare p4_11 = p3_41; #declare p4_12 = p3_42; #declare p4_13 = p3_43; #declare p4_14 = p3_44; #declare pe = union { retalho(p0_11, p0_12, p0_13, p0_14, p0_21, p0_22, p0_23, p0_24, p0_31, p0_32, p0_33, p0_34, p0_41, p0_42, p0_43, p0_44, tx_grade, tx_carro ) retalho(p1_11, p1_12, p1_13, p1_14, p1_21, p1_22, p1_23, p1_24, p1_31, p1_32, p1_33, p1_34, p1_41, p1_42, p1_43, p1_44, tx_grade, tx_carro ) difference { retalho(p2_11, p2_12, p2_13, p2_14, p2_21, p2_22, p2_23, p2_24, p2_31, p2_32, p2_33, p2_34, p2_41, p2_42, p2_43, p2_44, tx_grade, tx_carro ) box{<8.8, 0, 4.8>,<9.2, 2.4, 2.7> texture{tx_vidro}} } intersection { retalho(p2_11, p2_12, p2_13, p2_14, p2_21, p2_22, p2_23, p2_24, p2_31, p2_32, p2_33, p2_34, p2_41, p2_42, p2_43, p2_44, tx_grade, tx_vidro_preto ) box{<8.8, 0, 4.8>,<9.2, 2.4, 2.7> texture{tx_vidro}} } retalho(p3_11, p3_12, p3_13, p3_14, p3_21, p3_22, p3_23, p3_24, p3_31, p3_32, p3_33, p3_34, p3_41, p3_42, p3_43, p3_44, tx_grade, tx_carro ) retalho(p4_11, p4_12, p4_13, p4_14, p4_21, p4_22, p4_23, p4_24, p4_31, p4_32, p4_33, p4_34, p4_41, p4_42, p4_43, p4_44, tx_grade, tx_carro ) } #declare pd = object{pe scale <1, -1, 1>} difference { union { object {pd} object {pe} } union { cylinder {<4,-8,1>,<4,8,1>, 0.8} cylinder {<12,-8,1>,<12,8,1>, 0.8} box{<-1,-6,-3>,<16, 16, 1>} } } // Original camera parameters: // #local cam_ctr = <9,0,0> // #local cam_loc = <12,8,7> // #local cam_vec = (<12,8,7>-<9,0,0>) // #local cam_sky = z #include "camlight.inc" camlight(<9,0,2>,9.000,<7,10,8>,27.00,z,1.2)