// Last edited on 2009-10-10 18:41:50 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_fosca = texture{ pigment{ color rgb < 1.00, 0.80, 0.10 > } 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_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_fosca1 = texture{ pigment{ color rgb < 1.00, 0.50, 0.10 > } finish{ diffuse 0.9 ambient 0.1 } } #declare raio = 2.000; #declare bolinha = sphere{ < 0,0,0 >, 0.60 } #declare bolota = sphere{ < 0,0,0 >, 1.50 } #declare bola_grande = sphere{ < 0.00, 0.00, 0.00 >, raio texture{ tx_plastico } } #declare pino = cylinder{ < -0.0, +0.00, -0.00 >, < +3.0, -0.00, +1.00 >, 0.55 texture{ tx_fosca } } #declare pino1 = cylinder{ < -6.0, +0.00, -0.00 >, < +4.0, -0.00, +1.00 >, 0.4 texture{ tx_fosca } } #declare corpo_suco = cylinder{ < -0.00, +0.00, -2.0 >, < +0.00, -0.00, +2.0 >, 2.5 texture{ tx_fosca } } #declare corpo_suco1 = cylinder{ < -0.00, +0.00, +1.5 >, < +0.00, -0.00, +3.0 >, 2.4 texture{ tx_fosca } } #declare furo = cylinder{ < -1.00, -2.00, -2.00 >, < +1.00, +2.00, +2.00 >, 0.75*raio texture{ tx_fosca } } #declare cone_expremedor = cone{ < -0.00, +0.00, +5.0 >, 0.06, < +3.00, -3.00, +1.0 >, 0.00 texture{ tx_fosca } } #declare mesa = box { < +1.00, +0.00, +0.1 >, < -1.00, +3.2, +0.0 > texture{ tx_fosca } } #declare pe_mesa = box { < +1.00, +0.00, +0.0 >, < +0.8, +0.1, -1.2 > texture{ tx_fosca } } #declare assento = box { < +0.8, +0.00, +0.1 >, < -0.8, +0.9, +0.0 > texture{ tx_fosca } } #declare pe_cad = box { < +0.1, +0.00, +0.0 >, < -0.1, +0.1, -0.6 > texture{ tx_fosca } } #declare barra_encosto = box { < +0.1, +0.00, +0.0 >, < -0.1, +0.1, -0.4 > texture{ tx_fosca } } #declare encosto = union { box { < +0.1, +0.00, +0.4 >, < 0.0, +0.9, -0.0 > texture{ tx_fosca } } object { barra_encosto translate <0.0,0.0,0> } object { barra_encosto translate <0.0,0.8,0> } } #declare cadeira = union { object {assento} object {pe_cad translate <0.69,0,0> } object {pe_cad translate <0.69,0.8,0> } object {pe_cad translate <-0.69,0.0,0> } object {pe_cad translate <-0.69,0.8,0> } object {encosto translate < 0.69,0.0,0.5> } } #declare mesa_completa = union { object{ mesa } object{ pe_mesa } object{ pe_mesa translate < -1.8 , 0 , 0 > } object{ pe_mesa translate < 0 , 3.1, 0 > } object{ pe_mesa translate < -1.8 , 3.1, 0 > } } #declare pc = box { < +0.5, +0.00, +0.8 >, < -0.5, +0.3, 0.0 > texture{ tx_fosca } } #declare monitor = union { box { < +0.01, -0.6, +0.8 >, < +0.00, +0.6, 0.0 > texture{ tx_fosca } } box { < +0.02, -0.5, +0.7 >, < +0.00, +0.5, 0.0 > texture{ tx_vidro } } box { < +0.00, -0.2, 0.0 >, < +0.00, +0.2, -0.2 > texture{ tx_fosca } } } #declare mesa_pc_monitor = union { object {mesa_completa} object { pc translate < 0,2.8,0.1 > } object {monitor translate <0,1.9,0.5 >} object {cadeira translate <1.3,1,-0.5 >} } #declare chao = box { < +2.0, +0.00, +0.0 >, < -2.0, +3.2, -0.6 > texture{ tx_fosca1 } } #macro fila (n, coluna_m, coluna_max) union { #local i = 0; #local yi = 0; #local meio = int(n/2); #while (i < n) #if ( i != meio & ( coluna_m != coluna_max - 1 | ( coluna_m = coluna_max - 1 & i != (n - 1) ) )) object { mesa_pc_monitor scale 0.3 translate < 0, yi, 0 > } object {chao scale 0.4 translate < 0 , yi, -0.3 >} #else object {chao scale 0.4 translate < 0 , yi, -0.3 >} #end #local yi = yi + 1; #local i = i + 1; #end } #end #macro mesas (m,n) union{ #local i = 0; #local xi = 0; #local zi = 0; #local yi = -n / 2; #while (i < m) object { fila (n, i, m) translate } #local xi = xi + 1.2 ; #local zi = zi - 0.2 ; #local i = i + 1; #end } #end union{ object { mesas (5, 7 ) } } // Original camera parameters: // #local cam_ctr = <0.00,0.00,1.00> // #local cam_vec = (<15.00,6.00,3.0>-<0.00,0.00,1.00>) // #local cam_sky = z #include "camlight.inc" camlight(<3.00,0.60,-0.40>,6.0,<10,10,5>,14.0,z,1.2)