// Last edited on 2009-11-23 16:54:33 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 < 0.75, 0.80, 0.85 > } #declare tx_plastico = texture{ pigment{ color rgb < 0.10, 0.80, 1.00 > } finish{ diffuse 0.8 ambient 0.1 specular 0.5 roughness 0.005 } } #declare tx_textura = texture{ pigment{ color rgb < 0, 0, 0 > } finish{ diffuse 0.3 ambient 0.2 reflection 0.5*<1,1,1> } } #declare tx_fosca = texture{ pigment{ color rgb < 1.00, 0.80, 0.10 > } finish{ diffuse 0.9 ambient 0.1 } } #declare tx_parede = texture{ pigment{ color rgb < 0.9, 0.9, 0.9 > } finish{ diffuse 0.9 ambient 0.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_vidro2 = 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_vidro = texture{ pigment{ color rgb < 0.99, 1, 1.00 > filter 0.70 } finish{ diffuse 0.03 reflection 0.25 ambient 0.02 specular 0.25 roughness 0.005 } } #declare raio = 2.000; #macro torre1() #local p1 = <1,15>; #local p3 = <2,12>; #local p2 = (p1+p3)/2; #local p5 = <1,10>; #local p4 = (p5+p3)/2; #local p7 = <2,9>; #local p6 = (p5+p7)/2; #local p9 = <1,8>; #local p8 = (p9+p7)/2; #local p10 = p9 + <0,2>; #local p11 = p10 + <0,2>; #local p12 = p11 + <0,2>; #local p13 = p12 + <0.75,.5>; #local p14 = p13 + <1.5,1>; #local p15 = p12 + <0.75,.5>; #local d1 = <1,15>; #local d2 = <1.3,14>; #local d3 = <1.6,13>; #local d6 = <1.6,12>; #local d4 = (d3+d6)/2; #local d5 = d4; #local d7 = <1.3,11>; #local d8 = <1,10>; #local d9 = d8; #local d11 = <1,10>; #local d10 = <1,10>; lathe { bezier_spline 24, d1,d2,d3,d4,d5,d6,d7,d8,d9,p6,p6,p7,p7,p8,p8,p9,p9,p10,p11,p12,p12,p13,p14,p15 texture{ tx_fosca } } translate <3,-10.3,-4.5> rotate -90*x #end #macro torre3() #local p1 = <0,0>; #local p2 = <1,1.5>; #local p3 = <2,3>; #local p6 = <2,6>; #local p7 = <1,7.5>; #local p8 = <0,9>; #local p4 = (p3+p6)/2; #local p5 = p4; lathe { bezier_spline 8, p1,p2,p3,p4,p5,p6,p7,p8 texture{ tx_fosca } } #end #declare torre2 = prism { linear_sweep bezier_spline 0, 6, 16, <0,0>,<2,1>,<2,1>,<4,0>,<4,0>,<3,2>,<3,2>,<4,4>,<4,4>,<2,3>,<2,3>,<0,4>,<0,4>,<1,2>,<1,2>,<0,0> texture{ tx_fosca } } #declare teto = box { <0,0>, <11,11> texture { tx_fosca } } union { object{ torre1() } object{ torre2 rotate -90*x rotate 45*z translate <0,6,2> } object{ torre3() rotate -90*x translate <-1,2,2> } object{ teto translate <0,0,3> } } // Original camera parameters: // #local cam_ctr = <0.00,3.00,0.00> // #local cam_loc = <14.00,10.00,3.50> // #local cam_vec = (<14.00,10.00,3.50>-<0.00,3.00,0.00>) // #local cam_sky = z #include "camlight.inc" camlight(<0.00,3.00,0.00>,12.00,<10,3,2>,40.039,z,1.2)