// Last edited on 2023-12-24 17:22:21 by stolfi background{ color rgb < 0.90, 0.87, 0.92 > } #declare tx_bug = texture{ pigment{ color rgb < 1.000, 0.300, 0.000 > } finish{ diffuse 0.5 ambient 0.5 } } #macro pata() object { box { < 0, -1, -0.2 >, < 2, 1, 0.2 > } } #end #macro submembro(b4) #local objeto = cylinder { < 0, 0, 0 >, < 0, 0, -5 >, 1 } #local subobjeto = object { pata() } union { object { objeto } object { subobjeto rotate b4*y translate < 0, 0, -5 > } } #end #macro membro(b3, b4) #local objeto = cylinder { < 0, 0, 0 >, < 0, 0, -5 >, 1 } #local subobjeto = object { submembro(b4) } union { object { objeto } object { subobjeto rotate b3*y translate < 0, 0, -5 > } } #end // b11 a b14: perna esquerda // b21 a b24: perna direita #macro tronco(b11, b12, b13, b14, b21, b22, b23, b24) #local objeto = cylinder { < 0, 0, 15 >, < 0, 0, 0 >, 5 } #local perna_esquerda = object { membro(b13, b14) } #local perna_direita = object { membro(b23, b24) } union { object { objeto } object { perna_esquerda rotate b11*y rotate b12*z translate < 0, 3, 0 > } object { perna_direita rotate b21*y rotate b22*z translate < 0, -3, 0 > } texture { tx_bug} } #end #declare DX = 10; #declare DY = 10; #declare DZ = 20; #declare cmin = < -DX, -2*DY, -DZ+6 >; #declare cmax = < +DX, +2*DY, +DZ >; #include "gaiola.inc" // object{ gaiola(cmin,cmax) } #include "eixos.inc" // object{ eixos(20.0) } object{ tronco(0, 0, 25, 25, 25, -25, 15, 25) translate -DY*y } object{ tronco(60, -30, 60, 20, -60, -30, 90, -30) translate +DY*y } #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.00, 2.00, 1.00 >; #declare intens_luz = 1.20; camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz)