// MC930 A, S2 2003
// Autor: Leonel Aguilar Gayard
// RA 009103
// Data 31/07/2003
// Tema: poltrona com 5 objetos

// ======================================================================
// CÂMERA 

camera {
  location  <  10.00, -3.00, 5.00 >  // Posição do observador.
  right     -1.0*x                 // Largura RELATIVA da imagem.
  up        0.75*y                 // Altura RELATIVA da imagem.      
  sky       z                      // Qual direção é "para cima"?
  look_at   <  2.00, 2.00, 2.00 >  // Para onde a câmera está apontando.
} 
// Nota: os parâmetros "right" e "up" devem ter a mesma proporção
// que os parâmetros ${WIDTH} e ${HEIGHT} no Makefile.

// ======================================================================
// FONTES DE LUZ

light_source {
  10 * < +50.0, +30.0, +50.0 >              // Posição da lâmpada.
  color rgb 1.2 * < 1.00, 1.00, 1.00 >   // Intensidade e corda luz.
} 

light_source {
  10 * < +50.0, -10.0, +10.0 >             // Posição da lâmpada.
  color rgb 0.8 * < 1.00, 1.00, 1.00 >   // Intensidade e corda luz.
} 

// ======================================================================
// DESCRIÇÃO DA CENA 

background{ color rgb < 0.75, 0.80, 0.85 > }

#declare raio = 2.000;

#declare tinta_A = 
  texture {
    pigment { color rgb < 0.10, 0.80, 1.00 > }
    finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 }
  }
#declare tinta_B = 
  texture {
    pigment { color rgb < 0.10, 0.80, 1.00 > }
    finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 }
  }

#declare tinta_AZUL = 
  texture {
    pigment { color rgb < 0.00, 0.0, 1.00 > }
  }

#declare tinta_VERDE = 
  texture {
    pigment { color rgb < 0.00, 1.0, 0.00 > }
  }

#declare tinta_VERMELHA = 
  texture {
    pigment { color rgb < 1.00, 0.0, 0.00 > }
  }


  
#declare bola =
  sphere {
    < 0.00, 0.00, 0.00 >, 2.00 
    texture { tinta_A }
  }
  
#declare furo = 
  cylinder {
    < -1.00, -2.00, -2.00 >,
    < +1.00, +2.00, +2.00 >,
    1.50
    texture { tinta_B }
  }
  
#declare pino = 
  cylinder {
    < -2.00, +2.00, -1.00 >,
    < +2.00, -2.00, +1.00 >,
    0.75
    texture { tinta_B }
  }
  
// ---------------------------------------------------------------------------------
// AQUI TERMINA O ARQUIVO DO PROFESSOR E COMECA O MEU EXERCICIO

#declare costas_poltrona = 
   box {
     <0.7, 1.5, 1.5>,
     <1.2, 4, 3.5>
     texture { tinta_VERMELHA }
   }

#declare assento =
   box {
     <0.7, 1.5, 1.5>,
     <4, 4, 2>
     texture { tinta_VERMELHA }
   }

#declare braco_esquerdo = 
   cylinder {
     <1.5, 1.0, 2>,
     <4, 1.0, 2>,
     0.5
     texture { tinta_VERDE }
   }

#declare braco_direito  =
   cylinder {
  	<1.5, 4.5, 2>,
	<4, 4.5, 2>,
	0.5
	texture { tinta_VERDE }
   }

#declare base = 
   cone {
	<3, 2.8, 1.5>, 0.3
	<3, 2.8, 0.4>, 1.3
	texture { tinta_AZUL }
   }

union {
  object { costas_poltrona }
  object { assento }
  object { braco_esquerdo }
  object { braco_direito }
  object { base }
}