// Last edited on 2009-10-10 18:33:49 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_chao = texture{ pigment{ color rgb < 0.60, 0.60, 0.60 > } 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_cadeira = texture{ pigment{ color rgb < 0.50, 0.30, 0.50 > } finish{ diffuse 0.9 ambient 0.1 } } #declare tx_mesa = texture{ pigment{ color rgb < 1.00, 0.80, 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 tx_quadro = texture{ pigment{ image_map { jpeg "imagem.jpg" } scale <4, 3, 1> } finish{ diffuse 0.8 ambient 0.2} } #declare raio = 2.000; #declare quadro = box{ < 4,3,0.2 >, < 0,0,0 > } #declare base_cadeira = box{ < 1,1,0.2 >, < 0,0,0 > } #declare base_mesa = box{ < 1.5,2.5,0.2 >, < 0,0,0 > } #declare pe_cadeira = box{ < 0.1,0.1,0.8 >, < 0,0,0 > } #declare suporte_encosto = box{ < 0.1,0.1,0.4 >, < 0,0,0 > } #declare encosto_cadeira = box{ < 0.1,1,0.5 >, < 0,0,0 > } #declare pe_mesa = box{ < 0.1,0.1,1 >, < 0,0,0 > } #declare computador_tela = box{ < 0.2,0.9,0.9 >, < 0,0,0 > } #declare mouse = box{ < 0.25,0.2,0.09 >, < 0,0,0 > } #declare teclado = box{ < 0.5,0.95,0.09 >, < 0,0,0 > } #declare computador_base = cone { < 0, 0, 0.2 >, 0, < 0, 0,0 >,0.3 } #declare cadeira = union { object{ base_cadeira translate < +0,+0,+0.8 > texture{ tx_cadeira } } object{ pe_cadeira translate < +0,+0,+0 > texture{ tx_cadeira } } object{ pe_cadeira translate < +0,+0.9,+0 > texture{ tx_cadeira } } object{ pe_cadeira translate < +0.9,+0,+0 > texture{ tx_cadeira } } object{ pe_cadeira translate < +0.9,+0.9,+0 > texture{ tx_cadeira } } object{ suporte_encosto translate < +0,+0,+1 > texture{ tx_cadeira } } object{ suporte_encosto translate < +0,+0.9,+1 > texture{ tx_cadeira } } object{ encosto_cadeira translate < +0,+0,+1.4 > texture{ tx_cadeira } } } #declare mesa = union { object{ base_mesa translate < +0,+0,+1 > texture{ tx_mesa } } object{ pe_mesa translate < +0,+0,+0 > texture{ tx_mesa } } object{ pe_mesa translate < +0,+2.4,+0 > texture{ tx_mesa } } object{ pe_mesa translate < +1.4,+0,+0 > texture{ tx_mesa } } object{ pe_mesa translate < +1.4,+2.4,+0 > texture{ tx_mesa } } } #declare computador = union { object{ computador_base translate < +0,+0.4,+0 > texture{ tx_fosca } } object{ computador_tela translate < -0.15,+0,+0.2 > texture{ tx_fosca } } object{ mouse translate < -0.5,-0.5,+0 > texture{ tx_fosca } } object{ teclado translate < -0.8,+0.15,+0 > texture{ tx_fosca } } } #declare conjunto = union { object{ cadeira translate <0, 1, 0> } object{ mesa translate < 2, 0, 0> } object{ computador translate < 3, 1, 1.2> } } #declare texto= text { ttf "arial.ttf" "UFMS" 0.1, 1 texture{tx_fosca} } #macro draw_conjunto(xi,yi,zi) object{ conjunto translate} #end #macro draw_line(n_of_chairs, missing_chair) #declare escala = 2.8; #local i = 0; union { #while (i < n_of_chairs) #if(i != missing_chair) draw_conjunto(0,i*escala,0) #end #declare i = i+1; #end } #end #macro draw_room (n_of_lines, n_of_chairs) #declare floor_room = box{ <3.9,n_of_chairs*2.9,0.2 >, < 0,0,0 > } #declare parede = box{ < 0.1,n_of_chairs*2.9,8 >, < 0,0,0 > } #local i = 0; #while (i < n_of_lines) object { floor_room translate <(-4*i)-0.2,-0.5,0.2*i> texture{ tx_chao }} object { draw_line(n_of_chairs, i) translate <-4*i, 0, (0.2*i)+0.2> } #declare i = i+1; #end object { parede translate <-4*i,0,0> texture{ tx_chao }} object { texto translate <-1.8*i,3,19> texture{ tx_fosca } rotate <90, 25, -90>} object { quadro translate <-1.5*i,3,19> texture{ tx_quadro } rotate <90, 0, -90>} #end union{ #declare n_of_lines = 5; #declare n_of_chairs = 4; draw_room(n_of_lines, n_of_chairs) } // object{ eixos(10.00) } // Original camera parameters: // #local cam_ctr = <0.00,0.00,1.00> // #local cam_vec = (<10.00,10.00,8.50>-<0.00,0.00,1.00>) // #local cam_sky = z #include "camlight.inc" camlight(<-6.00,6.00,3.00>,16.5,<10,8,7>,36.0,z,1.2)