// Last edited on 2023-12-28 15:31:46 by stolfi // Raio da grade debug: // #declare rdb = 0.02; #declare rdb = 0; background{ color rgb < 0.90, 0.80, 0.85 > } #include "retalho.inc" #macro poltronaGamer(c0,c1,c2,c3,c4,c5) union { #local cabeca = array[4][4]; #local encosto = array[4][4]; #local pes_pessoa = array[4][4]; #local pe1_cadeira = array[4][4]; #local pe2_cadeira = array[4][4]; #local apoio = array[4][4]; #local cabeca[0][0] = <0,0,3>; #local cabeca[0][1] = <0,1,3>; #local cabeca[0][2] = <0,2,3>; #local cabeca[0][3] = <0,3,3>; #local cabeca[1][0] = <1,0,6>; #local cabeca[1][1] = <1,1,6>; #local cabeca[1][2] = <1,2,6>; #local cabeca[1][3] = <1,3,6>; #local cabeca[2][0] = <2,0,0>; #local cabeca[2][1] = <2,1,0>; #local cabeca[2][2] = <2,2,0>; #local cabeca[2][3] = <2,3,0>; #local cabeca[3][0] = <4,0,2.5>; #local cabeca[3][1] = <4,1,2.5>; #local cabeca[3][2] = <4,2,2.5>; #local cabeca[3][3] = <4,3,2.5>; #local encosto[0][0] = <4,0,2.5>; #local encosto[0][1] = <4,1,2.5>; #local encosto[0][2] = <4,2,2.5>; #local encosto[0][3] = <4,3,2.5>; #local encosto[1][0] = <5,0,3.5>; #local encosto[1][1] = <5,1,3.5>; #local encosto[1][2] = <5,2,3.5>; #local encosto[1][3] = <5,3,3.5>; #local encosto[2][0] = <6,0,2>; #local encosto[2][1] = <6,1,2>; #local encosto[2][2] = <6,2,2>; #local encosto[2][3] = <6,3,2>; #local encosto[3][0] = <7,0,1.5>; #local encosto[3][1] = <7,1,1.5>; #local encosto[3][2] = <7,2,1.5>; #local encosto[3][3] = <7,3,1.5>; #local pes_pessoa[0][0] = <7,0,1.5>; #local pes_pessoa[0][1] = <7,1,1.5>; #local pes_pessoa[0][2] = <7,2,1.5>; #local pes_pessoa[0][3] = <7,3,1.5>; #local pes_pessoa[1][0] = <7.5,0,1>; #local pes_pessoa[1][1] = <7.5,1,1>; #local pes_pessoa[1][2] = <7.5,2,1>; #local pes_pessoa[1][3] = <7.5,3,1>; #local pes_pessoa[2][0] = <7,0,0.5>; #local pes_pessoa[2][1] = <7,1,0.5>; #local pes_pessoa[2][2] = <7,2,0.5>; #local pes_pessoa[2][3] = <7,3,0.5>; #local pes_pessoa[3][0] = <6.5,0,0.25>; #local pes_pessoa[3][1] = <6.5,1,0.25>; #local pes_pessoa[3][2] = <6.5,2,0.25>; #local pes_pessoa[3][3] = <6.5,3,0.25>; #local pe1_cadeira[0][0] = <6.5,0,0.25>; #local pe1_cadeira[0][1] = <6.5,1,0.25>; #local pe1_cadeira[0][2] = <6.5,2,0.25>; #local pe1_cadeira[0][3] = <6.5,3,0.25>; #local pe1_cadeira[1][0] = <6,0,0.15>; #local pe1_cadeira[1][1] = <6,1,0.15>; #local pe1_cadeira[1][2] = <6,2,0.15>; #local pe1_cadeira[1][3] = <6,3,0.15>; #local pe1_cadeira[2][0] = <5.5,0,0.05>; #local pe1_cadeira[2][1] = <5.5,1,0.05>; #local pe1_cadeira[2][2] = <5.5,2,0.05>; #local pe1_cadeira[2][3] = <5.5,3,0.05>; #local pe1_cadeira[3][0] = <5,0,0>; #local pe1_cadeira[3][1] = <5,1,0>; #local pe1_cadeira[3][2] = <5,2,0>; #local pe1_cadeira[3][3] = <5,3,0>; #local pe2_cadeira[0][0] = <5,0,0>; #local pe2_cadeira[0][1] = <5,1,0>; #local pe2_cadeira[0][2] = <5,2,0>; #local pe2_cadeira[0][3] = <5,3,0>; #local pe2_cadeira[1][0] = <4,0,0>; #local pe2_cadeira[1][1] = <4,1,0>; #local pe2_cadeira[1][2] = <4,2,0>; #local pe2_cadeira[1][3] = <4,3,0>; #local pe2_cadeira[2][0] = <3,0,0>; #local pe2_cadeira[2][1] = <3,1,0>; #local pe2_cadeira[2][2] = <3,2,0>; #local pe2_cadeira[2][3] = <3,3,0>; #local pe2_cadeira[3][0] = <2,0,0>; #local pe2_cadeira[3][1] = <2,1,0>; #local pe2_cadeira[3][2] = <2,2,0>; #local pe2_cadeira[3][3] = <2,3,0>; #local apoio[0][0] = <2,0,0>; #local apoio[0][1] = <2,1,0>; #local apoio[0][2] = <2,2,0>; #local apoio[0][3] = <2,3,0>; #local apoio[1][0] = <0.5,0,0.5>; #local apoio[1][1] = <0.5,1,0.5>; #local apoio[1][2] = <0.5,2,0.5>; #local apoio[1][3] = <0.5,3,0.5>; #local apoio[2][0] = <0.25,0,1>; #local apoio[2][1] = <0.25,1,1>; #local apoio[2][2] = <0.25,2,1>; #local apoio[2][3] = <0.25,3,1>; #local apoio[3][0] = <0,0,3>; #local apoio[3][1] = <0,1,3>; #local apoio[3][2] = <0,2,3>; #local apoio[3][3] = <0,3,3>; object{ retalho(cabeca, rdb, c0, 3) } object{ retalho(encosto, rdb, c1, 3) } object{ retalho(pes_pessoa, rdb, c2, 3) } object{ retalho(pe1_cadeira, rdb, c3, 3) } object{ retalho(pe2_cadeira, rdb, c4, 3) } object{ retalho(apoio, rdb, c5, 3) } } #end #macro poltrona_completa() union{ object{ poltronaGamer(cret0,cret1,cret2,cret3,cret4,cret5) } object{ poltronaGamer(cret2,cret3,cret4,cret5,cret6,cret7) scale <+1,-1,+1> } } #end #declare duas = false; #declare cmin = < -1.0, -4.0, -1.0 >; #declare cmax = < +9.0, +4.0, +7.0 >; object{ poltrona_completa() } #include "eixos.inc" #if (rdb > 0) object{ eixos(5.0) } #end #include "gaiola.inc" #if (rdb > 0) object{ gaiola(cmin,cmax) } #end #if (rdb = 0) object{ gaipiso(cmin,cmax) } #end #declare centro_cena = (cmin + cmax)/2; #declare raio_cena = 0.55*vlength(cmax-cmin); #declare dist_camera = 7*raio_cena; #include "camlight.inc" #declare dir_camera = < 7, 5, 3 >; #declare intens_luz = 1.20; camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz)