background{ color rgb < 0.75, 0.80, 0.85 > } #include "eixos.inc" // Partes da cena: #declare cabeca = sphere { <0, 0, 0>, 1 pigment{ color rgb<0.8, 0.6, 0.3> } } #declare orelha1 = cone { <0, 0, 0>, 0.25 <0, -0.1, 0.5>, 0 pigment{ color rgb<0.8, 0.6, 0.3> } } #declare orelha2 = cone { <0, 0, 0>, 0.25 <0, 0.1, 0.5>, 0 pigment{ color rgb<0.8, 0.6, 0.3> } } #declare iris = sphere { <0, 0, 0> 0.3 pigment{ color rgb<0, 1, 0> } } #declare olhos = sphere { <0, 0, 0> 0.1 } #declare nariz = cone { <0, 0, 0>, 0 <0, 0, 0.2>, 0.2 } #declare pontacorpo = sphere { <0, 0, 0>, 0.9 pigment{ color rgb<0.8, 0.6, 0.3> } } #declare corpo = cylinder { <0, 0, 0>, <0, 0, 0.5>, 0.9 pigment{ color rgb<0.8, 0.6, 0.3> } } #declare relogio = cylinder { <0, 0, 0>, <0.2, 0, 0>, 0.4 pigment{ color rgb<1, 1, 1> } } #declare ponteiro1 = cylinder { <0, 0, 0>, <0, 0.28, 0.28>, 0.05 pigment{ color rgb<0, 0, 0> } } #declare ponteiro2 = cylinder { <0, 0, 0>, <0, 0, 0.25>, 0.05 pigment{ color rgb<0, 0, 0> } } #declare cilin = cylinder { <0, 0, 0>, <0, 0, -0.6>, 0.15 pigment{ color rgb<0.8, 0.6, 0.3> } } #declare cilin2 = cylinder { <0, 0, 0>, <0, 0, -1>, 0.15 pigment{ color rgb<0.8, 0.6, 0.3> } } #declare juncao = sphere { <0, 0, 0>, 0.15 pigment{ color rgb<0.8, 0.6, 0.3> } } #macro braco(etapam) union{ object{ cilin pigment{ color rgb<0.8, 0.6, 0.3> } } object{ mao() rotate etapam*y translate<0, 0, -0.6>} object{ juncao translate<0, 0, -0.6>} } #end #macro mao() object{ cilin pigment{ color rgb<0.8, 0.6, 0.3> } } #end #macro perna(etapaantper, etapape) union{ object{ cilin2 pigment{ color rgb<0.8, 0.6, 0.3> } } object{ antperna(etapape) rotate etapaantper*y translate<0, 0, -1>} object{ juncao translate<0, 0, -1>} } #end #macro antperna(etapape) union{ object{ cilin2 pigment{ color rgb<0.8, 0.6, 0.3> } } object{ pe() rotate etapape*y translate<0, 0, -1>} object{ juncao translate<0, 0, -1>} } #end #macro pe() object{ cilin pigment{ color rgb<0.8, 0.6, 0.3> } } #end #macro gato(etapab, etapam, etapaperna, etapaantper, etapape) union{ object{ cabeca translate<0, 3, 5>} object{ orelha2 translate<0, 3.4, 5.8> } object{ orelha1 translate<0, 2.6, 5.8> } object{ iris translate<0.6, 3.15, 5.4> } object{ iris translate<0.6, 2.85, 5.4> } object{ olhos translate<0.8, 3.2, 5.5> } object{ olhos translate<0.8, 2.8, 5.5> } object{ nariz translate<0.9, 3, 5> } object{ pontacorpo translate<0, 3, 3.5> } object{ pontacorpo translate<0, 3, 3> } object{ corpo translate<0, 3, 3> } object{ relogio translate<0.7, 3, 3.6> } object{ ponteiro1 translate<0.9, 3, 3.7> } object{ ponteiro2 translate<0.9, 3, 3.7> } object{ braco(etapam) rotate etapab*y translate< 0, 4, 3.6>} object{ juncao translate<0, 4, 3.6>} object{ braco(etapam) rotate etapab*y translate< 0, 2, 3.6>} object{ juncao translate<0, 2, 3.6>} object{ perna(etapaantper, etapape) rotate etapaperna*y translate< 0, 3.5, 2.5>} object{ perna(etapaantper, etapape) rotate etapaperna*y translate< 0, 2.5, 2.5>} } #end // Corpo fixo: object{ gato(-30, -100, -80, 50, -80)} object{ gato(20, -60, -50, 50, -40) translate<0, 4, 0>} #include "camlight.inc" #declare centro_cena = < 0.00, 4.00, 4.00 >; #declare raio_cena = 10.0; #declare dir_camera = < 8.00, 4.00, -1.00 >; #declare dist_camera = 14.0; #declare intens_luz = 1.00; camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz)