// Exercicio 7 de MC930 para POV-ray
// Last edited on 2000-11-16 12:10 by Alencar Junior
// RA: 950060
#include "textures.inc"
#include "colors.inc"

background { Black }
//color rgb <0,0,0> }
  light_source { <-4.9, 19.9, -7.9>
    color rgb <1,1,1> }


camera {
  location  < 10, 5.00, -20.00 >
  right     < 2.40, 0.00, 0.00 >
  up        < 0.00, 0.00, 1.80 >
  sky       < 0.00, 1.00, 0.00 >
  look_at   < 2.00, 2.00, 0.00 >
} 

#declare espessura =2;
#declare amarelado = color rgb (1.0/espessura)*<1,1,0>;
#declare amarelado2 = color rgb (1.0/10)*<1,1,0>;
#declare avermelhado = color rgb (1000/espessura)*<1,0,0>;

# declare crista =
  box {
    <0,0,0>
    <0.5,1,2>
    hollow
    pigment { color rgbt < 1,1,1,1> }
    interior{
      media { emission color amarelado }
    }
  }

# declare cabeca =
  merge {
    sphere {                         // cabeca
      < 0.00, 0.00, 0.00 >, 2.00
      hollow
      pigment { color rgbt < 1,1,1,1> }
      interior{
        media {emission color amarelado }
      }
    }
    cone {             // bico
      <0, 0, -4>, 0    // Center and radius of one end
      <0, 0, -1>, 1.0    // Center and radius of other end
      hollow
      pigment { color rgbt < 1,1,1,1 > }
      interior {
        media { emission color avermelhado}
      }
    }
    cylinder {               // olho esquerdo
    < 1.00, 1.00, -1.00 >,
    < 1.00, 1.00, -1.50 >,
    0.3
    hollow
      pigment { color rgbt < 1,1,1,1 > }
      interior {
        media { emission color avermelhado}
      }
    }

    cylinder {              // olho direito
    < -1.00, 1.00, -1.00 >,
    < -1.00, 1.00, -2.00 >,
    0.3
    hollow
      pigment { color rgbt < 1,1,1,1 > }
      interior {
        media { emission color avermelhado}
      }
    }

    object {crista translate <0.25,1.5,-1>}
   // object {crista
   //           rotate y*45
   //           translate <0.25, 1.5, 1.5>}
    //object {crista
   //           rotate y*60
   //           translate <0.25, 1.5, 3>}	
  }

#declare corpo =
  sphere {
      < 0.00, 0.00, 0.00 >, 4.00
      hollow
      pigment { color rgbt < 1,1,1,1> }
      interior{
        media { emission color amarelado }
      }
    }

#declare perna =
   cylinder {
    < 0.00, 0.00, 0.00 >,
    < 0.00, -4.00, 0.00 >,
    1
    hollow
      pigment { color rgbt < 1,1,1,1 > }
      interior {
        media { emission color amarelado}
      }
    }

#declare galinha =
merge {
  object {cabeca
          translate <0, 6, 0>}
  object {corpo}
  object {perna translate <2,-3,0>}
  object {perna translate <-2,-3,0>}
}

#declare ambiente=
  box {
  <-5,-20,-8>
  <5,20,8>
  hollow
      pigment { color rgbt < 1,1,1,1 > }
      interior {
        media { scattering {1, color amarelado2}}
      }
  }


object {galinha}
object {ambiente}