// Last edited on 2009-10-10 18:40:03 by stolfilocal // Processed by remove-cam-lights global_settings{ max_trace_level 10 } #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_metal = texture{ pigment{ color rgb < 0.50, 0.50, 0.50 > } finish{ diffuse 0.2 ambient 0.1 reflection 0.7 specular 0.8 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_fosca_rosa = texture{ pigment{ color rgb < 1.00, 0.50, 0.50 > } finish{ diffuse 0.9 ambient 0.1 } } #declare tx_fosca_branca = texture{ pigment{ color rgb < 1.00, 1.00, 1.00 > } 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 raio = 2.000; #declare mesa_tampo = box{ < 1, 2, 0.1 >, < -1,-2, -0.1> texture{ tx_fosca_rosa } } #declare mesa_pe = box{ < 0.1, 0.1, 1 >, < -0.1,-0.1, -1 > texture{ tx_fosca_rosa } } #declare cadeira_base = box{ < 0.8, 0.8, 0.1 >, < -0.8,-0.8, -0.1 > texture{ tx_fosca } } #declare cadeira_encosto = box{ < 0.8, 0.1, 0.8 >, < -0.8,-0.1, 0 > texture{ tx_fosca } } #declare cadeira_haste = box{ < 0.05, 0.05, 0.4 >, < -0.05,-0.05, -0.4 > texture{ tx_fosca } } #declare cadeira_pe = box{ < 0.05, 0.05, 0.6 >, < -0.05,-0.05, -0.6 > texture{ tx_fosca } } #declare cpu = box{ < 0.8, 0.25, 1.4 >, < -0.8,-0.25, 0 > } #declare monitor = box{ < 0.6, 0.6, 1.2 >, < -0.6,-0.6, 0.2 > } #declare monitor_base = box{ < 0.2, 0.2, 0.4 >, < -0.2,-0.2, 0 > } #declare teclado = box{ < 0, 0, 0.1 >, < 0.6,1.2, 0 > } #declare piso = box{ < -1.5, 0, 0 >, < 1.5,2, 0.5 > } #declare piso_frente = box{ < -4.5, -0.5, 0 >, < 4.5,0.5, 0.2 > texture{ tx_metal } translate <-2.34,-2.8,-0.55> } #declare label = text{ ttf "arial.ttf" "UFMS" 0.1 , 0 texture{ tx_espelho } rotate 90*x rotate 180*z translate <-2,-3.2,1> } #declare quadro = box{ < 0, 1, 0 >, < 1,0, 0.05 > texture{ pigment{ image_map{ jpeg "bolo.jpeg" } } finish{diffuse 0.8 ambient 0.2} } rotate 90*x rotate 180*z translate <0,-3.2,1> } #declare parede = box{ < 9, 0, 0 >, < 0,4, 0.05 > texture{ tx_fosca_branca} rotate 90*x rotate 180*z translate <2,-3.3,-0.5> } union{ // object{ eixos(3.00) } #declare estacao = union{ union{ object {mesa_tampo translate <0,0,0.6> } object {mesa_pe translate <0.8,1.8,-0.4>} object {mesa_pe translate <0.8,-1.8,-0.4>} object {mesa_pe translate <-0.8,1.8,-0.4>} object {mesa_pe translate <-0.8,-1.8,-0.4>} } union{ object {cadeira_base} object {cadeira_encosto translate <0,-0.65,0.8>} object {cadeira_haste translate <0.7,-0.7,0.4> } object {cadeira_haste translate <-0.7,-0.7,0.4> } object {cadeira_pe translate <0.7,0.7,-0.6> } object {cadeira_pe translate <-0.7,0.7,-0.6> } object {cadeira_pe translate <0.7,-0.7,-0.6> } object {cadeira_pe translate <-0.7,-0.7,-0.6> } rotate -90*z translate <-1,0,0> } } #declare estacao_vazia = union{ object {estacao} rotate -90*z } #declare estacao_ocupada = union{ object {estacao} union{ object {cpu translate <0,-1.2,0> } object {monitor translate <-0.1,0,0> } object {monitor_base translate <-0.1,0,0> } object {teclado translate <0.5,-0.5,0> } texture{ tx_metal } translate <0,0,1> rotate 180*z scale 0.8 } rotate -90*z } #macro fileira (lin, col, deslx, falha) #declare j=0; #declare in=-4; #declare ftc=2.0; #declare ftl=2.4; union{ #while (j texture{ tx_metal } } #else object { piso translate texture{ tx_fosca_branca } } #end #if(j = falha & i = falha) object {estacao_vazia scale 0.5 translate } #else object {estacao_ocupada scale 0.5 translate } #end #declare i = i+1; #end translate <0,0,(j*0.5)> } #declare j = j+1; #end translate scale 0.5 } #end #macro corredor (lin, col, deslx) #declare j=0; #declare in=-4; #declare ftc=2.0; #declare ftl=2.4; union{ #while (j texture{ tx_metal } } #else object { piso translate texture{ tx_fosca_branca } } #end #declare i = i+1; #end translate <0,0,(j*0.5)> } #declare j = j+1; #end translate scale 0.5 } #end union{ #declare linhas = 4; #declare colunas = 3; object {fileira (linhas, colunas, -8, 2)} object {corredor (linhas, colunas, -0.5)} object {fileira (linhas, colunas, 2, 1)} object {label} object {piso_frente } object {parede } object {quadro } rotate -20*z } } // Original camera parameters: // #local cam_ctr = <0.00,0.00,1.00> // #local cam_vec = (<14.00,7.00,7.00>-<0.00,0.00,1.00>) // #local cam_sky = z #include "camlight.inc" camlight(<-2.00,-0.50,1.00>,6.5,<10,5,5>,14.0,z,1.2)