// Last edited on 2009-10-10 19:46:57 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_cinza = 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_preto = texture{ pigment{ color rgb < 0, 0, 0 > } } #declare tx_branco = texture{ pigment{ color rgb < 1, 1, 1 > } finish{ diffuse 0.6 ambient 0.4 } } #declare tx_fosca = texture{ pigment{ color rgb < 1.00, 0.65, 0.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 articulacao= sphere{ < 0 , 0 , 0>, 0.2 texture{ tx_branco } } #macro pe() box{ < -0.2 , 0 , -0.3>, < 0.2 , 0.2, 0.6 > texture{ tx_branco } } #end #macro canela_com_pe(beta) union { object { cylinder { <0.0,0.0,0.0> , <0.0,1,0.0> , 0.15 texture{tx_branco} } } object { articulacao translate 1*y } object { pe() rotate -beta*x translate 1*y } } #end #macro perna(alfa, beta) union { object { cylinder { <0.0,0.0,0.0> , <0.0,0.7,0.0> , 0.15 texture{tx_branco} } } object { articulacao translate 0.7*y } object { canela_com_pe(beta) rotate alfa*x translate 0.7*y } } #end #macro asinha() cone { <0,0,0>, 0.15, <0, 0.8 ,0>, 0.05 texture{tx_branco} } #end #macro asa(alfa) union { object { cylinder { <0.0,0.0,0.0> , <0.0,0.8,0.0> , 0.15 texture{tx_branco} } } object { articulacao translate 0.8*y } object { asinha() rotate -alfa*x translate 0.8*y } } #end #declare corpo_galinha= sphere{ < 0.00, 0.00, 0.00 >, 1.0 texture{ tx_branco } } #macro galinha( ang_AD, ang_AE, ang_AsaAsinhaD, ang_AsaAsinhaE, ang_PMD, ang_AlfaPMD, ang_BetaPMD,ang_PME, ang_AlfaPME, ang_BetaPME, ang_PTD, ang_AlfaPTD, ang_BetaPTD,ang_PTE, ang_AlfaPTE, ang_BetaPTE, ang_PFD, ang_AlfaPFD, ang_BetaPFD,ang_PFE, ang_AlfaPFE, ang_BetaPFE, cabecaAngHoriz, cabecaAngVert, angPescocoCorpo) union { object { corpo_galinha scale <4,1.2,1.2> } object { articulacao translate <0,1,0.4> } object { asa (ang_AsaAsinhaD) rotate ang_AD*x translate <0,1,0.4>} object { articulacao translate <0,-1,0.4> } object { asa (ang_AsaAsinhaE) rotate 180*z rotate -ang_AE*x translate <0,-1,0.4>} object { articulacao translate <0,1,-0.4> } object {perna(ang_AlfaPMD,ang_BetaPMD) rotate -90*x rotate -90*z rotate ang_PMD*y translate <0,1,-0.4>} object { articulacao translate <0,1,-0.4> scale<1,-1,1> } object {perna(ang_AlfaPME,ang_BetaPME) rotate -90*x rotate -90*z rotate ang_PME*y translate <0,1,-0.4> scale<1,-1,1>} object { articulacao translate <-1.3 ,1,-0.4> } object {perna(ang_AlfaPTD,ang_BetaPTD) rotate -90*x rotate -90*z rotate ang_PTD*y translate <-1.3,1,-0.4>} object { articulacao translate <-1.3 ,1,-0.4> } object {perna(ang_AlfaPTE,ang_BetaPTE) rotate -90*x rotate -90*z rotate ang_PTE*y translate <-1.3,1,-0.4> scale<1,-1,1>} object { articulacao translate <1.3 ,1,-0.4> } object {perna(ang_AlfaPFD,ang_BetaPFD) rotate -90*x rotate -90*z rotate ang_PFD*y translate <1.3,1,-0.4>} object { articulacao translate <1.3 ,1,-0.4> } object {perna(ang_AlfaPFE,ang_BetaPFE) rotate -90*x rotate -90*z rotate ang_PFE*y translate <1.3,1,-0.4> scale<1,-1,1>} object { cabeca_com_pescoco(cabecaAngHoriz, cabecaAngVert) rotate -90*x translate<2.5,0,2.6> rotate angPescocoCorpo*y} } #end #declare cabeca= union { sphere{ < 0.00, 0.00, 0.00 >, 0.6 texture{ tx_branco } } object { sphere{ < 0.00, 0.00, 0.00 >, 0.1 texture{ tx_fosca } } translate <0.6,0,-0.2> } object { sphere{ < 0.00, 0.00, 0.00 >, 0.1 texture{ tx_fosca } } translate <0.6,0,0.2> } object { cone { <0 , 0 ,0>, 0.15 <1, 0 ,0>, 0 texture{tx_fosca} } translate<0,0.2,0> } } #macro cabeca_com_pescoco(ang_Horiz, ang_Vert) union { object{ cabeca rotate ang_Vert*z rotate ang_Horiz*y} object { articulacao scale 1.7 translate <0,0.7,0> } cone { <0,0.6,0>, 0.2 <0, 2.0,0>, 0.3 texture{tx_branco} } } #end union { object { galinha ( 60,60, 45,45, 20,40,20, 20,40,20, 20,40,20, 20,40,20, 20,40,20, 20,40,20, 15, 15, 5 ) translate <0,0,0> } object { galinha ( 90,90, 30,30, 0,0,0, 0,0,0, 0,0,0, 0,0,0, 0,0,0, 0,0,0, 5, -60, 5 ) // rotate 90*z translate <+5,-5,0> } object { galinha ( 60,60, 0,0, 20,40,20, 20,40,20, 20,40,20, 20,40,20, 20,40,20, 20,40,20, -60, 15, 5 ) translate <-5,+5,0> } } // Original camera parameters: // #local cam_ctr = <0.00,5.00,0.00> // #local cam_vec = ((1.5 *<14.00,7.00,3.50>)-<0.00,5.00,0.00>) // #local cam_sky = z #include "camlight.inc" camlight(<+0.30,-0.30,0.00>,10.0,<10,10,3>,40.0,z,1.2)