background{ color rgb < 1, 1, 1 > } #declare steel_1 = // aço texture{ pigment{ color rgb < 0.70, 0.70, 0.70 > } finish{ diffuse 0.5 ambient 0.1 brilliance 1 reflection 0.1 specular 0.2 roughness 0.5} } #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_2 = texture{ pigment{ color rgb < 0.30, 0.30, 0.30 > } finish{ diffuse 0.5 ambient 0.1 brilliance 1 reflection 0.15 specular 0.2 roughness 0.5} } #declare tx_xadrez = texture{ pigment{ checker color rgb < 0.10, 0.32, 0.60 >, color rgb < 1.00, 0.97, 0.90 > } finish{ diffuse 0.9 ambient 0.1 } scale 2.0 } #declare tx_4 = texture{ pigment{ color rgb < 0.25, 0.59, 0.04 > } finish{ diffuse 0.3 ambient 0.1 specular 0.5 roughness 1 } } #declare tx_woood = texture { pigment {color rgb <.52,.37,0.26>} finish{ diffuse 0.9} } #include "eixos.inc" #include "retalho.inc" #macro desenha (altura, largura, inclinacao) #local assento = array[4][4] #local assento[0][0] = <0,0 ,0>; #local assento[1][0] = <0,largura/3,0>; #local assento[2][0] = <0,2*largura/3,0>; #local assento[3][0] = <0,largura ,0>; #local assento[0][1] = <-1,0 ,-0.7>; #local assento[1][1] = <-1,largura/3,-0.7>; #local assento[2][1] = <-1,2*largura/3,-0.7>; #local assento[3][1] = <-1,largura ,-0.7>; #local assento[0][2] = <-1 - cos(radians(90-inclinacao)),0 ,sin(radians(90-inclinacao))>; #local assento[1][2] = <-1 - cos(radians(90-inclinacao)),largura/3 ,sin(radians(90-inclinacao))>; #local assento[2][2] = <-1 - cos(radians(90-inclinacao)),2*largura/3,sin(radians(90-inclinacao))>; #local assento[3][2] = <-1 - cos(radians(90-inclinacao)),largura ,sin(radians(90-inclinacao))>; #local assento[0][3] = <-1 - 2*cos(radians(90-inclinacao)),0 ,2*sin(radians(90-inclinacao))>; #local assento[1][3] = <-1 - 2*cos(radians(90-inclinacao)),largura/3,2*sin(radians(90-inclinacao))>; #local assento[2][3] = <-1 - 2*cos(radians(90-inclinacao)),2*largura/3,2*sin(radians(90-inclinacao))>; #local assento[3][3] = <-1 - 2*cos(radians(90-inclinacao)),largura ,2*sin(radians(90-inclinacao))>; #local perna = array[4][4] #local perna[0][0] = assento[0][0]; #local perna[1][0] = assento[1][0]; #local perna[2][0] = assento[2][0]; #local perna[3][0] = assento[3][0]; #local perna[0][1] = 2*assento[0][0] - assento[0][1]; #local perna[1][1] = 2*assento[1][0] - assento[1][1] ; #local perna[2][1] = 2*assento[2][0] - assento[2][1] ; #local perna[3][1] = 2*assento[3][0] - assento[3][1] ; #local perna[0][2] = <+0.6,0 ,-1>; #local perna[1][2] = <+0.6,largura/3,-1>; #local perna[2][2] = <+0.6,2*largura/3,-1>; #local perna[3][2] = <+0.6,largura ,-1>; #local perna[0][3] = <1.5,0 ,-1.5>; #local perna[1][3] = <1.5,largura/3,-1.5>; #local perna[2][3] = <1.5,2*largura/3,-1.5>; #local perna[3][3] = <1.5,largura ,-1.5>; #local braco = array[4][4] #local braco[0][0] = assento[3][0]; #local braco[1][0] = assento[3][1]; #local braco[2][0] = assento[3][2]; #local braco[3][0] = assento[3][3]; #local braco[0][1] = 2*assento[3][0] - assento[2][0]; #local braco[1][1] = 2*assento[3][1] - assento[2][1] ; #local braco[2][1] = 2*assento[3][2] - assento[2][2] ; #local braco[3][1] = 2*assento[3][3] - assento[2][3] ; #local braco[0][2] = <-1, largura+0.2, 0>; #local braco[1][2] = <-1, largura+0.2, 0.33>; #local braco[2][2] = <-1, largura+0.2, 0.66>; #local braco[3][2] = <-1, largura+0.2, 1>; #local braco[0][3] = <-0, largura+1, 1>; #local braco[1][3] = <-0.33, largura+1, 1>; #local braco[2][3] = <-0.66, largura+1, 1>; #local braco[3][3] = <-1, largura+1, 1>; union { object{retalho(assento,0, tx_woood, tx_plastico, 0,0,1,1) translate <0, 0, altura>} object{retalho(perna,0, tx_woood, tx_woood, 0,0,1,1) translate <0, 0, altura>} object{retalho(braco,0.0, tx_2, tx_2, 0,0,1,1) translate <0, 0, altura>} } #end #declare altu1 = 0; #declare larg1 = 0.5; #declare incl1 = 20; #declare altu2 = 1; #declare larg2 = 0.75; #declare incl2 = 45; union { //object{eixos(3)} object{desenha(altu1,larg1,incl1)} object{desenha(altu1,larg1,incl1) scale <1, -1.0, 1.0>} object{desenha(altu2,larg2,incl2)translate <0, larg1*4+5, 0>} object{desenha(altu2,larg2,incl2) scale <1, -1.0, 1.0> translate <0, larg1*4+5, 0> } } #include "camlight.inc" #declare centro_cena = < 0.00, 0.10, 0.00 >; #declare raio_cena = 10.0; #declare dir_camera = < 1, 1.00, 1.00 >; #declare dist_camera = 5*raio_cena; #declare intens_luz = 1.20; camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz)